14 September 2010

Android lockdown: Thanks Linus

The current lockdown of Linux based devices (including Android phones, TiVo, and many many consumer devices) is due, simply, to the Linux developers' unwillingness to update their code to the GPLv3 license. We* contribute to Linux, Linux is taken for use in Android (and remains Open and Free), and then the phone manufacturers take our work and lock it up and sell it to us with reduced functionality. Big thanks, manufacturers.

The GPLv2 license, released a very long time ago (in Technology terms), didn't foresee device manufacturers using the Free, Open code in their devices, but locking down those hardware devices to prevent that hardware from running anything but the manufacturer's signed code. These manufacturers are taking the hard work of thousands and going against the spirit of the license by not allowing these developers to share in the changes and code that these developers helped to create, with the exact intention of sharing their code and its uses and benefits.

Not too long ago, the GPLv3 came out. This new license extended the rights of users that the GPLv2 guaranteed, but also required that code released under this license would still be allowed to run if modified. The intent here was to prevent the 'TiVo-ization' of code; that is, to prevent the code being held hostage by corporations that used GPL code but wouldn't let any modifications run on their hardware. Linus Torvalds, lead developer of the Linux kernel, said that he had no problems with the way his kernel was being used, and wouldn't be moving to the GPLv3. This was a huge discussion a few years ago, with the possibility that whole parts of the kernel would have to be rewritten if they couldn't get the contributors to move to GPLv3 or if those contributors couldn't be contacted.

In the end, the Linux kernel stayed at GPLv2. And now we're stuck with device manufacturers using our* own code against us, which the GPLv3 license would have prevented, although possibly with a huge, initial negative impact had parts of the kernel needed to be dropped or rewritten. Which is better, the initial pain, or the long-term lock-in?

*the FLOSS community, not my own personal code!

=-=-=-=-=
Powered by Blogilo

14 comments:

Anonymous said...

It's easy, don't buy from those manufacturers. The best way to punish them in such cases is with your money.

Marc said...

The issue isn't quite as simple as you make it sound. While the anti-Tivo'ness aspect of GPL3 is a good thing, there are other things in there which would, and have, been less-than-beneficial to the overall software world.

In addition, Google is doing a fairly decent job of imitating a closed development process. That's not going to help, either.

FEWT said...

I respect Linus's choice of licenses, after all he did create the Linux kernel. Software freedom doesn't necessarily mean GPL v3!!!!1!111!, software freedom means the freedom to choose whatever license that best suits the author.

If the license is an issue for you, then it is on you to go contribute to a product that has a license you can agree with. No one forces you to contribute code to Linux, you choose too.

You aren't "stuck", you are free to go build a better kernel than Linux. Put your time into HURD, maybe one day it'll mature enough to be useful.

Anonymous said...

It never ceases to amaze me how the internet has given voice to so many to bitch, but do nothing.

Stop whining and organize and effort to get approval for GPLv3 from all kernel contributors.

Linus has said it would be too difficult, prove him wrong. That would be a constructive way of getting your 15 minutes of fame.

Edmundo Carmona said...

Changing the license of Linux is kind of a hard thing to do goven that there are thousands (literally) of copyright holders. Even if Linus were willing to change the kernel to GPLv3, it'd be a major undertaking (me thinks).

Anonymous said...

Actually, its easy to convert the kernel to GPLv3; you don't need new permission, as the GPL allows "or (at your option) any later version".

What is hard is making your conversion (a fork) worth anything.

Distributions could choose to GPLv3 the kernel if they want.

Anonymous said...

To Anonymous above, I believe Linux GPLv2 is missing the "or any later version of GPL" clause. IOW, the lincense of Linux doesn't allow using GPLv3. GPLv3 is also incompatible with GPLv2 if I'm not mistaken, so it's not an option to start using GPLv3 in new parts of the kernel, either.

Linux is stuck in GPLv2, and getting more and more stuck all the time. Each new kernel contributor adding GPLv2 code makes it more unlikely that it can ever change.

Just get over it.

Edmundo Carmona said...

As it was said before... the "or a later version" is not part of the Kernel files (at least a lot of them) and it was not because Linus missed it but because he _intended_ it to be this way. I've read from interviews that he doesn't believe trusting his code to licenses that don't even exist at the moment makes much sense, hence the lack of "or later" in the licensing of the files he has worked on. Some people have taken the job of looking at the licenses that are applied on each file and even if some files are "GPLv2 or later", the fact is that much of the kernel is "GPLv2 only" and so the resulting binary is "GPLv2 only".

Anonymous said...

If linux would be GPL3, then companys start to use BSD or closed source OS.
Don't blame Torvalds: blame companys ;-)

Anonymous said...

@previous anonymous no, this is exactly what is Linus's fault.

Had he supported GPLv3, lockdown would not occur. He just made it that much easier for corporations to skip it and exploit code the same way as is done with BSD.

Who loses? Consumers.

Anonymous said...

The code doesn't belong to the community as you clame, but to their respective copyright holders. It is their and only their decision.

pomac said...

If Linus had switched licence then we wouldn't have the revolution you like so much since companies wouldn't want to touch it with a pair of pliers. GPL3 kills itself rather efficiently due to the patent clauses.

Several companies has hired developers to work on gcc, but now they can't due to the licence change. Others wouldn't be allowed to touch it with a ten foot pole - this includes several large mobile phone manufacturers....

In short, this whole post is trolling about a parallel universe that, while it might exist, isn't the one we're living in.

Anonymous said...

I guess manufactures protect themselves from competition and they make their live easier when they keep source code internal. But result is "proprietary Linux" device, no source code, difficult to modify. Ignore such devices, buy an iPhone; it is closed source software but well tuned and no bugs, you don't need to modify Apple devices...

Anonymous said...

Create a LOGO, something like "GPL2 friendly device" or "GPL2 friendly manufacturer". You can sell certificates and build a business on it... ;-) Or create a web page. We already have pages related to GPL violations. Why not to start positive campaign?