Thursday, March 29, 2007

GPLv3: the FSF dropped the ball(s)

Last night, I read the last draft of GPLv3 on my cell phone during dinner in Orlando. I went looking for the provision they had in the last draft, the one that closes the GPLv2 ASP loophole that forced me to create HPL. In a nutshell, it is the ability of running GPLv2 software as a service (SaaS) without returning any changes to the community, because distribution of software as a service might not technically be considered distribution of software (therefore circumventing the copyleft clause that made open source what it is today). That is what Google does, making gazillions of dollars thanks to Linux and open source but keeping its secret sauce concealed from the rest of the world (but contributing in many other ways, therefore cleaning its conscience, I guess).

The provision is not there. Gone. They dropped the ball. Actually, it has been made very clear that the ASP loophole is not a loophole anymore. It is perfectly fine to change GPLv3 software and offer it to the public as a service, without returning the changes to the community. Bryan Richard on Linux Magazine, wrote an interesting article on it titled "The GPL has no (networked) future". I agree...

That means 75% of the future software (which is going to be SaaS) could be offered by leeches, that suck the soul of open source for their pure benefit. They make money, while others work for them for free, to make them rich. Rich without returning anything that could benefit the community of whom they are parasites. As you can read in this interview, Google is really happy about the GPLv3 draft. Of course they are!!

I am honestly upset. My feeling is that the Free Software Foundation (FSF) did not have the balls to push this forward. I can understand it, because the special interests involved are big and you need to pick your fight. But they picked the wrong ones. Covering the use of open source in SaaS was the one to fight. You cannot go after TiVo because puts Linux in a box, but not after Google because it puts it behind a firewall. Just because it is Google. The vast majority of software will be run as a service, not in appliances. The world is not going there. The world is going SaaS.

Again, I understand the political reasoning behind the decision (GPLv3 has enough problems to be accepted, adding the SaaS provision would probably have killed it) but I am questioning the merit. The FSF writes:
We have made this decision in the face of irreconcilable views from different parts of our community. While we had known that many commercial users of free software were opposed to the inclusion of a mandatory Afferolike requirement in the body of GPLv3 itself, we were surprised at their opposition to its availability through section 7.
I bet they were ;-) That does not mean you give up. You fight. It is a fight on principles. You cannot be a sucker in open source. You have to give back. It is true for TiVo and for Google. There should not be exceptions. Copyleft is the soul of open source. The soul of the FSF. Without it, we would not be were we are now.

In an attempt to give something to the people that agree with me, they added a backward compatibility clause of GPLv3 with Affero (which is a license with an insane requirement to close the ASP loophole and with a vanity name of a company behind it) and claimed they will work with the community to create Affero v2. That means we'll have GPLv3 and GPLv3_with_SaaS, Affero branded. One in favor of the proliferation of licenses, which is the major issue this movement is facing already... A
ffero is not even OSI approved, but it is the only license backward compatible with GPLv3... Double-insane (and I would be offended being on the OSI board...).

OK, I am really upset. I'll give myself a few days to think about it. I could just hope the FSF will reconsider and add the provision in the last draft, which will never happen... A first step could be to bring HPLv1 in front of OSI. GPLv2 is a good license after all, with just one problem that is fixed by HPL. And we could always create HPLv2 later and merge it with the FSF effort. I really would like that license to be compatible with GPLv3 and work with the FSF on it. License incompatibility is killing us...

The issue with licensing is at the center of open source, and it should not be. We just need to get one license that works in 90% of cases and get over with it. GPLv2 is the closest thing to this goal, and used by the vast majority of the projects out there. GPLv3 simply does not cut it. I am really really sorry about it. But I am not going just to sit and watch the disaster unfold. I am ready to fight.