I really don't get those takes. AI is the best thing that ever happened to the Free Software world, it is basically turning any software into Free Software. You can just throw file formats, protocols or even plain binaries at the AI and it'll reverse engineer everything in a pinch. Users can finally modify software themselves, which was always the goal of the Free Software world, but very rarely happened in actuality, since it was just so damn complicated. AI lowered the barrier of entry tremendously, not just in terms of required knowledge, but especially time. Same with Creative Commons, sharing art and stuff, was a nice gesture, but rarely useful, since the level of work to modify a work to fit your project was pretty close to just doing it from scratch anyway. With AI everybody can toy around with image generators and get what they want.
Is a social contract being broken? Yeah, kind of, but the problems that that contract existed to solve are no longer a thing. Creation is now easy and commodified. We finally have computer we can interact with in natural language, something people tried to do for at least 70 years and never made any significant progress on until LLM arrived.
If you want to gatekeep or only create stuff to boost your own ego or portfolio, then AI might be an issue, if you actually want to build stuff, AI is godsend. We are essentially living in the StarTrek future with Holodecks and replicators and people still find reason to complain.
> If you want to gatekeep or only create stuff to boost your own ego or portfolio, then AI might be an issue, if you actually want to build stuff, AI is godsend.
Exactly this. I've been very confused by the free software advocates that seemed to hate AI until I realized their reasons for releasing software under an open source license were very different than what I assumed they were.
I release my code as free software for two reasons:
1. The credits for my code are protected (with the GPL you have to tell where your code originates from). That's the ego part. It's important to me because I'm not paid for my software. So credits are an important reward.
2. I want people to think twice about reusing my code. I use the GPL license because I think sharing software is the ultimate goal. So I force people to share my software by using the GPL. That may sound "extreme" (that's the whole open source vs free software debate) but, not being a full time politician, I can't change laws to push society in the direction I want. At my level, that "push" is the GPL choice. Maybe it's not noble enough, maybe it's cowardice, but it's my way (compare that with those who simply don't care).
AI severely weakens both of these. And for people like me, this forces us to reconsider our position. For my part, I accept the legal point of view that A.I. doesn't steal code, and just reproduces the ideas in the code. So, as far as ideas can flow in society, I'm OK with that (that's the principle behind copyright laws).
If AI has its way, one day one will not need to write software, we'll just ask the AI. In that case, software will be dead and free software will die with it too. By then I'll do my "local politics" another way and follow the next RMS.
> A.I. doesn't steal code, and just reproduces the ideas in the code
Then they don't need to train on github, no? Why not release a new model trained from Knuth's Art of Programming, Cormen's Introduction to Algorithms and the C specification.
Feel free to throw in any other published literature related to STEM, but stick to the code samples from the books.
I'm certain it'll be able to change the color of a CSS button, right?
What you said doesn't disagree with what the parent said.
LLM can be trained on a code and at the same time reproduce the core ideas. That's what LLMs do after all - they convert the training data into their own internal models and representations, and then reproduce the ideas.
Sure, some things/patterns, that were repeated multiple times, LLMs will tend to repeat verbatim as well, but that's not that big of a problem.
As a person who invented a few algorithms on my own I absolutely love LLMs and I don't mind them being trained on my work, but yeah - I've been way less likely to publish open source over the last year. In the past, if some of my stuff got traction, the credit was close to automatic (early adopters credited or at least knew where they got it from). Nowadays, LLMs will train on these ideas, rewrite them, and give no credit.
Still, I prefer this to having no LLMs at all.
> but stick to the code samples from the books.
> I'm certain it'll be able to change the color of a CSS button, right?
A good enough LLM will just decompile a browser, figure out CSS spec from it, and yes - figure out how to change the color of a CSS button from first principles. There is no point to do this with CSS, but with other things it's now easier to just dig through sorces or direct bytecode than to bother checking docs.
Plenty of software on the internet on fully open license (e.g. MIT, copyleft and so on) to train on.
Also, it would be relatively easy to build synthetic datasets for training.
I, for one, don’t mind models being trained on stuff I produced and shared publicly over the last 20 years. I did it for common good, including commercial uses, and this is one of them.
Plenty of people who never produced any open source trying to argue as if if they did.
To be fair, you also don't restrict yourself to those texts either. You read news, you use other programs, you look at websites and so on. And while the norms vary per field, things aren't really reinvented from scratch. The standard FPS controls aren't reinvented for every shooter game. The standard website layouts aren't reinvented for every website. The standard command line behaviour isn't reinvented for every CLI program and so on.
But software isn't like traditional academia. It might have grown from it but most advances aren't really published in the traditional sense, you've got blogposts, presentations and source code instead.
This would be like teaching cooking without looking at any recipes, just from physics and first principles. Or learning music without looking at the sheet music / listening to any existing songs, just generic musical theory and chords. I don't think humans can do it "zero-shot" either...
I don't see how this disproves my point. There's a vast divide between "theoretical" and "applied" software engineering. You don't usually see Google engineers publish their search optimisations in journals. And similarly, you don't see university professors making commercial libraries from their articles' ideas. This isn't the case in every field but in software, it very much is.
And this implies that training on the "theoretical" side of things doesn't give you much insight on the "practical" side. Stuff like cyclomatic complexity, UML diagrams and all that stuff might be well-represented in literature but way less so in real software, so training on the literature will produce completely different software than training on production software code.
> Then they don't need to train on github, no? Why not release a new model trained from Knuth's Art of Programming, Cormen's Introduction to Algorithms and the C specification.
Because they're really really stupid and only make up for this by being really really stupid really really fast.
This has been ruled, by actual courts, to not be "stealing" (not even in the "you wouldn't steal a car, piracy is theft" sense that film and music studios campaigned on).
The last I heard was the "Chinchilla" scaling law was ~20 training tokens per parameter. Humans are, if you'll excuse a very hand-waving Fermi estimate, 100,000 times more data-efficient at learning stuff (it's really hard to tell given we're visual creatures that happen to speak, while LLMs are text-based things that happen to see).
> "Why not release a new model trained from Knuth's Art of Programming, Cormen's Introduction to Algorithms and the C specification."
What makes you think that wouldn't work? I think a lot of the hype around AI is vastly overblown but that seems to be well within the scope of what they can be expanded to do in the not too distant future. AlphaGo was trained through self-play reinforcement learning IIRC and I don't really see a reason that some sort of equivalent couldn't be done for generating code starting with textbooks and access to a Linux CLI as a reference. It would be an interesting experiment at least.
You say that sharing the software is the ultimate goal, but you're using that argument to justify not sharing your software. That's hard for me to understand.
I also don't think that just because you have to ask AI to write the software, free software will die. Because people don't understand their own requirements, I don't think we're going to get to a place where AI can one-shot, even moderately complex software, and so creating software will continue to be some effort. I fully expect that the norm will become that we give away free software and expect other people to pick it up and tune it to their own needs with their AI. But that doesn't mean that free software is dead. It means it evolves.
Something where the person that is going to be using it can't easily define the full set of requirements in one go because they're going to need to interact with it first, and subsequent requirements will emerge after use. The limitation in this case will not be the AI's ability to implement what was requested. It will be the human's ability to articulate what success looks like.
Well yes, if you can’t articulate what you need then it’s hard for anyone to build it right on the first try.
Otoh I’d say the current models are better at predicting expectations than average programmers. Average programmers don’t know ux or business, LLMs do.
> The credits for my code are protected (with the GPL you have to tell where your code originates from)
But that's literally anathema to the spirit of GPL. Copyleft exists only as a reaction to copyright which is sadly ingrained in legal systems, but the original thought about free software, at the time of GPL inception, is that in an ideal world, copyright shouldn't exist for software ; it's leveraged by GPL only to protect against abuse of copyright holders that could close open code, which is thus made impossible "legally" with the GPL. AI makes this distinction fal into "practically" as pretty much anything is "open" for individual use now (e.g the only use that matters).
Attribution and copyright are separate. Who says that, even if copyright didn't exist for software, attribution also wouldn't?
If anything, the remark that I have to make to the parent is that in principle attribution is also required by non-copyleft licenses. However, I doubt it's respected for the hundreds of crates or npm modules in a typical Rust or JavaScript project...
Even the true copyright abolitionists (who want companies like Oracle to be able to fork their software and make a billion dollars releasing the binaries) still use MIT license which requires attribution.
I'm a copyright abolitionist, but I think Oracle should be required to release the source code with their binaries as a basic consumer protection. I also don't care about attribution.
grumbel · · focus · HN ↗
Is a social contract being broken? Yeah, kind of, but the problems that that contract existed to solve are no longer a thing. Creation is now easy and commodified. We finally have computer we can interact with in natural language, something people tried to do for at least 70 years and never made any significant progress on until LLM arrived.
If you want to gatekeep or only create stuff to boost your own ego or portfolio, then AI might be an issue, if you actually want to build stuff, AI is godsend. We are essentially living in the StarTrek future with Holodecks and replicators and people still find reason to complain.
rpdillon · · focus · HN ↗
Exactly this. I've been very confused by the free software advocates that seemed to hate AI until I realized their reasons for releasing software under an open source license were very different than what I assumed they were.
wiz21c · · focus · HN ↗
1. The credits for my code are protected (with the GPL you have to tell where your code originates from). That's the ego part. It's important to me because I'm not paid for my software. So credits are an important reward.
2. I want people to think twice about reusing my code. I use the GPL license because I think sharing software is the ultimate goal. So I force people to share my software by using the GPL. That may sound "extreme" (that's the whole open source vs free software debate) but, not being a full time politician, I can't change laws to push society in the direction I want. At my level, that "push" is the GPL choice. Maybe it's not noble enough, maybe it's cowardice, but it's my way (compare that with those who simply don't care).
AI severely weakens both of these. And for people like me, this forces us to reconsider our position. For my part, I accept the legal point of view that A.I. doesn't steal code, and just reproduces the ideas in the code. So, as far as ideas can flow in society, I'm OK with that (that's the principle behind copyright laws).
If AI has its way, one day one will not need to write software, we'll just ask the AI. In that case, software will be dead and free software will die with it too. By then I'll do my "local politics" another way and follow the next RMS.
za_creature · · focus · HN ↗
Then they don't need to train on github, no? Why not release a new model trained from Knuth's Art of Programming, Cormen's Introduction to Algorithms and the C specification.
Feel free to throw in any other published literature related to STEM, but stick to the code samples from the books.
I'm certain it'll be able to change the color of a CSS button, right?
kolinko · · focus · HN ↗
LLM can be trained on a code and at the same time reproduce the core ideas. That's what LLMs do after all - they convert the training data into their own internal models and representations, and then reproduce the ideas.
Sure, some things/patterns, that were repeated multiple times, LLMs will tend to repeat verbatim as well, but that's not that big of a problem.
As a person who invented a few algorithms on my own I absolutely love LLMs and I don't mind them being trained on my work, but yeah - I've been way less likely to publish open source over the last year. In the past, if some of my stuff got traction, the credit was close to automatic (early adopters credited or at least knew where they got it from). Nowadays, LLMs will train on these ideas, rewrite them, and give no credit.
Still, I prefer this to having no LLMs at all.
> but stick to the code samples from the books. > I'm certain it'll be able to change the color of a CSS button, right?
A good enough LLM will just decompile a browser, figure out CSS spec from it, and yes - figure out how to change the color of a CSS button from first principles. There is no point to do this with CSS, but with other things it's now easier to just dig through sorces or direct bytecode than to bother checking docs.
za_creature · · focus · HN ↗
Can it decompile a browser using a specification of x86 and the source code of the compiler?
e.g. without training on the source code and binaries of all software it was able to rip from the internet?
kolinko · · focus · HN ↗
Also, it would be relatively easy to build synthetic datasets for training.
I, for one, don’t mind models being trained on stuff I produced and shared publicly over the last 20 years. I did it for common good, including commercial uses, and this is one of them.
Plenty of people who never produced any open source trying to argue as if if they did.
za_creature · · focus · HN ↗
Feel free to put your code in the public domain, open source is a distinct contract.
Pannoniae · · focus · HN ↗
za_creature · · focus · HN ↗
Just skip the source code. Consider it an easier challenge than reinventing relativity from 19th century physics.
Pannoniae · · focus · HN ↗
This would be like teaching cooking without looking at any recipes, just from physics and first principles. Or learning music without looking at the sheet music / listening to any existing songs, just generic musical theory and chords. I don't think humans can do it "zero-shot" either...
za_creature · · focus · HN ↗
<a href="https://dl.acm.org/" rel="nofollow">https://dl.acm.org/
Pannoniae · · focus · HN ↗
And this implies that training on the "theoretical" side of things doesn't give you much insight on the "practical" side. Stuff like cyclomatic complexity, UML diagrams and all that stuff might be well-represented in literature but way less so in real software, so training on the literature will produce completely different software than training on production software code.
za_creature · · focus · HN ↗
<a href="https://patentimages.storage.googleapis.com/db/8f/cb/dad63e985797ec/US7058628.pdf" rel="nofollow">https://patentimages.storage.googleapis.com/db/8f/cb/dad63e9...
I'm going to stop arguing with you now.
ben_w · · focus · HN ↗
Because they're really really stupid and only make up for this by being really really stupid really really fast.
This has been ruled, by actual courts, to not be "stealing" (not even in the "you wouldn't steal a car, piracy is theft" sense that film and music studios campaigned on).
The last I heard was the "Chinchilla" scaling law was ~20 training tokens per parameter. Humans are, if you'll excuse a very hand-waving Fermi estimate, 100,000 times more data-efficient at learning stuff (it's really hard to tell given we're visual creatures that happen to speak, while LLMs are text-based things that happen to see).
za_creature · · focus · HN ↗
[dead]
jazzypants · · focus · HN ↗
ThrowawayR2 · · focus · HN ↗
What makes you think that wouldn't work? I think a lot of the hype around AI is vastly overblown but that seems to be well within the scope of what they can be expanded to do in the not too distant future. AlphaGo was trained through self-play reinforcement learning IIRC and I don't really see a reason that some sort of equivalent couldn't be done for generating code starting with textbooks and access to a Linux CLI as a reference. It would be an interesting experiment at least.
rpdillon · · focus · HN ↗
I also don't think that just because you have to ask AI to write the software, free software will die. Because people don't understand their own requirements, I don't think we're going to get to a place where AI can one-shot, even moderately complex software, and so creating software will continue to be some effort. I fully expect that the norm will become that we give away free software and expect other people to pick it up and tune it to their own needs with their AI. But that doesn't mean that free software is dead. It means it evolves.
kolinko · · focus · HN ↗
rpdillon · · focus · HN ↗
kolinko · · focus · HN ↗
Otoh I’d say the current models are better at predicting expectations than average programmers. Average programmers don’t know ux or business, LLMs do.
jcelerier · · focus · HN ↗
But that's literally anathema to the spirit of GPL. Copyleft exists only as a reaction to copyright which is sadly ingrained in legal systems, but the original thought about free software, at the time of GPL inception, is that in an ideal world, copyright shouldn't exist for software ; it's leveraged by GPL only to protect against abuse of copyright holders that could close open code, which is thus made impossible "legally" with the GPL. AI makes this distinction fal into "practically" as pretty much anything is "open" for individual use now (e.g the only use that matters).
<a href="https://www.gnu.org/philosophy/fsfs/rms-essays.pdf" rel="nofollow">https://www.gnu.org/philosophy/fsfs/rms-essays.pdf
bonzini · · focus · HN ↗
If anything, the remark that I have to make to the parent is that in principle attribution is also required by non-copyleft licenses. However, I doubt it's respected for the hundreds of crates or npm modules in a typical Rust or JavaScript project...
za_creature · · focus · HN ↗
Given the supposed commoditization of intelligence and recent memory prices, I'd say LLMs are literally anathema to the spirit of the GPL.
intrasight · · focus · HN ↗
Spirits don't get much legal protection.
za_creature · · focus · HN ↗
mitxela · · focus · HN ↗
intrasight · · focus · HN ↗
mitxela · · focus · HN ↗
mitxela · · focus · HN ↗
ndriscoll · · focus · HN ↗