IMPORTANT: XDA-Developers and the GPL - Miscellaneous Android Development

Everyone working with GPLed code, in our case the Linux kernel which is under the GPLv2, needs to understand how the licence affects them, and the work they put out on XDA developers, to aid understanding a good write up of this issues has gone up on the portal, you can read it here;
XDA-Developers and the GPL
GPL compliance is taken very seriously on XDA, but at the same time I remind people to report anything via the proper channels rather than confronting anyone in public, which always does more harm than good.
A note to ROM developers:
Using a non GPL compliant kernel makes your ROM non compliant and subject to removal.
If you are using another developers kernel, linking to that kernels thread will make you GPL compliant (assuming that the kernel in question is compliant)
Originally written by Veyka
Since we got reports about ROM threads missing the kernel sources I'd like to ask ALL ROM Chefs and Kernel Hackers to review their threads and introduce the change accordingly.
When you use the kernel of a certain project (AOSP, AOKP, CM, ParanoidAndroid, PACMAN, ...) you have to provide a link to the GitHub repository of the project where the kernel sources you used can be found. In case you introduced changes to the kernel source, you are required to published them as well. Giving proper credits is also expected (to the project from where you took the kernel and to the developer/s of each modification you may have used (i.e. CPU Governors)).
When you created your "own" kernel (i.e. backported from one of the projects mentioned above) you have to provide the kernel sources plus all modifications you introduced to it. Again, giving proper credits to the project from where you took the kernel source and crediting the developer/s of the modification/s you may have used is expected.
Threads failing to comply with this rule will be closed and the OP be asked to comply or have the thread perma locked for failing to comply with the terms of the GNU General Public License.
In short: You do not have to publish the sources of your ROM (NOT applicable to Recognized Developers - you have to provide buildable sources of the ROM as well) if you don't intend to (though we rather see you being a valuable part of the OpenSource community by sharing your sources), however, you HAVE to publish, or link-back, to the kernel source!
This is not up for discussion.

Related

IMPORTANT: XDA-Developers and the GPL

Everyone working with GPLed code, in our case the Linux kernel which is under the GPLv2, needs to understand how the licence affects them, and the work they put out on XDA developers, to aid understanding a good write up of this issues has gone up on the portal, you can read it here;
XDA-Developers and the GPL
GPL compliance is taken very seriously on XDA, but at the same time I remind people to report anything via the proper channels rather than confronting anyone in public, which always does more harm than good.
A note to ROM developers:
Using a non GPL compliant kernel makes your ROM non compliant and subject to removal.
If you are using another developers kernel, linking to that kernels thread will make you GPL compliant (assuming that the kernel in question is compliant)
Originally written by Veyka
Since we got reports about ROM threads missing the kernel sources I'd like to ask ALL ROM Chefs and Kernel Hackers to review their threads and introduce the change accordingly.
When you use the kernel of a certain project (AOSP, AOKP, CM, ParanoidAndroid, PACMAN, ...) you have to provide a link to the GitHub repository of the project where the kernel sources you used can be found. In case you introduced changes to the kernel source, you are required to published them as well. Giving proper credits is also expected (to the project from where you took the kernel and to the developer/s of each modification you may have used (i.e. CPU Governors)).
When you created your "own" kernel (i.e. backported from one of the projects mentioned above) you have to provide the kernel sources plus all modifications you introduced to it. Again, giving proper credits to the project from where you took the kernel source and crediting the developer/s of the modification/s you may have used is expected.
Threads failing to comply with this rule will be closed and the OP be asked to comply or have the thread perma locked for failing to comply with the terms of the GNU General Public License.
In short: You do not have to publish the sources of your ROM (NOT applicable to Recognized Developers - you have to provide buildable sources of the ROM as well) if you don't intend to (though we rather see you being a valuable part of the OpenSource community by sharing your sources), however, you HAVE to publish, or link-back, to the kernel source!
This is not up for discussion.

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...
@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

Download android 8.1 roms [AFH]

