How Android Benefits from the GPL

GNU Logo

What the hell…? Hang on, I’ll get to it.

So Linux celebrated its 25th birthday yesterday, an event observed with a particularly good blog post on XDA. If you didn’t know, Linux powers great swaths of the Internet—including Howard Forums—as well as the world’s dominant operation system, Android. Full disclosure: the desktop computer that I’m posting this from also runs Linux, so I’ve a bit of bias here. B)

As awesome as Linux is, its software license is as big a deal or even bigger. Linux creator Linus Torvalds has called it “a defining factor” in the success of Linux; its official moniker is the GPL.

GPL is an acronym for the GNU General Public License, which will hopefully  explain the logo above. But GNU itself is also a recursive acronym for “GNU’s not UNIX”—some lame programmer humour from GPL creator Richard Stallman, but also a pointed dig at the UNIX software running the mainframe computers that he used while studying at MIT. The GPL is quite unlike any other commercial software license in that it’s founded on what Stallman calls the four freedoms—and if this sounds like some hippie bs it absolutely is. Silicon Valley as we know it today has direct ties to Haight-Ashbury’s 1967 Summer of Love. Some forward-thinking minds back then saw how computers could change the world.

These are the four software freedoms, starting with zero for some reason:

Freedom 0
The freedom to run the program as you wish, for any purpose.

Freedom 1
The freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this.

Freedom 2
The freedom to redistribute copies so you can help your neighbor.

Freedom 3
The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

That fourth freedom is really more of a mandate—under the GPL you can modify software to your heart’s content, but you must share the changes upstream. And this is where we finally get back to Android. Over to XDA:

A big part of the reason why Android has the substantial development community that it does is due to OEMs being ‘forced’ to release the kernel sources for their specific devices. This in turn creates a platform upon which custom ROMs can be built (utilizing the code from Google’s Android Open Source Project), even though many OEMs only release the bare minimum required .

This platform allows the creation of ROMs you know and flash, like OmniROM, CyanogenMod, Paranoid Android, and many others to support hundreds of devices and provide the latest security patches and new features.

More importantly though, the GPL creates a culture of giving back, resulting in even some of the most tightlipped of OEMs pushing some code upstream to the mainline Android Open Source Project (AOSP) itself, even if only for the sake of reducing the amount of maintenance that their codebase requires. This has resulted in some fantastic features you may know about being merged upstream, like Sony’s RRO which is being used by most OEMs for theme support, to Samsung donating part of Knox to improve Android’s Enterprise support, and even more happening behind the scenes.

In other words, even if they’re not flashing custom ROMs every Android user still benefits from the GPL. I suspect that many XDA devs don’t even bother to license their mods under it, but the spirit of sharing is still there.

So let’s all raise a glass to Linux and the GPL!

Source: GNU Project, Wikipedia (1) (2) (3), XDA

Leave a Reply