[Touch Pro2, Tilt 2 Android Development] madnish30:
[ATTN - ALL ANDROID DEVS] General Public License

A little introduction

Recently in several Android fora on XDA-Developers, it has come to the attention of the moderator team that there have been issues regarding developers’ compliance with the GPL. This post aims to clarify the position of XDA on the use of GPL sources, particularly in the development of Android kernels.

Without the GPL, the Android operating system would likely never have come about. Through the work of Linus Torvalds, the Linux kernel was made open source for all to use, share and modify. As Android runs on the Linux kernel, and features numerous modifications to these sources, it would not exist in its present state without the Open Source community.

As a result, it is in the interests of everyone who owns an Android phone, who wishes to see further development on the platform, to ensure that they play their part in upholding both the letter and spirit of the GPL.

The GNU General Public Licence (also known as the GPL) is available to read in full at www.gnu.org

To make it easy for everyone to spot a release that complies with the GPL mark the title of your release thread with [GPL]. If you find a ROM which does not comply with the GPL, or the developer does not issue sources, you can report the post as usual, using the report post button next to the post number. Alternatively you may PM your forum specific moderator.

The Rules as they apply on XDA

As XDA has no legal power to uphold the GPL (and frankly we want to stay as far away from doing so as possible), we can’t force any of our users to abide by the GPL. However it is in XDA’s interests as well as the interests of our developer-base to ensure all GPL-derived materials hosted or linked on XDA comply fully with the GPL.

GPL-derived materials that do not come with the complete sources used to compile the GPL components are considered warez, and will be treated as such under forum rule 6 and 9.

If you use GPL components, but do not make any modifications to them whatsoever, you should provide a link to the original source of your GPL code.

Sources accompanying a release should be complete, and contain all the necessary source code for any modules, scripts or definition files. Complete sources will be defined as those which compile correctly and completely against the platform for which the software is distributed, and which contain any and all modifications made to the released General Public Licenced code. The source code supplied should be the exact version for which the source code is being requested, complete with all modifications.

EXAMPLE: Here’s a bit of code that could be used as a template to post your releases

The Very Quick Summary of General Public License (GPL)

The text of the GPL Licence itself will be used to reach any final conclusion regarding any disputes over GPL Licenced materials. The above is a summary of what XDA expects of members using GPL code, and the complete text can be read at the GNU website.

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.