Hi Guys I just saw couple of android 8.1 test builds or alpha builds for our P2 in Android File Host website. In which the few Rom available in AFH are not mentioned or thread is not created in XDA] so that I'm just sharing it with you!
Checkout the source below to stay updated.
Source
mod edit - link removed
Edit - Few download links removed cuz they are not my work & I'm not interested in sharing it anymore.
Disclaimer:
# If you don't want to share your work, then don't share it in public.
# I'm not responsible for any Damage, Proceed at your own risk.
Is volte enabled in any of them?
I'll give a shot at the Pixel Experience ROM...Its 757mb!!
Let's see what features it holds..
I'll report back after using it
rohit1512 said:
Is volte enabled in any of them?
Click to expand...
Click to collapse
I can't tell cuz I'm not using such a carrier.
ASP02 said:
I'll give a shot at the Pixel Experience ROM...Its 757mb!!
Let's see what features it holds..
I'll report back after using it
Click to expand...
Click to collapse
Haha, have fun
Forum Rules
12. Sharing
XDA-Developers is based on the principle of sharing to transmit knowledge. This is the cornerstone of our site. Our members and developers freely share their experience, knowledge, and finished works with the rest of the community to promote growth within the developer community, and to encourage those still learning to become better. There are those, however, who take advantage of this model and try to make personal gains from the hard work of others.
In order to preserve the delicate balance between sharing for the good of the community and blatant self-promotion, regular members and developers alike must understand (and agree) to the following:
12.1. Give credits where due - Credits and acknowledgements for using and releasing work which is based on someone else's work are an absolute must. Works reported to have no credits will be taken down until proper acknowledgements are added by the member in question;
12.2. Courtesy - While most of the work released on our site falls under the umbrella of open source, that is not the only license model being used by developers on xda-developers. In order to prevent problems, we ask that if you decide to base your work on someone else's that you check the license model being used (as it might not be as permissive as one may think);
12.3. Re-releasing other's works as your own is forbidden. The code that you release into the wild must have something beyond minor aesthetic changes that makes it better than the last. As this can be subjective, kang reports will be reviewed on a case by case basis. If you feel that your code has been kanged, please contact the Dev Relations team (listed below) if you cannot solve the issue amicably via PM. Please understand that you will be asked to provide evidence to substantiate your claim;
12.4. Developers can issue take down requests (by contacting the Dev Relations team) under the following circumstances:
- in-process builds start showing up on forums when the developer is not yet ready to release the work;
- cases in which another developer is too aggressively soliciting donations or misrepresenting the work (kanging);
- unofficial builds where an official build is already available;
In summary, we want people to have access to work and knowledge alike. Sharing is good and courtesy and ethics go a long way.
Developers with questions, comments, complaints, or concerns about our rules (or anything!) should send a PM to our Dev Relations team (efrant or sykopompos) or to a Moderator. We are here to help!
Click to expand...
Click to collapse
thread closed and ... cleaned

GPL and closed source custom ROMs

Hi,
I have done some search around the topic and did not find much. I would like to have your opinion on this:
Let's say that there are some ROM developer who took an open source ROM code and installed Bluz bluetooth stack that is under GPL. then released the ROM as closed source. Is this legal ? can you take some open source stuff and closed source them then distribute the binaries?
Another issue that I am wondering about, is why ROM developers never release the source code of their ROM, so others can build on top of their work? for example many TV boxes and dev boards have closed source custom ROMs. If they are giving it out for free, and they are not really after money, why not open source the thing. They usually get busy cooking a ROM for another device and they do not really care about the older one, so why not release the source code, and let others continue their work.
I want to start by saying, that if you find any closed-source ROMs that also don't release the kernel source, then it's a problem, and you should report the thread if it's on XDA. Otherwise, read on.
Now, let's take a look at how Android is licensed. The Android OS itself is licensed under the Apache Open Source License. The Apache License allows people to use, modify and redistribute the licensed code as they see fit as long as they include the Apache License in what they modified. Apache also allows someone to take open source work and make it closed source after modification, if they want. Apache is a pretty flexible license.
The confusion comes in when including the kernel. Since Android uses a modified Linux kernel, which is licensed under GPL, its kernel is also required to be licensed under GPL. That means anyone who makes an Android kernel, unless they build one from scratch, has to release the source, and under the GPL license. Manufacturers, such as LG, Samsung and Huawei, opt not to release the source for their AOSP derivative, but they're required to release their kernels (that's why you'll see the opensource.whateverOEM.com pages).
As for hobbyist developers, well, it's up to them whether or not to release their ROM source, as long as they publish their kernel source. No one can really explain why a developer would do this, except that developer. It can be annoying, especially once that ROM is abandoned, but it's in a developer's right to withhold the ROM source.
Now, for your bluez example. I don't believe it's illegal to package in GPL projects into a closed source project, given two things: that GPL project should be mention (if the closed project is a ROM) in the About>>Legal section of Settings, with a link and the license for it; and that GPL project must not be modified from the original source. If it is modified, the developer is required to release just the GPL portion. Everything else can say closed source. So no, you can't take a GPL project, modify it, and then redistribute the modified version without releasing the source. However, if it isn't modified, a link and license should be all that's needed. Neither situation requires releasing every part of the project.
Thank you for comprehensive answer. One small thing to clarify. So if Bluez and Kernel are both GPL projects, how come it is enough to have a link for the Bluez project while for the Kernel there must be a source code release? is it because it is almost always that the dev needs to modify the Kernel for their use? and once modified the code needs to be open?
Related to the topic, is how Google dealt with BlueZ.
The story of Android’s Bluetooth support is long. Android originally used the open source BlueZ stack that is common in Linux. But Google removed the bluez stack that was originally in Android because of its GPL license. Instead it decided to develop its own BlueDroid Bluetooth stack with Broadcom.
The GPL license that came with BlueZ caused all kinds of problems. GPL licensed code forces other code using it to be released under the GPL license as well. In order for Google to keep their own license for their code and avoid GPL, it had to isolate BlueZ with another process and D-BUS. This form of communication is one of the commonly accepted exceptions that allows non-GPL code to use GPL code without issues.
But the workarounds didn’t work out so well in practice. They caused a lot of overhead and extra code that wasn’t otherwise needed, which ultimately led Google to drop it. It begain developing Bluedroid when it was offered by Broadcom.
In practice this meant that starting from Android 4.2 when BlueZ was dropped, a brand new and unproven stack was used in Android Smartphones, with all the issues that come with it.
Click to expand...
Click to collapse
http://www.argenox.com/blog/android-5-0-lollipop-brings-ble-improvements/
kokonuts86 said:
Thank you for comprehensive answer. One small thing to clarify. So if Bluez and Kernel are both GPL projects, how come it is enough to have a link for the Bluez project while for the Kernel there must be a source code release? is it because it is almost always that the dev needs to modify the Kernel for their use? and once modified the code needs to be open?
Related to the topic, is how Google dealt with BlueZ.
http://www.argenox.com/blog/android-5-0-lollipop-brings-ble-improvements/
Click to expand...
Click to collapse
If the kernel hasn't been modified, only the original source needs to be available. But with Android, you usually need to make modifications.

