General Public License (GPL) for Android Kernels
To the world of Windows Mobile developers, GPL was never an issue since “closed source” operates in a different manner. However, as of lately it has come to the attention of the site that the licensing requirements for open source software are very real and out there. At this point in the article, you may be asking yourself some questions, depending of your level of involvement on the Android development world:
- Duh! I know everything there is to know about this and it is the reason I share my work.
- What way is it affecting this site?
- I thought that since it is Open Source, it didn’t have a license…
- GP what?
The truth of the matter is that just like with any piece of software, there are licensing requirements to be followed. If at any point during the development, you don’t comply with what is being asked and go your own merry way about finishing the project, you will be in breach of said agreement, and your software becomes illegal.
Let me take a step back and tell you exactly what we are talking about here. Android is composed of several parts, one of which is called Kernel. Without this, Android would simply not exist. Said kernels are developed under a General Public License (GPL), which basically states that the development, changes, and modifications are to be shared among the Linux community for the continuous advancement of the open source community. Any change made to said kernel, if released, forces the person releasing it to share the source, changes, and everything that was done to this kernel. If a ROM is cooked with an kernel whose source is not freely available, the ROM in question is in breach of GPL, and becomes warez (illegal distribution of software) in the eyes of XDA.
The XDA moderator team has done a great job in putting together a thread with resources and information regarding GPL licensing, which is posted across all Android development fora. The following is an excerpt of said thread.
The GPL states that anyone who modifies GPL licenced code is required to make available the sources used to compile it. This is to further improve and encourage collaborative work, as well as to ensure that the best code possible is produced, and to encourage peer-review of all work. This benefits both developers and end users in numerous ways, including:
- Allowing anyone to verify the code they are trusting with their data, and its authenticity
- Encouraging community collaboration to produce faster fixes and updates, and better code
- Helping bring new developments from other devices and fields to your own, letting you benefit from new code that wouldn’t have been available without this sharing.
- The GPL imparts great freedom for GPL end users. It ensures innovation is never stifled and no project is dependent upon any single developer.
It is in everyone’s interest for the GPL to be adhered to, as it gives us all better ROMs, better transparency, and a better atmosphere for developers to work together to make great code.
If you are interested in knowing more about GPL, please take a look at the GPL threads. Again, this has been posted in all Android development fora across the site. Please help the moderator team keep xda-developers in compliance with regulations, so that our community can flourish hassle-free.