Post

I'm sharing this because it's quite a stark demonstration of what's possible using the latest frontier LLMs at the tail end of 2025 Is it a GOOD idea to churn out a 9,000 line direct port while watching Daniel Craig chew on the scenery? That's a whole other set of questions!

When I wrote about my JustHTML port from Python to JavaScript last month I chickened out and finished the post with some open questions - I've now made an attempt at providing my own answers to those questions here: simonwillison.net/2026/Jan/11/...

simonwillison.netMy answers to the questions I posed about porting open source code with LLMsLast month I wrote about porting JustHTML from Python to JavaScript using Codex CLI and GPT-5.2 in a few hours while also buying a Christmas tree and watching Knives Out …

0 reposts13 likes

This raises a funny question, what if someone tricks AIs to copy an entire library line by line, would they own it? This could be done to say, bypass the GPLv3 license.

There's a whole sub-set of questions around this that I haven't even started to explore yet about copyright laundering - you can do tricks like feeding a GPL library into Claude and asking it to write a detailed spec, then feeding that spec into another Claude and asking for a fresh implementation

One argument I've seen against this kind of contribution is that people start making PRs full of slop content that doesn't work, but it takes time to determine it doesn't work, and the added effort this requires from maintainers slows down the acceptance of actual useful contributions

Yeah exactly, so that feels like a large part of the weighting when open-source maintainers are determining their stance on LLM-assisted contributions, and can help explain a lot of the reluctance towards endorsing it

(IANAL) Early rulings would suggest the copyright part is in a *truly* wild new bit of territory, in that the initial rulings around art stuff (IIRC including the one with Anthropic last year) landed on the work being transformative, fair use… and *uncopyrightable*. We have some figuring out to do.

If that holds, the fact that you or I or whoever else puts transformative effort in ends up being completely irrelevant and OH BOY is that going to make for some bonkers things.

I was never planning on using a mainly unreviewed vibe coded HTML parser for anything that mattered, but the differences described there don't seem to be particular surprising or critically important to me

I'd missed that article but it didn't particularly surprise me - in all of these projects the goal for the agent was more to hack around until the test pass as opposed to a line-by-line port of the library that was being imitated On that basis it's not surprising to see weird differences Iike that