XDA-Developers and the GPL - Honor Magic ROMs, Kernels, Recoveries, & Other Dev

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

Related

★ ★ ★ [Announcement] Read 1st! Android Development Section Rules ★ ★ ★ NEW SECTION!!!

★ ★ ★ [Announcement] Read 1st! Android Development Section Rules ★ ★ ★ NEW SECTION!!!
Hello everyone.
This message is directed to all ROM/kernel developers of Ace community.
There are some rules, which you have to follow before starting new thread.
Rule No.1 - If you are about to post a new Kernel you need to be in compliance to GPL2 since kernel does contain Linux code, this mean that if you have modified a kernel you MUST provide source code:
(choose what best for you)
- A github link
- packing your kernel and uploading
- Credits to people in case of an already custom kernel
- Sources must be posted in first post of development.
Rule No.2 - If you are about to post a new Rom, you don't have to post source since they are covered by Apache, BUT you must be in compliance with XDA rule and with good sense. Remember that publishing sources is a very polite manner.
New Roms thread must contain:
- Exactly say which base rom do you used : Stock, custom from another developer, CyanogenMod.
- Permission to use said ROM as your base by the original developer(s).
- Credits given to original developer(s) in your first post: (eg: Credits and thanks for this Rom goes to XXXXX)
- Credits given, if possible, to the people from whom you grabbed scripts, themes and apps.
- Your ROM MUST BE free of paid apps, NO WAREZ ALLOWED.
- Your first post must contain as much info as you can provide, "this is my ROM" and a link is not tolerated (screens, installation procedure, CM version, kernel version etc.)
- Thread Title : " [ROM]xxxxxxxxxxx[date of release][kernel version/kernel required]
Rule No.3 - AdFly, or other ad-revenue related redirecting links, are NOT allowed. Thread will be closed and links be deleted.
In case of questions please drop me a PM.
Best regards
Tomek
Forum Moderator
Official XDA GPL statement:
pulser_g2 said:
The GPL is a software license agreement, under which parts of the Android operating system are licensed. The majority of Android is licensed under the Apache license, but the Linux Kernel (which is present in every running Android ROM in some shape or form) is licensed under the GPL (version 2).
Many of the amazing developers at XDA create custom kernels, which feature many improvements and changes over the “stock” kernels released by OEMs, including performance and stability tweaks. This is exactly what the GPL is designed to protect, by ensuring that anyone can get access to the original source code used to build the kernel. Given a suitably configured computer, it should be possible for anyone to reproduce a released kernel using the provided source code.
Recently it has come to our attention that a number of users have been neglecting to follow XDA’s GPL regulations, which amount to posting the sources for any kernel you build from source to share with others.
As a result, we would like to clarify our position on the GPL, and users’ obligations to this effect. By posting your work on XDA-Developers, you are agreeing that it complies with relevant licensing conditions. As such, by posting a kernel or other work containing GPL code, you are confirming to us that you have made this source code available publicly under the GPL, and should highlight this in your thread with a link. (Plenty of respected and trusted sites will host the code for you free of charge, such as GitHub and BitBucket.)
By posting open sourced work on XDA, you are also ensuring that your available sources are up-to-date with the work you have released. This means that if you update your kernel to add a new feature, for example, your sources should be updated to include this change. If they are not, this means you are not complying with the GPL.
There is no provision in the GPL to withhold access to sources based on time or other conditions, so please don’t attempt this, as it will only earn yourself a formal GPL request. If you do not provide the correct, accurate, and up-to-date sources (and keep them up-to-date), you will be non-compliant with the GPL.
In order to be fully GPL compliant, your sources must:
Successfully build and produce a valid output file, which is the same format as provided in the binary
Contain all source code, interface definition files, scripts used to control compilation and installation of the executable (it is not required to include the actual compiler/toolchain, but sufficient information should be made available to obtain the SAME configuration, including compiler flags, as used to build the binary version as released)
The GPL is a legally enforceable license agreement, and while it offers users freedoms to copy and redistribute code, that permission is conditional upon all changes which are released being made publicly available. If you require further advice on this matter, we suggest you review the license itself or consult a lawyer.
Click to expand...
Click to collapse
Hello fellow XDA users
I have an honor to announce that since 26.07.2012 Development Forum has been divided into two parts.
Android Development
Original Android Development
Android Development Section Rules
svetius said:
The following are most likely not “Original Development”, and should be posted in the “Android Development” subforum:
Your own “unofficial” stock build of your favorite original, source-built (or otherwise) ROM, particularly where an official or maintainer-endorsed thread exists already.
Minor derivatives of other ROMs with little or no changes, or ROMs consisting of “placebo” features as a main constituent or claim.
Renames or rebadges of others’ work – these don’t belong on XDA at all! Refer to rule 12 for more information.
Reposts of existing ROMs with small changes (i.e. kitchen work, such as adding a couple of apps). If you could realistically distribute your changes as an “addon pack” above and beyond a ROM, you should do so. In addition, your “ROM” would not be original development as it would be substantially identical to the original ROM.
A thread created with unrealistic goals that are clearly unachievable by those starting the thread. This is not intended to discourage high aspirations, rather to prevent threads porting Windows Phone 8 to the HTC Wallaby. This is pretty much common sense.
A ROM where a main or significant claim/feature is graphical changes to the user interface (ie. Themed ROM)
Click to expand...
Click to collapse
To avoid future questions about XDA app/Tapatalk and missing section.
Do the following:
1. Unsubscribe your favorite forum.
2. Exit the app.
3. Clear the app cache.
4. Open app and subscribe forum once more
Enjoy!

[Q] Is hascode's kernel open source?

I'm sorry if I am asking for source for private property but is hashcode's kernel open source.I would like to look at it.
Thanks for replies
I think this is it?
https://github.com/KFire-Android/kernel_omap
Thanks Jessical.
BTW, the Linux kernel is GPL, and that means any modifications must also be GPL. In general you can rely on any upstanding dev making their Linux kernel modifications available to the world at large.

[KERNEL DISTRIBUTION RULES] Hot Topic! [Attn: ROM DEVs]

Just a reminder of some old rules that seem to be forgotten. We are not out to make the dev's lives harder or to be a pain in the neck. XDA has had issues in the past from kanging to malicious code in kernel's. They are based on the GPL and you are free to modify and distribute, however you must share your changes and cannot charge for your work. (my summary of the GPL). That's why when we distribute a kernel in a rom, we fall under the GPL guidelines and have to follow some simple rules to keep XDA and our members out of trouble. Thanks again to all the Dev's for your understanding and outstanding contributions.
Anyone providing a ROM with a Kernel include should mention and link what kernel is used.
This means either:
Stock kernel is used (OP has to say that)
OP uses a 3rd party kernel (from another user), then he has say that and link to the thread)
OP uses his own kernel in which case he has to upload sources as per GPL and XDA rules and link them. (Please note: sometimes only the ram disk of a stock kernel is modified, this does NOT fall under the GPL. Example: Making a stock kernel 'insecure')
Concerning GAPPS: CM and some other were asked by google to NOT include them. But only those parties. Everyone else can include them unless asked by the owner (ie Google) to remove them.
This also means in theory that everyone with a CM kang can include GAPPS, however most people don't (which is obviously fine too)
I don't think any OEM ROM was ever forced to remove GAPPS.
Noellenchris
XDA Forum MOD

XDA-Developers and the GPL

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

XDA-Developers and the GPL

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

Categories

Resources