If you want a mental metaphor of what the vast body of GPL'ed code is, think of a very, very large multinational corporation.
If you want to use their code, you have to join the company. Fortunately for you, all you have to do to join the company is to agree to use the same license for you own code as the company already does. If you agree to that, you are free to use any or all of the code "owned" by the company.
However, if you do not agree to the company's terms - i.e. you wish to use a different license - then you are not a part of the company and have no legal right to use any of the company's code. You may of course continue with your own software, but you cannot benefit from the amassed resource that is the company's own code (though of course reading it is allowed).
The body of gpl code is absolutely a commons. I don't know why you imagine otherwise unless you're confused about public domain or something.
There is no joining any company or anything remotely like that no matter how hard you try to squint. The single rule in GPL is no more than any other usage-of-commons rule like don't pee in the pool or litter in the park.
The park is still free for anyone to use, you just can't fence off a part for yourself and start operating your tire-burning business in it. The body of people who either first donated it or the tax payers who voted for it set some terms for usage, and now you can either enjoy the goods under those terms or not.
But what's interesting is how some people have this kind of reaction and try to come up with this kind of argument over the act of being generous.
Are you sure GPL isn't even worse than you said? Why be so nice? Are you sure it doesn't also eat babies?
You cannot (re)use any GPL code unless you agree to license your own code under the GPL.
You and I may agree that the terms of the GPL are essentially just a way of protecting the commons. I happen to spend quite a bit of time on HN and elsewhere debunking people who cite Hardin's "tragedy of the commons" precisely because that whole story ignores the fact that real commons have historically been managed with a variety of social and civic techniques.
However, precisely because of this widespread repeating of Hardin's use of the term "commons", I tend to doubt that random mentions on HN of "the commons" actually means "a carefully socially and civically managed resource available to all but notionally protected from abuse". Rather, it does indeed tend to be a synonym for "public domain".
BTW, I've been writing GPL'ed code for more than 35 years, and for the last 25+ years, it has been my full-time self-employed means of making a living.
> "a carefully socially and civically managed resource available to all but notionally protected from abuse".
no it seems that you've just been triggered - I did mean it in the above sense. that's why it's offensive when somebody takes gpl code and puts it in proprietary code that they distribute.
public domain means do as you want, even burn tyres in the park.
"BTW, I've been writing GPL'ed code for more than 35 years, and for the last 25+ years, it has been my full-time self-employed means of making a living."
That is embarassing for such a self professed domain expert to say something as ridiculous as:
"You cannot (re)use any GPL code unless you agree to license your own code under the GPL."
I still don't hear an argument that actually shows how it's not a commons. If you're just arbitrarily declaring it actually means "public domain" I say you don't get to declare that and inventing your own definitions for terms is not a valid argument or even valid comminication, and there is no further point in attempting to communicate with anyone doing that.
I'm not making up my own definitions. I'm contrasting Garrett Hardin's use of the term in his famous book "Tragedy of the Commons", which is the way most people on HN use it with Elinor Ostrom's much more enlightened definition of it in her refutations of Hardin's claims (refutations that Hardin has accepted).
In Ostrom's sense, yes, GPL'ed code comprises a commons. In Hardin's sense, it does not (or at least, it has a bunch of features to it that render his entire thesis about commons inapplicable).
I think it does fit "a bunch of resources that people can just use". It's a shared pool where the only rule is to put derived code back, except the rule is even less because personal use is exempted.
You want to use gpl code go right ahead. Want to modify it? No problem. Ignore the optional license. It isn’t a usage license.
I make changes to gpl code all the time. I never release the changes because my coding is far too embarrassing. Nobody forces me to release anything. I can and do compile it with gpl incompatible links, not a problem.
If you want a mental metaphor of what the vast body of GPL'ed code is, think of a very, very large multinational corporation.
If you want to use their code, you have to join the company. Fortunately for you, all you have to do to join the company is to agree to use the same license for you own code as the company already does. If you agree to that, you are free to use any or all of the code "owned" by the company.
However, if you do not agree to the company's terms - i.e. you wish to use a different license - then you are not a part of the company and have no legal right to use any of the company's code. You may of course continue with your own software, but you cannot benefit from the amassed resource that is the company's own code (though of course reading it is allowed).