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.

The 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).
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.