25 Years of Linux and the GPL, and How Android Benefits

Happy Birthday to Linux. It’s been 25 years since Linux was first announced. It started from very humble beginnings, with Linus Torvalds describing it as “just a hobby, [that] won’t be big and professional like gnu”, but it has grown into being the world’s largest open source project and the most commonly used Operating System Kernel (being used in everything from Android phones, to wireless routers, to supercomputers, to Valve’s gaming platform).

Yesterday at LinuxCon North America in Toronto, Torvalds called the GNU General Public License (GPL) that Linux is licensed under “a defining factor in the success of Linux”, and he is absolutely right.

Linus TorvaldsThe GPLv2, which the Linux kernel is specifically licensed under, requires developers to publicly share any modifications that they have made to the kernel, which has been vital in avoiding many of the pitfalls that competing Operating Systems have fallen into. It encourages developers to use the software and contribute upstream, because it assures them that no one can just take their code and use it in their own product without also contributing upstream. It keeps their code free of restrictions (albeit not always free in cost).

It ‘forces’ companies to release the code required to support any devices that they launch using Linux, and goes a long way towards preventing platform fragmentation and alleviating the issues associated with the free rider problem. This viral aspect also played a role in the evolution of XDA’s favorite mobile operating system, Android.

Many major projects have fallen by the wayside due to licensing issues over the years. Projects with non-copyleft licenses have seen companies take the work done by others and not give back. Various Unix-like kernels (including the MINIX kernel that Linux originally resembled), mobile Operating Systems (e.g. Symbian, which was used by Nokia, Motorola, Sony Ericsson, LG, Samsung), and other projects have been all but forgotten because developers did not want to (or couldn’t) support them. Even for closed source software, many major companies like Microsoft fully understand just how important having developer support is for the success of a platform.

By compelling companies to give back, the GPLv2 has created exponential growth for the Linux kernel, with tens of thousands of developers contributing small bits and pieces, that have added up to bring the Linux kernel from just 10,239 lines of code in 1991, to more than 17 million lines in 2016. It has also resulted in the creation of various related projects, including the DD-WRT, Tomato, and OpenWRT router projects, which started because Linksys used some GPL’ed code in one of their routers, and have since grown to the point where they are shipping as the official firmware on certain devices (all thanks to developers giving back).

The GPL says a company may be big, but no one will take advantage of your code. It will always be free, and that can’t be taken away from you,

Linus Torvalds

This holds true for Android as well. 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, a process which is fully supported by XDA.

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.

So cheers to the Linux Kernel and the GPL, and here’s to another 25 years of Free and Open-Source Software!