A Counter-argument: The GPL isn't as free as the BSD license
Linux chose the GPL as its license both to ensure it stayed free and because it made sense, what with being shipped with the FSF's GNU Utils. Both Linus, GNU and other people point to the choice of the license to be one of primary reasons for its success.
Now that GNU/Linux is successful, huge communities of developers and users have sprung up and having seen the benefits the GPL gave to Linux, choose it as their own license of choice.
However the GPL seems to get some backlash. To some... who are typically fans of the rival BSD flavoured license which allows an open source application to then be forked and closed source..it removes a freedom. The GPL prevents future forks of the code from being closed source unlike the BSD license. This is the gist of the argument, which I have seen on Reddit and other sites many times:
[ This conversation is heavily modified. You're welcome to read the original discussion here ]
If a developer makes a proprietary fork of an open source application, based on say the BSD license instead of the GPL, the open source application still exists and is still free. The closed source developer didn't "absorb" anything. The open source application existed... and now both the closed source, and the open source applications exist. Nothing was lost. In fact, the end user GAINED options because now they have more choices of which OS to run. That's more freedom, not less.
Second, the assumption that the closed source developer takes away people's freedom is wrong because nobody is forced to use the closed source application. If you use the closed source variant it's by CHOICE. And, if copyleftists actually respected people's freedom, they would acknowledge that people should have every right to choose to use a proprietary application if they wanted.
Thus, the end result of BSD's license is that:
- The open source application code is still free
- The closed source developer is free to do what they want (offer a proprietary OS)
- Consumers are free to choose which variant they want.
The copyleftists take away the freedom of #2 above, which then hurts the consumers by restricting their choices. Honestly, copyleftism strikes me as any other form of extremism - it claims to help people by taking away certain rights. I find it hypocritical and insulting. Don't claim to protect my freedom by taking some of it away.
The first thing to note is that it doesn't stop the closed developer's application from existing, merely being closed source. Developers who like closed source software should ask themselves "Is the freedom to restrict other people's freedom really the right we should be handing out? Is the guy who put privacy invading CCTV everywhere in London proof that there is freedom here?
This was met with the following reply from that person:
A license that has already made a decision for me [ new code must be open source ] has effectively stipulated the removal of an otherwise available liberty. You can deprioritize that liberty, argue that it's less important than the other liberties granted or their net effect on the world when implemented virally, but you can't make my judgements and decisions for me. If you can, I'm already pissed.
freedom != granted liberties. it's splitting hairs to most, but in a license enforcement discussion, it one of the biggest divergences between BSD and GPL. The GPL allows many liberties at the cost of others, BSD grants significantly more liberties with the risk/likelihood of being locked out of derivatives. Both are good in different scenarios, but I really can't stand it when people try to tell me that the GPL is the epitome of freedom, when it's simply a tool for building RMS' goal ecosystem.
We do effectively think that your right to close source it, is less important than the end users right to avoid being locked-in to a single product builder. The real point of the GPL is not to enable code sharing or freedom of code access.. they are side effects of its true goal which is to guarantee as many rights to the end user as possible. Perhaps from this perspective, that of the end user, you can see it is epitome of freedom.
Obviously it isn't in terms of a developer looking to ship a closed source product. If you assert your code should be closed source, then you can't use GPL code...In effect, the restriction imposed, is one imposed by you, not one imposed by us. It's almost genius in its subtly. If you choose to live in a closed source world, you must embrace the impact of that world... a wealth of amazing technology is just unavailable to you. Linux essentially becomes Unix.
By comparing the two licenses side by side on what things you can do with it.. GPL prevents closed sourcing yes.. but if you look at the license not like a piece of paper, but rather a perspective on freedom, you then only face the very problem your ideals of close-sourcing products would generate. If you respect others' rights to close source their work, consider it their free will, just consider everything under the GPL as closed source and live with out it. It's that simple. The GPL is inclusive to developers who agree with the perspective and just as exclusive as a closed source license if you don't agree.
I find it hypocritical and insulting
...That you think some people have the right to develop closed source code ...But you are insulted you can't use certain code written by other people? You want the freedom to choose your license but you hate us for choosing ours? Okay...
Don't claim to protect my freedom by taking some of it away
We don't claim to protect your freedom as a developer looking to close source stuff. We claim to protect the end users of the software. The people without development skills. The people who put their data into these applications we build. Not the people who build software, the people who use software.
I believe closed and open source applications can and should exist. (I also, remind you that you don't have to open source changes that you distribute with in your own company, or changes for your web applications served to millions, or your ability to ship both closed and open source software on the same CD). They can co-exist.. they just can't co-exist at our expense. Where closed sourcing devs get more freedoms than we do. I'm taking the liberty, the freedom if you like, to limit your freedoms just as you would the next person... Does that piss you off? Well.. see the world through your customers' eyes! . We can co-exist, with end users able to choose either completely closed or completely open products but we can't mix it up. You can contribute and cooperate, but you can't just abuse us for free labour. These are our products and we have a right to them. We don't just deliver software, we offer our customers piece of mind.
I openly admit that the GPL does not provide a "freedom" *for the developer* that BSD does. However, considering their stance is one of close sourcing the application. we don't care and you're hypocrites for requesting it. I do however maintain that the GPL ensures more freedom for the end user than BSD allows as it does prevent the application being closed source once the end user is invested in using it.
As a side note, if you wish to develop and write BSD licensed code - great! That's up to you. I'm not even against doing it myself. I would never discourage it! I just don't think people should be attacking the GPL.