Dear developers and ROM chiefs.
It has come to our attention that ROMs in this section are released without proper kernel source being provided. The GPL license under which kernels are released requires the code transparency - in short sources must be pushed to some revision control system like github or bitbucket.
As per XDA rules, we're requesting you to provide proper kernel source or remove kernels from your builds.
If the OEM doesn't provide the kernel source code they are in violation of the GPL license and ROMs (with kernels) for these devices are not allowed on XDA.
Therefore we're giving you one week to either provide the source or remove the boot.img from your ROMs.
Thank you for your attention.
Tom
XDA Senior Moderator
Related
Hello,
It has been brought to our attention that many kernels and/or ROM's (where applicable) posted in this section are not fully compliant with the GNU General Public Licence v2 (GPL v2) and for CyanogenMod ROM's the Apache licence.
This is quite frankly not acceptable so we are initiating a crackdown on this.
For kernel developers: You must provide FULL source code, not just the edits you made (reference here). Your source code must also be up-to-date with any binary releases. If in doubt, update your github first, then release the binary, NOT the other way round.
For CyanogenMod ROM developers: CyanogenMod is OpenSourced under the Apache Licence 2.0 and as such you don't need to upload your source code, though under the "spirit of OpenSource" it would be morally right to do so, however, we will not force you to do this, that is your choice to make.
For ALL ROM developers: If your ROM contains a boot.img file or a zimage file then you must state firstly whether it is your kernel or another user's kernel and secondly you must provide a link to the source code if it is your kernel and a link to the other user's kernel thread if you use another user's kernel.
The full GNU GPL v2 can be read here >>> http://www.gnu.org/licenses/gpl-2.0.html
The FAQ for the GPL v2 can be read here >>> http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html
Why you cannot provide just the edits you made? Read here >>> http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#DistributingSourceIsInconvenient
The Apache Licence 2.0 can be read here >>> http://www.apache.org/licenses/LICENSE-2.0.html
XDA-Developers and the GPL article here >>> http://www.xda-developers.com/android/xda-developers-and-the-gpl/
I have posted notices in many users ROM/kernel threads and those people have 3 days (from the time this post was posted) to provide full kernel source. If you need more time then please contact me via PM. If you are unable to provide source code after the decided time then your thread will be closed and download links removed.
Regards,
Jonny
Ok, the 3 days were up yesterday but due to time constraints I won't start chasing people up on this until much later tonight or tomorrow. If users who were notified by me 4 days ago do not have source code up by tomorrow and have not contacted me, they have no excuse and their threads will be closed so I would suggest uploading it if not already done so.
I have done a sweep of the A110 Development forum and have found many ROM threads that either do not source the included kernel and/or are using custom kernels that do not have GPL compliant kernel sources. In both cases these ROM threads are violating the GPL and they must either link to a GPL compliant kernel source or be using the stock MMX kernel. Please double check that the kernels in your ROMs still have GPL compliant kernel sources and please do not use kernels that are provided without GPL compliant source code. Please feel free to contact me or any of the other moderators about this issue.
I have arranged to let everybody have until Oct 22, 2013 (5 days) to correct any problems with their kernel sources. After that I will sadly start closing ROM threads.
Dear Developers
I'm sure you already heard about the GPL around the forums. In case you did not, the GPL ("GNU General Public License") is the most common license that affects many projects, like the Linux Kernel (the Linux Kernel is licensed under the GPLv2). This affects us, XDA and its members, as we are often working with the Linux Kernel (every Android platform runs on top of the Linux Kernel).
You may ask yourself now "Well, that's nice, but how does this affect me and what does the GPL do?" The answer is pretty simple actually: The GPL guarantees users to examine, modify and share their and others code by enforcing open-sourceness. This means you are free to use any GPL'ed sourcecode for your project, but you must make your used code publically available again.
Now, as many advantages this has, it also means quite some work for us developers. All used sources must be completely public by the time the compiled binary (like a Kernel) goes online. Another requirement is, that the OP must include all information to compile the exact same binary as uploaded by the developer. This means you need to specify:
The used toolchain including its version (linking to your toolchain source is always a good idea)
The used defconfig
The link to your sourcecode (including the used branch, tags,...)
If used, also upload your scripts used for the compilation
If you upload a kernel, publish the source, but the source is not compilable, it means you are breaking the GPL as you did not release the used source. Breaking the GPL actually means breaking the law, which means the sanctions on XDA could possibly be the least of your problems...
Example:
GPL:
- Used sources (cm-10.1 branch)
- Used defconfig
- Used toolchain
- Used scripts
Click to expand...
Click to collapse
@ROM devs, using a precompiled kernel
As you are not compiling the kernel yourself, you do not have to give the above information. However, you have to link to the source of your kernel binary (for example: link to the OP of the used kernel). If you use the stock kernel, you must state this. Linking to the stock sources is not a requirement, but it is not the worst idea.
Keep in mind; if the kernel used is not GPL compliant, your ROM is not GPL compliant either. This may cause your thread to be closed and/or further action on your account may be taken.
Example:
GPL:
The kernel included in this ROM is located HERE. I have not altered anything.
Click to expand...
Click to collapse
If you need/want further information, you might want to take a look at THIS news article written by our Developer Admin pulser_g2
Dear Developers
I'm sure you already heard about the GPL around the forums. In case you did not, the GPL ("GNU General Public License") is the most common license that affects many projects, like the Linux Kernel (the Linux Kernel is licensed under the GPLv2). This affects us, XDA and its members, as we are often working with the Linux Kernel (every Android platform runs on top of the Linux Kernel).
You may ask yourself now "Well, that's nice, but how does this affect me and what does the GPL do?" The answer is pretty simple actually: The GPL guarantees users to examine, modify and share their and others code by enforcing open-sourceness. This means you are free to use any GPL'ed sourcecode for your project, but you must make your used code publically available again.
Now, as many advantages this has, it also means quite some work for us developers. All used sources must be completely public by the time the compiled binary (like a Kernel) goes online. Another requirement is, that the OP must include all information to compile the exact same binary as uploaded by the developer. This means you need to specify:
The used toolchain including its version (linking to your toolchain source is always a good idea)
The used defconfig
The link to your sourcecode (including the used branch, tags,...)
If used, also upload your scripts used for the compilation
If you upload a kernel, publish the source, but the source is not compilable, it means you are breaking the GPL as you did not release the used source. Breaking the GPL actually means breaking the law, which means the sanctions on XDA could possibly be the least of your problems...
Example:
GPL:
- Used sources (cm-10.1 branch)
- Used defconfig
- Used toolchain
- Used scripts
Click to expand...
Click to collapse
@ROM devs, using a precompiled kernel
As you are not compiling the kernel yourself, you do not have to give the above information. However, you have to link to the source of your kernel binary (for example: link to the OP of the used kernel). If you use the stock kernel, you must state this. Linking to the stock sources is not a requirement, but it is not the worst idea.
Keep in mind; if the kernel used is not GPL compliant, your ROM is not GPL compliant either. This may cause your thread to be closed and/or further action on your account may be taken.
Example:
GPL:
The kernel included in this ROM is located HERE. I have not altered anything.
Click to expand...
Click to collapse
If you need/want further information, you might want to take a look at THIS news article written by our Developer Admin pulser_g2
So to preface, every Development thread on XDA has the following sticky:
1. If you are using a stock kernel you MUST mention where you obtained your source. Also, having a link leading to where the manufacturer has uploaded their source is always helpful.
2. If you are using a community driven source build (e.g. CyanogenMod, AOSP, or Parandroid) or a singular developer's source you MUST link directly to the repository that contains the kernel for that specific device. If you are only linking to another thread or to a general repository, this will not be considered as being GPL compliant unless the code has not been modified.
3. If you are forking a repository that is similar to the examples listed above in #2, you MUST publish and link your entire kernel source. This includes any and all changes that you have made. Two of the most common ways developers publish their source on XDA is either with Gerrit, or GitHub. While these two methods are recommended, they are not the only routes you can choose to accomplish this. All that is required is that the source can be viewed and downloaded by anyone who wishes to do so. When releasing an update, your repository must be updated the moment you release your kernel on XDA. If you can post your update to XDA, there should be no reason as to why you cannot release your source.
Click to expand...
Click to collapse
Yet, what are we to do with the tons of ROM development threads that has no reference to sources or general threads that are not possible to build? For me that's mainly a security concern, when a dev releases a ROM for general use, it's hard to check for the authenticity of the product.