As someone who likes the GPL and supports the idea that all software should be Free, the thing that bothers me about it is how "closed" it is to projects based on other Free licenses.
GPL projects "take" from BSD/MIT/Apache/etc projects (in the form of libraries, supporting software, etc) and only give back with conditions they can't accept.
You can say it's on them, for choosing the license they chose, they accepted that this could happen, but on the other hand, isn't that exactly what we're criticizing companies for?
The aim of the GPL is to ensure that the recipient of a program has the right, from a legal stand point, to obtain and modify its source code and redistribute the result under the same license.
The FSF is hostile to proprietary software and criticize liberal licenses because they don't provide these guaranties.
I understand that, but while the FSF might criticize liberal licenses, both GNU and many other GPL projects use code under those licenses, while their code is closed to the original projects. That's what bothers me.
And by choosing liberal licenses, those original projects have indicated that they're fine with that. Seriously, I don't see the problem.
If you don't want people to use your code without making their changes available to you, license it under the GPL. That's what the GPL is for. Criticizing GPL projects for the fact that some projects are not GPL seems an odd way to spend your outrage budget.
I'm not outraged. I'm torn over the ethics of my personal creations and contributions to GPL-licensed projects.
And I don't agree that choosing a license means the authors are necessarily fine with their code being used in such a way - it might just mean they don't believe in using (copyright) law to enforce it.
And even if they are fine with my activity, that still doesn't mean I must be OK doing it. As an analogy, I wouldn't sell tobacco, despite the buyers actually wanting to buy it.
A copyright license is the tool used by authors to tell the world how they want their code to be used. If someone publicly state that they like vanilla ice cream, but personally don't, then their public statement is silly.
If someone do not believe in using copyright law and dislike those who do, they should act accordingly and not deal with proprietary companies at all. Those are the majority users of copyright law in the software industry, as the number of GPL law suits vs proprietary ones is several order smaller.
If someone do not believe in using copyright law and dislike those who do, they should act accordingly and not deal with proprietary companies at all.
Sure. But that still doesn't resolve my dilemma, it just narrows it down.
Is it legitimate to take code published under a liberal license by someone who doesn't deal with proprietary companies at all and use it in a GPL project, knowing that it prevents the original project from using that derived code?
LLVM is a great project and brought the possibility of .NET/Java tooling to C and C++, but just check the amount of GPU shader drivers, Swift and some embedded compilers for examples of companies abusing BSD/MIT/Apache/etc projects.
> LLVM is a great project and brought the possibility of .NET/Java tooling to C and C++, but just check the amount of GPU shader drivers, Swift and some embedded compilers for examples of companies abusing BSD/MIT/Apache/etc projects.
Its not "abuse" to do something the license is designed to permit. Not everyone -- and particularly not everyone who chooses non-copyleft free software licenses for their projects -- agrees that the reciprocal obligations enshrined in the GPL represent fundamental moral obligations that exist without the GPL and that violation of them is "abuse" in the absence of a agreed requirement, e.g. contained in a license, to adhere to them.
On the other hand, consider the following: Emscripten, Numba, Julia, Rust, Pyston, Pure, Polly, Mono-LLVM, ghc -fllvm, Terra, ... and those are just the ones I can think of in a few seconds. Several of these have the potential for huge impact over the next decade, and nearly all of them would have been significantly less viable either using GCC tooling (due to license-driven architectural decisions) or building a backend from scratch.
LLVM is known for being rather ruthless with their API refactorings. This has the twin advantages of keeping the code quality very high, and giving people an extra incentive to contribute upstream (e.g. the PS4 compiler backend). I won't go so far as to say this is intentional, but it does represent a rather amusing way to discourage users from keeping everything in-house.
Code under the Microsoft Reference Source License is also available, but would you not consider it an abuse if, say, Microsoft made a LLVM-based language under that license?
The code being available is only useful if you can use it, and my point is that projects under most FOSS licenses can't use GPL-licensed code, which only takes without giving back in a usable form.
GPL projects "take" from BSD/MIT/Apache/etc projects (in the form of libraries, supporting software, etc) and only give back with conditions they can't accept.
You can say it's on them, for choosing the license they chose, they accepted that this could happen, but on the other hand, isn't that exactly what we're criticizing companies for?