Pixel experience- official redmi note 7 pro Updated 24/11/19

#PE #ROM #OFFICIAL #10
Pixel Experience - OFFICIAL | Android 10
Updated: 24/11/2019
Mod Edit : Links removed.
Device Changes: -
- Enabled volte for Airtel/Vodafone ( Might need a wipe still not 100% if works )
- Nuked custom sf offsets
- Imported some missing radio blobs
- Enabled use_data_netmgrd
Rom changes:
- IMS Changes ( viLTE shoud work fine now )
Isn't this the same build as the other official PE ?
Well, you aren't the official maintainer. Why are you reposting builds of Dyneteve?
Thug dev
Mod Edit
2 Threads on same topic is not allowed and there is already an Official PE is released by maintainer here
May I remind you XDA Forum Rules #12
12. Sharing
XDA-Developers is based on the principle of sharing to transmit knowledge. This is the cornerstone of our site. Our members and developers freely share their experience, knowledge, and finished works with the rest of the community to promote growth within the developer community, and to encourage those still learning to become better. There are those, however, who take advantage of this model and try to make personal gains from the hard work of others.
In order to preserve the delicate balance between sharing for the good of the community and blatant self-promotion, regular members and developers alike must understand (and agree) to the following:
12.1. Give credits where due - Credits and acknowledgements for using and releasing work which is based on someone else's work are an absolute must. Works reported to have no credits will be taken down until proper acknowledgements are added by the member in question;
12.2. Courtesy - While most of the work released on our site falls under the umbrella of open source, that is not the only license model being used by developers on xda-developers. In order to prevent problems, we ask that if you decide to base your work on someone else's that you check the license model being used (as it might not be as permissive as one may think);
12.3. Re-releasing other's works as your own is forbidden. The code that you release into the wild must have something beyond minor aesthetic changes that makes it better than the last. As this can be subjective, kang reports will be reviewed on a case by case basis. If you feel that your code has been kanged, please contact the Dev Relations team (listed below) if you cannot solve the issue amicably via PM. Please understand that you will be asked to provide evidence to substantiate your claim;
12.4. Developers can issue take down requests (by contacting the Dev Relations team) under the following circumstances:
- in-process builds start showing up on forums when the developer is not yet ready to release the work;
- cases in which another developer is too aggressively soliciting donations or misrepresenting the work (kanging);
- unofficial builds where an official build is already available;
Thread Closed.
jackeagle
Forum Moderator

Categories

Resources