The GPLv3 got released, and as far I knew it still had some bug reports. And considering the last release was 16 years ago that didn’t look too good.
So I proceeded to do my homework and find if I missed anything. I turns out I didn’t miss much; Linus still doesn’t approve it, and Richard Stallman still doesn’t care (obviously). But this time I tried to understand Stallmans’s point of view, and I got it! It’s quite simple.
This video explains it all.
In order to understand the GPL you need to understand The Free Software Definition, which basically defines the following freedoms:
- run the program, for any purpose
- study how the program works, and adapt it to your needs
- redistribute copies so you can help your neighbor
- improve the program, and release your improvements to the public, so that the whole community benefits
So, the GPL has been designed with the intent to provide those freedoms to the user.
The problem is that GPLv3 is trying harder to achieve those goals, in particular it’s trying to ban DRM and hardware locks (or TiVo-ization).
To the eyes of FSF people there are no fundamental changes; it’s trying to achieve the same goals as GPLv2. But to the eyes of non-FSF people (aka the rest of the world) GPLv2 was a good license despite it’s philosophical (far-stretched) goals, and the changes to GPLv3 makes it unpractical.
That’s the key issue. The GPLv2 has been a successful license for the developers not because of the FSF ideals, but rather because it’s a legally well-written license, relatively easy to understand, but more importantly the practical reach of it’s goals. GPLv3 blew that away.
It’s not that the four freedoms are bad, quite the contrary. The thing is that to try to achieve those with a software license is plainly stupid. This all or nothing, burn the bridges approach does more damage than good.
For starters: the GPLv3 isn’t targeted to developers, but to users. The funny thing is that in the Open Source world users don’t choose the licenses, it’s the developers. It’s quite hard for the users to add a single check box preference to their favorite application; how could they possibly push to change the license? That’s a developer’s decision.
More importantly: users don’t care! They want their MP3’s and their DVD’s they don’t care about the license or patent issues as longs as they can have what they want. The only type of user that really cares about the license is the Linux Zealot, er, GNU/Linux Zealot, which usually is an FSF advocate.
Life is quite hard already for Open Source developers; some have to worry about their programming language for their library and the bindings; some have to worry about proprietary modules and their license; others have to convince their pay-check provider that spending time to open source the code is a good idea; some have to worry about the libraries they use, the licensing issues, the bugs, and the missing features. If there’s something the OSS developers need is less issues; we are doing it for free (mostly)! what’s wrong with you?!
Yes, the FSF consulted a lot of people asking for comments, but that doesn’t mean everybody is happy with it. RMS states it very clearly (I’m not sure the exact words): people don’t appreciate their freedoms, so we shouldn’t design the license based on their feedback. Basically: we are stupid, and we should trust that the FSF has designed a license that’s good for us.
DRM is not a software issue, it’s a content issue. The society as a whole should address the issue, not buying DRM devices nor content, fighting against stupid patents, and more importantly; generating DRM-free content. Troubling the OSS developers is not the right thing to do.
TiVo-ization is not a software issue either. Hell, it’s not even an issue if you ask me. Quite the contrary, I think it’s great that companies are taking OSS seriously, using it, and contributing to it. The fact that they lock their hardware barely bothers most of their users; as usual, they buy it for what they can do with it out-of-the-box. If we as a FSF/OSS community are going to punish the companies that bet for OSS, we are lost.
In fact both DRM and TiVo-ization are not issues at all for most OSS developers or users anyway. These are issues only in the idealistic FSF world.
I have read about Microsoft’s analysis of OSS a couple of years ago, and they arrived to the conclusion that FUD wasn’t going to work with OSS, I thought they were right. I thought they where going to come up with something to harm the OSS community, and I thought the Novell deal had something to do with it, but I wasn’t quite sure about what could possibly be the plan.
The most dangerous issue in the OSS community is the fragmentation: KDE vs GNOME, *BSD vs Linux, Vim vs Emacs, git vs svn vs CVS, Banshee vs Rhythmbox vs Muine vs Amarok vs XMMS2 vs BMP vs MPD. It’s also one of our strengths, but it slows us down. So if you where Microsoft what would you try to do to slow OSS down (as you obviously can’t beat it)? More fragmentation.
Mono might have been a failed attempt to do that. What they needed was to make two key communities fight each other. What about: RMS vs Linus, Linux vs GNU/Linux, FSF vs OSS? Perfect! (they barely need any incentive to fight) Linus wouldn’t care much, the OSS is very open… FSF! hit them where it hurts: right on the GPL. So the Novell deal was done, one in which mysteriously Microsoft didn’t have much visible benefit.
So now GPLv3 is not compatible with GPLv2, you cannot even link to a GPLv3 library. So what happens if zlib suddenly changes to GPLv3? The more libraries change to GPLv3 the more GPLv2 applications and libraries will have issues. (I’m not sure about this one, but that’s what Luis Villa said, I hope it’s only static linking). That means trouble for highly interconnected frameworks as GNOME and GStreamer.
The companies that already have doubts open sourcing their software will think: GPLv3 no way! We already think GPLv2 is too restrictive, this is going no where, let’s just forget about it.
Of course, Microsoft couldn’t have planned this so perfectly, it’s too good. And yes, things might not get that bad (hopefully), but they could.
Who will benefit?
FSF has always been an all or nothing advocate. I didn’t know there was a difference between FSF and OSS until FSF told me: you are one of them. It has always been two different camps, but both sharing the same license… now purposely: we are not. Perhaps now there’s chance for GNU Hurd, and a true GNU operating system, which seems to be the dream of RMS since ever. Is it that bad for GNU that Linux isn’t going GPLv3?
Sun also has a better chance of playing in this new more fragmented scenario, so they’ll try to jump directly to GPLv3 to differentiate from Linux and maybe be more GNU friendly. At least the intention couldn’t be that bad so personally I hope things get better for them.
I cannot see any other people getting benefit. The users? Well TiVo would simply use non GPLv3 software which possibly they do anyway since the only really important thing is the kernel. DRM hardware vendors? They are using proprietary software anyway, they will simply forget about their R&D OSS projects if they have too many issues with GPLv3.
Of course there are good things about it, but I wouldn’t even care to mention them as the bad things outweigh them enormously.
I have never had anything against the FSF until now. It’s quite obvious that GNU has some resentment against Linux because it took all the fame, but it definitely has done great things for the FSF/OSS community or whatever you want to call it. This whole movement possibly would still be in the dark ages without it.
My opinion might not worth that much, but Linus’ one does, and releasing the GPLv3 without addressing Linus’ concerns is very irresponsible, as me, and a lot of other people share the same concerns.
The future is always unclear, but I predict: more forking and non-GPLv3 clones.
And let’s not forget that a licensing issue marked the sudden death of the ancient XFree86. So the death of GNU is not that unlikely.
Update: The Linux people seem to think like-wise: Link.
Update: There’s a directory of GNU projects with their respective licenses here. It’s interesting that Glibc is LGPL, and GNOME is GPLv2+ which makes it GPLv3 right now.
Update: There are some comments in a German debian forum here that say that the GNOME libraries as well as GStreamer are LGPL, and zlib has some kind of BSD license. Hopefully all the important libraries will stay being non-GPLv3, and if GPLv3 applications can link to LGPL libraries then there might not be so many problems after all. I still don’t like GPLv3.
Update: Luis Villa sent me this link with information from the FSF regarding what can be linked to what.