The GPL just plain bugs me.
This has been slowly creeping through my subconscious now and again for the last year or so, and I sometimes wonder why this is the case. I don't have anything against open source - in fact I'm looking into whether open source is a sensible approach to my software so I can share code and get extra eyeballs to be on the lookout for improvements. And I don't have any problem with copyleft - I think it's useful for certain situations where you want to ensure that improvements to a module or library are incorporated back into the original. But it's the fact that I see certain situations where I think copyleft isn't appropriate that leads me to the problems I have; the whole ideological package of "free software" that's incorporated with the GPL.
For instance, compare the text of the GPL 3.0 license with another fairly lengthy open source license like the Mozilla Public License 1.1. The MPL, like most licenses, is all just about the permissions and rights created to you. The GPL however has a preamble explaining the merits and philosophy behind "free software". Thus in order to use the GPL for your code you not only have to agree with their licensing conditions but you need to agree with their ideology as well - it is in the license, after all.
The problem I have is sprinkled throughout the philosophy of GNU. According to the Free Software Foundation, propriety software is unethical, unconscionable and borderline evil. Free software is in opposition to propriety software in an ideological war, and the GPL is chief amongst their weapons.
Now, I just don't agree with this. I don't see anything wrong with propriety software. I've written chunks of it in the past for companies. In many cases it makes more sense than open source, especially in the world of games (hacking the source is a cheaters paradise for some multiplayer games). I certainly don't see it as "evil". And I feel uncomfortable about essentially be forced to agree with this philosophy by a software license. I'd feel even more uncomfortable about forcing other people to agree with me in order to use my code.
It gets worse when I consider the latest upgrade of GPL to version 3, which seemed to stem entirely about people using GPL code in legal ways that the FSF didn't agree with. It's their prerogative to make upgrades, but the problem is they strongly recommend using wording to the effect of "GPL version X or later". With this kind of wording, you're essentially signing up for whatever direction the FSF wants to go in. I personally don't see any sense in applying a license that can be changed by a third party.
I've got a few other issues with the GPL, although many of these might be from spending a bit too long hanging around forums on the internet.
- I don't like the way the FSF and GPL have positioned themselves as the champions of "free software", especially with their confrontational attitude to propriety software. The way they've co-opted "free software" to mean their own particular ideology is a big part of what bugs me.
- The GPL doesn't play nice with other copyleft licenses, although that's mainly a problem that any strong copyleft would have. Weak copyleft however can be managed on its own, but not with the GPL.
- There seems to be a tendency amongst GPL developers to take code written in less restrictive licenses and then slap the GPL on top of it, or in dual license code to switch to GPL only. It seems perfectly legal to do this, of course, but to me it seems rude to make changes to open source code that the original authors can't use.
- Most GPL advocates I've seen on the internet seem to care less about who will use their code and focus more about who cannot. There's a general paranoia about being ripped off by big evil companies, which might stem from the whole "propriety code is evil" philosophy.
Now all that being written, I should re-iterate that I don't have anything against open source and copyleft. In fact, it's been my research into how I could use these myself that's caused my opinion of GPL to shift. I used to regard the GPL and LGPL as useful tools towards copyleft; a way you could ensure a particular piece of code would remain open and useful. It's all this ideological baggage that's been weighing my mind down. If the GPL would just be a license rather than a political statement then I'd have much less problem with it. As it is, I have an ethical dilemma with using code that has a licence that implies that I need to agree with a particular ideology within its terms of use.
The gist of all this is that I'm feeling more and more uncomfortable about using licenses such as the LGPL, which I have been currently using in my games. This is re-inforced by GNU's opinion of the LGPL themselves (Why you shouldn't use the Lesser GPL for your next library), which is actually referenced to in the text of the GPL itself. Currently the only LGPL library I'm use often is SDL, which is useful for cross-platform capability. But I'm starting to think it might be better to find an alternative, or even figure out how to code the stuff myself (I work in 2D only and don't do anything too fancy, so it shouldn't be too difficult to find something else or do my own thing).
I only tend to use BSD/MIT/Zlib licensed code now, fortunately pretty much the entire Java community has had the same unease with LGPL and switched to BSD or MIT so it's not been a problem for me.