The people who campaign for GPL software authors to change their license seem to assume that the authors of the software naively chose the GPL, as opposed to choosing it for its particular spirit.
That's really important distinction that people don't realize about the GPL - it's designed to protect the rights of the END USERS. And that's great when the end user is you and me, but it's also not surprising that we, as developers, will happily throw end user rights under the bus if we think we can make some money (e.g. SaaS, app stores, etc.) or profit otherwise.
"The people who campaign for GPL software authors to change their license seem to assume that the authors of the software naively chose the GPL, as opposed to choosing it for its particular spirit."
Sometimes they do. I've seen it happen more than once where developers chose the GPL, were asked to change it and then did saying they only chose the GPL because it seemed like a decent default because that's what Linux or whatever used.
Even more common are developers who don't fully grasp the practical implications of a particular license, like making a Go library LGPL without a static linking exception, not realizing that LGPL is basically the same as GPL on a platform without dynamic linking or a toolset that is well suited to distributing pre-compiled object files to satisfy the license terms.
And sometimes developers choose a permissive licence when they would have preferred a copyleft style licence had they realised the implications, same deal.
Now LGPL and Go's static linking can simply be about not grasping that Go statically links libraries into the final executable, as it's hardly the norm outside of Go.
Neither compiler affects the licences of the output. In the case of a compiler, the "end user" is the end user of a compiler (which in today's world is a developer, but 20 years ago may not have been).
End users are "screwed over" in this sense every time permissively-licensed free software is forked into proprietary versions that the users cannot do one of the following
1) Study (view the source)
2) Modify (edit the source)
3) Distribute (send the source or binary to another person)
4) Distribute modified versions of the software
All of these freedoms include the freedom to hire someone else to do this for you, so even if you are not a developer, you still have the potential to benefit from free software, the same way all drivers benefit from the fact that any mechanic can service a car (not just the dealer).
> Neither compiler affects the licences of the output. In the case of a compiler, the "end user" is the end user of a compiler (which in today's world is a developer, but 20 years ago may not have been).
Strictly speaking, the conditions of the GPL3 license apply to your GCC compiled code (using the GCC runtime library) unless it is compiled using an "eligible compilation process", i.e. no GPL-incompatible software in the middle:
> Neither compiler affects the licences of the output.
Yes and no -- most programs use a c runtime/standard lib (libc). While both allow the use of differenc libcs, it's not quite clear that the gcc toolchain doesn't have any implications for the executable. Just being (overly) pedantic, not trying to contribute to the FSF/GPL FUD.
As for grand-parents point: the kind of scenarios where llvm is "scary" is for instance if a gpu vendor releases a closed compiler (or part of a compiler) for writing massively parallel code and/or shaders. Sometimes such a compiler might be called a driver, even if what it does is (among other things) compile code.
Many authors do naively choose GPL, and many do not. It depends on the author's goal. If their goal is for as many people as possible to use their code then GPL is not the best choice. If the author places higher priority on the Stallman definition of free software then GPL is a great choice. Sometimes authors with the first goal pick GPL because they don't know any better.
In fact I'd say this is one of the largest practical benefits for developers when it comes to GPL.
If a developer releases their code under GPL and someone else improves upon it, they as end users will recieve the source code to those improvements with which they can improve their original code or simply adopt the improved version.
However, I also think (I don't know for certain) that is precisely why it is important that the FSF keeps plugging away and refusing to compromise. There has to be one place where people do give a shit.
I have started to use gNewSense 3.0 recently. Small, fast, Gnome 2 and fortunately the er - maturity - of the packages does not affect my use cases.
It depends on who your end users are. They are not necessarily strictly consumers of software -- in fact, RMS' history clearly points to a concern for the rights of the interactive web of hackers circa the early 1970s. It is open for debate as to how relevant this focus is in today's very different looking software environment.
I'm an end user. You probably are too. As an end user the GPL benefits me by granting me access to the code, to make alterations, to republish as I see fit.
Well yes, that's the basis for Stallman's argument. If end users cared about free code, we wouldn't need to enforce it from the other side - nonfree software would have no users.
>The people who campaign for GPL software authors to change their license seem to assume that the authors of the software naively chose the GPL, as opposed to choosing it for its particular spirit.
Many do. Any many of them realize they didn't actually want the GPL, they just picked the license they had heard of the most. I don't see what this has to do with the discussion of gcc being limited technically because the GPL is not enough to sufficiently hinder people from writing proprietary tools.
>That's really important distinction that people don't realize about the GPL - it's designed to protect the rights of the END USERS
That is an artificial distinction created to try to justify the newspeak meaning of "freedom" where it is defined to mean "imposes restrictions". Developers are users.
The question of whether developers should be able to restrict freedom of non-developers is the question of whether some users should be able to restrict the freedom of other users. This is an ethical (subjective) question.
Put another way, should landowners be allowed the freedom of having serfs or indentured servants? Not allowing them to do so is restricting the freedom of some people (the freedom to own serfs). But allowing them to do so is restricting the freedom of other people (the freedom to be... well, free human beings).
As a society, we believe restricting the freedom to be human beings is ethically abhorrent, so we have no qualms (anymore) about restricting people's freedom to own serfs.
Maybe you see non-free software as ethically abhorrent, the way slavery is, maybe you don't. But that is the axiom that the free software movement (and the GPL) is based on - to understand free software, you have to understand that principle, even if you disagree with it.
You are just repeating the same old red herring. Actually free software does not restrict anyone's freedom. I understand GNU/communists are insane, it is not a problem of understanding, but one of dishonesty. Pretending public domain software (actually free) restricts "end users" freedom is a lie.
That's really important distinction that people don't realize about the GPL - it's designed to protect the rights of the END USERS. And that's great when the end user is you and me, but it's also not surprising that we, as developers, will happily throw end user rights under the bus if we think we can make some money (e.g. SaaS, app stores, etc.) or profit otherwise.