2,021 karma · joined July 3, 2010
Want to know what changed between 10.1 and 11? Or 10.0 and 10.1? It’s all right there, summarized by the people who did the work.
The second thing is that I’m not necessarily talking about whether _a specific LLM itself_ infringes copyright, but whether _its output_ is covered by the copyright of _its training material_. Whether training an LLM is an activity that infringes copyright is not well-settled in any precedential way, whether the trained LLM as an artifact infringes copyright is even less settled, and whether the output of that LLM is either infringing or covered by copyright is also not settled. These are all still extremely open questions.
That means anyone doing reasonable risk management should not just blithely race ahead and assume that there’s no infringement, which appears to be the approach the GCC project is taking explicitly and which also appears to be the approach projects like Linux and LLVM are taking implicitly (mostly through weasel-language like accepting responsibility for code you’re submitting).
Anthropic is trying to settle the case with most plaintiffs with respect to obtaining their works in an infringing way, but there are still plaintiffs pursuing the case on both the grounds that the remedy is insufficient (being only about $3000/work, when it has been as high as $250K/work in other copyright infringement cases and via statutory damages) and also on the grounds that the ruling that training is fair use was an error of law on the district court judge’s part.
Notably it doesn’t cover whether the output of the trained LLM continues to attach the training set’s copyright, which is independent from whether the training itself was an infringing activity. And there’s a substantial argument that the judge erred, if it can be shown that the training works are stored in a recoverable manner (even with some loss/defredation) rather than more extensively transformed.
Of course, not long after starting GNU, Stallman got caught copying code from Unipress emacs sources into the then-new GNU emacs sources. Oops! That’s why it was difficult for quite a long time to find early GNU emacs sources online—they were purged from various archives because they were infringing.
Someone tried to contribute “vibe-coded” device support to a project I’m involved with, they said they did it all based on the device documentation, the code their agents spit out was copied verbatim out of a (GPL’d) project with which I’m familiar which supports that device.
LLMs are not learning things and then using that learning to construct new things. They are essentially a form of lossy compression of their training set. And you don’t need to be explicit about trying to reproduce a portion of that training set for an LLM to output one.
Furthermore, I don’t think you can really assume that the courts will rule a certain way on this just because of the money involved; there’s a lot of money involved when it comes to the copyright holders too, and they’ve long enjoyed a rather favorable status with the courts and legislators. (For example, in the days of P2P file sharing lawsuits and attempts to legislate P2P file sharing, the software industry was already many times the size of the media industry, but the media industry consistently won.)
If you can produce a properly structured submission to the App Store ingestion pipeline without using a Mac, then I doubt Apple will care. But that doesn’t mean they’re obligated to help you, and especially not to spend millions of dollars to do so.
You can develop for Linux and BSD and Haiku and all sorts of other platforms for free. If the cost is what matters to you, then just do that. If you’re doing it as a business, though, consider that you’re extremely lucky to be able to just buy a low-end device and a low-end system and that’s all the capital investment needed (plus the US$100/year membership as recurring opex).
Most of the problems that I saw people have with Xcode over the two decades that I worked on it were the result of one fundamental problem: They wanted to work a different way than Xcode is designed to work, and jumped through a ton of hoops to do so, and then blamed Xcode for not accommodating their intentional working at cross-purposes.
A good example: An app that considered itself “large” because it had a thousand tiny static library targets each with only one to three or so ObjC classes. Far smaller than Xcode itself, but because they insisted on working that way—for no real articulable benefit besides “that’s how we want to work”—their project took hours to build from scratch instead of minutes like much larger projects that have many fewer targets.