I am specifically asking around using code from something else. I.e., lets say Jon develops an app. Can I view that source code, modify it and use it for myself? Can I also place it on the market for free? Can I charge for it? Is there a certain % of code that needs to be changed?
Thanks
The question doesn't make sense. The only way for you to get the source code is from the developer. In which case you can ask him those questions.
Isn't the whole point of open source that the source code is available? What if a Dev is publishing his/her code?
Short answer: Only if the app developer gives you permission on specific things. Talk to the developer about it.
Detailed:
Disclaimer: This is not legal advice and may be inaccurate. Be sure to study the license in full.
Its dependent on what license the source code is published with. The android-specific AOSP code is licensed under the apache license (http://www.apache.org/licenses/LICENSE-2.0), which lets you modify, reuse, redistribute the code, and the program freely as long as you include a copy of the license with the code and program for others to read.
Open source does not necessarily mean free to modify or reproduce with or without credit. Its fully possible (although somewhat difficult to enforce) to release source with a license denying any reuse of the code.
As for percent code change, there is no magic number. If you reuse any of the code, in whole or in part, the code's license applies unless it explicitly states otherwise.
As to redistributing the code on the market or otherwise, and charging for it, thats all covered under the licenses.
It is possible for the developer to take legal action against someone who violates the terms of code licenses, depending on local government.
hah2110 said:
Isn't the whole point of open source that the source code is available? What if a Dev is publishing his/her code?
Click to expand...
Click to collapse
Open source refers to the AOSP, not every application in the market.
The general theme of open source is to be able to review and modify the code, if needed.
However, there are several licenses which covers different open source projects. Some of the major ones are GPL, BSD and Apache.
While any open source License gives you permissions to view and modify the code, they restrict you in several ways.
For instance, first version of GPL allowed viewing, modification and reselling of the code and binaries as commercial, given that the source code and the modifications that you made, are reasonably accessible to general public. You don't need to provide the source and/or modifications to public, if you use it personally or internally within your organization.
BSD on the other hand, gives you freedom to do whatever the heck you want, sell it, modify it, have it tattooed over your body. No strings attached.
Apache, pretty much like BSD, except you need to give proper attribution to the all the people who contributed to the code base that you are using.
There are several others, and all of them have some method of restricting the things you can do with the source. Read each of them carefully if you intend to modify and resell the code and consult a lawyer.
And as usual, the disclaimer: This is not legal advice, just a simple analysis and I am not in any way responsible for any mishaps, should you decide to use it as such.
Related
I have decided that I want to open source my app, My Home Page (see this thread: http://forum.xda-developers.com/showthread.php?t=807780 and the Market link in my signature). In order for me to do that, I need at least one developer who is willing to and capable of cleaning up the code so that it is palatable to the general public. The code is very messy and not well organized since I wrote it on the fly and never cleaned it up (okay, it's not too crazy so don't get too scared). For example, variable declarations may be declared incorrectly, one or two database connections may have been left open, methods not optimized to their maximum potential, code reuse is almost non-existent, etc. Java is no the main language in which I code so it's rough around the edges since I learned on the job, so to speak. The app works very well and is extremely feature rich and useful. However, there is so much more potential for this app that I simply do not have the capabilities of delivering. I'd like for one or more developers to help normalize the code, get it on github or Google Code and then have the community build it out to its fullest potential.
So please PM, post here, email me, hit me up on Twitter or send out a message via pigeon and I'll get back to you (although I'm keeping the pigeon). Please spread the word. I truly believe that this project has huge potential and I'd love to see it become what I envision it can be.
[Mods: I felt that this thread is most appropriate in this section as it pertains specifically to Android development. If you feel this is not the case and should be moved, please do so.]
As many of us know, Eugene and TeamWhiskey both released completely working Froyo ROMs today, and they were able to do so with leaked code that both were asked not to divulge. There's been some infighting between developers, and the use of the leaked code is the major point of contention.
What interests me is how developers have been respecting the GPL. As a major free/open source supporter, the fact that how this license permits developers and users alike to use any source code has not been respected scares me. I certainly don't want to see development of our phones fall by the wayside because some developers have access to code that others don't, when that code [or at least, the source code of developed ROMs that use leaked code] is legally required to be released to the public. (source, and examples of the GPL's standing in an American court of law)
Based on the current events and major milestones in Android development, I'm interested to see if anyone else agrees with me. (Or perhaps I'm wrong entirely - but there's a sticky on the top of this forum reminding developers about abiding by the GPL, so I assume that any ROM or kernel we've seen is GPL-derived.) I realize that some aspects of the Samsung version of Android in particular is under a proprietary license (TouchWiz, RFS), and this little point gets touchy. But Android itself and kernels for Android are GPL - so shouldn't any source code used by any Android project be released?
honestly? I'm concerned about the GPL implications too but I'm 100% sure that I don't have enough information to try to form an opinion about what's right or wrong in this scenario. I'm sure there is a lot going on in the background the average user such as myself doesn't know of what's going on here. edit: trying to speculate here is just too hard to guess, and would invoke both drama and the answers are not backed by anyone.
If you're not sure, ask the FSF.
Eugene and Sombionix need to take up their issues privately (and have since), and that was their only mistake. The rest of the scenario is simply not appropriate to come up publicly.
Although, I agree with the fact that the GPL has to be followed, the GPL only applies to source code. From what I gather, neither of these parties have any source code. They are both in the possession of a leak ROM. The word source here is used to mean the ROM from which the files came from.
When it comes to leaks, files in leaks CAN be traced back to the leak in some cases which is why many times, leaks cannot and will not be shared.
On the other hand, if they have the source code and it has been modified, then they must abide by the GPL.
One thing to consider here is that to the best of my knowledge, nobody other than Samsung at this point has the source to the SGS FroYo builds. What I mean by that is; everything that went on regarding the leak, is based off of binary files taken from a working phone. No source code involved. Google has released the code to 2.2, which satisfies the GPL licensing; with which Samsung has added proprietary software on top of for use with their phones, but because what they have added is NOT GPL'd, are not obligated to provide the source for.
I might be mistaken here, but assuming Samsung didn't change any of the existing AOSP code, and only added their proprietary software on top, then the 'must provide source code' clause is in fact being satisfied by Google. All Samsung needs to do to cover their behinds is provide a link to Google's Android development pages.
if it was GPLv3 we wouldn't have this problem, but a lot of companies are unwilling to jump to GPLv3 instead of GPLv2.
To clarify the position XDA takes on GPL code (having worked on the GPL policy you see at the top of every forum), it is required to release kernel sources if you have access to them.
It seems likely that no source code was available here, and the use of leaks in ROMs has been standard practice for a long time on XDA, and on other sites. There's no issue with this, and it is a signal of trust from the leaker to the developer that the source file will not be made available. Thus you are unlikely to get access to such leaks as a user, though you can enjoy the fruits of them after established developers with contacts have got access to them.
If it were insisted that sources be provided for EVERYTHING, then releases like this would be in breach of the XDA GPL code, and thus would stifle development. Samsung has not provided them with the sources (as I understand), so they have no obligations as far as I can identify, beyond passing on any standard notices placed in the ROM by Samsung, offering source code.
If a custom kernel was compiled to use the ROM, then its sources would be required under the GPL. The actual ROM itself is not GPL'd as such, and treating it as such would be detrimental to users on XDA.
If GPL sources have been used, then they must be posted per the GPL. Otherwise, there are no further obligations per the XDA rules. This does not appear to be the case here.
Just to back up this point, I worked on and released some ROMs, and never touched a line of source code personally. It's possible to do a surprising amount to ROMs without actually editing sources (often they're not available either when working on HTC devices...). It's only within the last month or two that I've actually looked at source code properly with intent on making changes.
Finally, I'll move this into general with a redirect for just now, as it's not directly related to a ROM, though is "on topic".
Ah - so the leaked code used to finish both Eugene's and Team Whiskey's was not code, but binaries (i.e., a leaked ROM?) This makes a lot more sense to me. Thanks for clarification.
I suppose this point becomes moot when froyo finally drops officially, but it's still important.
Sent from my SGH-T959 using XDA App
Well said Pulser_g2
Pulser.......Well said. The important thing people need to remember is not to "create" drama where it is not. The Dev's do work in concert and do produce amazing results contrary to the public chatter.
It is a blessing that there are so many good developers working on the Vibrant vs, say ...(you insert phone of choice). ......now off to flash............
As I mentioned in one of the Froyo threads, I feel like the GPL doesn't really apply in the case of leaked ROMs, since 1) nobody has the source anyway and 2) they're chock full of closed source Samsung bits. The leaked ROMS, and any ROM derived from it in some way, is already questionable to redistribute since Samsung hasn't granted permission to do so.
On the other hand, I do wish people would release source to any modifications of the Linux kernel and any other GPL software that's acquired through legitimate channels. I can understand that the source might be released slightly later than the binary, but most kernels at this point haven't had any source accompany them, ever. This really isn't in the spirit of the GPL, and as a long time Linux user it came as a surprise to me that this is the way things seem to work here.
The bottom line is that, like it or not, people actually don't have the *right* to not release source eventually. I hope they start doing so sooner rather than later.
Looks like a lot of people don't understand the GPL, even senior moderators.
We ARE talking about the GPL, not LGPL, right?
Samsung hasn't made any of the stuff they have posted official... Why would samsung release anything for something that is not yet official...
How would the devs of xda be able to give you the source they don't have?
If you want to fight a losing battle email htc about the mytouch slide..
Sent from my SGH-T959 using XDA App
First, I'm not trying to start a web battle here, just stating the facts.
1. The files that I received from our source gave me consent via email to build a rom and release it. Unfortunately, after the fact the rom was built and released, the source has been claiming that he did not want the files released, which was not at all what was discussed originally. Had he clearly stated that he did not want them released, I would not have done so. He specifically asked me to build a rom, but that he did not want his identity released, which I did not do.
2. You information regarding GPL is very wrong. We were not working from souce because source for the Vibrant 2.2 has not yet been released. The only Galaxy S device that has had source officially released has been the I9000. Had we been working from source, we would have gladly posted our edited source code with accordance with GPL law.
sombionix said:
2. You information regarding GPL is very wrong. We were not working from souce because source for the Vibrant 2.2 has not yet been released. The only Galaxy S device that has had source officially released has been the I9000. Had we been working from source, we would have gladly posted our edited source code with accordance with GPL law.
Click to expand...
Click to collapse
Yeah, this was my mistake. I was under the impression that you were working from source, not just a ROM, as was previously pointed out. So I guess it's a moot point.
9. License Must Not Restrict Other Software
The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.
Rationale: Distributors of open-source software have the right to make their own choices about their own software.
Yes, the GPL v2 and v3 are conformant with this requirement. Software linked with GPLed libraries only inherits the GPL if it forms a single work, not any software with which they are merely distributed.
10. License Must Be Technology-Neutral
No provision of the license may be predicated on any individual technology or style of interface.
Rationale: This provision is aimed specifically at licenses which require an explicit gesture of assent in order to establish a contract between licensor and licensee. Provisions mandating so-called "click-wrap" may conflict with important methods of software distribution such as FTP download, CD-ROM anthologies, and web mirroring; such provisions may also hinder code re-use. Conformant licenses must allow for the possibility that (a) redistribution of the software will take place over non-Web channels that do not support click-wrapping of the download, and that (b) the covered code (or re-used portions of covered code) may run in a non-GUI environment that cannot support popup dialogues.
Click to expand...
Click to collapse
-from the open source initiative's definition of open source
i think this sums up the fact that if android is open source, then gapps must be made available to all who want to use them. google should let gapps be distributed on all phones and roms without being a "google experience" device.
.................................................
lolololololol wanted to see how long it would take for the section trolls to come out from under their bridges
c'mon toast, move this... i dare you :}
How does this mean the gpapps be open source. In fact I believe this selection explicitly allow for gapps.
Section 10 doesn't apply to gapps since they are not licensed as open source.
Section 9 specifically allows for gapps to be shipped on a phone along with the open source software.
What the open is trying to say since android is open source anything installed on it is now opensource?
You are the worst poster.
Sent from my PC36100 using XDA App
zorack8000 said:
-from the open source initiative's definition of open source
i think this sums up the fact that if android is open source, then gapps must be made available to all who want to use them. google should let gapps be distributed on all phones and roms without being a "google experience" device.
Click to expand...
Click to collapse
Boo this man... booooooo
zorack8000 said:
-from the open source initiative's definition of open source
i think this sums up the fact that if android is open source, then gapps must be made available to all who want to use them. google should let gapps be distributed on all phones and roms without being a "google experience" device.
Click to expand...
Click to collapse
Gapps are availale to all who want to use them. What do you mean by "google experience" device? If you just mean an Android phone, than any other device that would use Gapps would have to be running Android. They wouldnt be compatible on any other OS. Open Source is the reason you can run Android on a WinMo phone or an iPhone.
Also, you mention Cyanogen in the thread title but dont mention any more in your OP. The whole CyanogenMod / Google fiasco was over a year ago so I'm not sure if you're just questioning why it has to be flashed separately or what.
I'm not flaming you, I'm just trying to understand the point you're trying to make.
Have anyone found kernel source for this model?
i have seen discussion on roms without gpl, and is this model released with kernel source available?
I believe Google has not released source for Honeycomb yet. That is the answer I got when I asked the same question over at thriveforums.org.
mknewman said:
I believe Google has not released source for Honeycomb yet. That is the answer I got when I asked the same question over at thriveforums.org.
Click to expand...
Click to collapse
indeed google have, and kernel source needs to be posted, or roms on this forum seems to be illegal.. xda don't allow roms with a gpl kernel without source code linked, if its posted..
so thats pretty sad for toshiba.
even android 3.2 source is available, so toshiba thrive has to release their source now.. but 3.1 will do fine to begin with.
This is how it works. Various parts of the software are licensed by different entities. So the Android source includes Google's code and anything Toshiba does is affected. Android is under and open source license, but it is built on top of GNU/Linux. The Linux kernel is under the Greater Public License which requires the source to be distributed or accessible by request online when the binary is distributed. Typically as companies go though their code making sure they only release source they are supposed to and don't accidentally release proprietary code it may take them a while to post it. Regardless it must be posted or things get a little hot when advocates press for it.
exactly, xda rules says no uploads on information roms including gpl kernels without source included..
so its kinda funny if toshiba continue not to post it. maybe i should request it from toshiba somewhere..
The Kernal has been requested multiple times over on the Toshiba run forum. Users have even started to pull out the legal aspect of it citing the 30 day requirement and expamples of HTC getting into hot water when they passed that deadline.
I think Toshiba is just now realizing they HAVE to post it.
I started a thread over on Toshiba's forum and indeed did explain that they have 30 days to release. "Jim" said he would look into it but then came back and made it sound like "contact our legal team".
Hello,
thinking about installing OmniROM which sounds great! I'm using CyanogenMod 10.1.3 Stable. If you guys had CM what do you think? Is there big difference between those two ROMs?
Well as far as I know about CyanogenMod is been the best to date..!! OmniRoM on the other had has made a huge followers list and has been lead by Chainfire (superuser app developer).
My opinion is to be in CyanogenMod as long as you need changes to play with. Moreover Cyanogen has more supported devices than that of Omni.. And if you have your device on their list.. Give it a shot!
Well now coming to differences, Omnirom has multi-window support, has over clocking, and the rest are the same but with different interface..
Sent from my Motorola Xoom using xda app-developers app
Thank you for answer. I'm on Nexus 4 (soon Nexus 5). So I will continue with CyanogenMod until there will be stable version of OmniROM
It is way too early to tell if OmniROM can have as great of a following as CM. OmniROM has a very long road ahead if it wants to compete with CM simply because it needs to be supported on all the flagship devices and more. That is the only way OmniROM's name will get out there. There are so many people out there that haven't even heard of OmniROM yet but ask anyone about CM and most will tell you that they have heard of it.
I will give OmniROM a chance but it has to come to the Sprint LG G2 or else they are losing potential followers.
Better? Who knows, too early to tell.
Different? Sure. Many of the first developers involved with Omni are former CM maintainers/contributors dissatisfied with certain recent events (frequent ninjamerges without review, leads -2ing things with little explanation beyond "I don't like it", and most importantly, attempting to use their Contributor License Agreement against a longtime contributor in order to create a proprietary closed-source derivative of Focal under a commercial license.) To a great degree, it's about the spirit in which the projects are developed. We're going to try to be as open and receptive to new ideas as we possibly can.
Among other things I expect to see going forward - as CyanogenMod attempts to obtain GMS certification for CM on some devices, you may see a lot more features getting removed/rejected. (GMS is the ability to officially include gapps with a device. The CTS and CDD which have been discussed many times in the past are a part of this, but GMS can actually go way beyond this. I've heard, for example, of one OEM that wanted to preinstall a particular rotation control app. While that app is readily available on the Play Store, Google effectively said to that OEM, "You can preinstall that app, or have a GMS license - not both.")
Entropy512 said:
Better? Who knows, too early to tell.
Different? Sure. Many of the first developers involved with Omni are former CM maintainers/contributors dissatisfied with certain recent events (frequent ninjamerges without review, leads -2ing things with little explanation beyond "I don't like it", and most importantly, attempting to use their Contributor License Agreement against a longtime contributor in order to create a proprietary closed-source derivative of Focal under a commercial license.) To a great degree, it's about the spirit in which the projects are developed. We're going to try to be as open and receptive to new ideas as we possibly can.
Among other things I expect to see going forward - as CyanogenMod attempts to obtain GMS certification for CM on some devices, you may see a lot more features getting removed/rejected. (GMS is the ability to officially include gapps with a device. The CTS and CDD which have been discussed many times in the past are a part of this, but GMS can actually go way beyond this. I've heard, for example, of one OEM that wanted to preinstall a particular rotation control app. While that app is readily available on the Play Store, Google effectively said to that OEM, "You can preinstall that app, or have a GMS license - not both.")
Click to expand...
Click to collapse
I noticed that Omni has a CLA as well (https://gerrit.omnirom.org/static/cla_individual_omni.html). How is the Omni CLA different from that of CM?
nushoin said:
I noticed that Omni has a CLA as well (https://gerrit.omnirom.org/static/cla_individual_omni.html). How is the Omni CLA different from that of CM?
Click to expand...
Click to collapse
you didn't read the full sentence
attempting to use their Contributor License Agreement against a longtime contributor in order to create a proprietary closed-source derivative of Focal under a commercial license
AFAIK CLA will be same, just that they won't try to trick authors into dual licensing like CM tried with focal
ericdabbs said:
I will give OmniROM a chance but it has to come to the Sprint LG G2 or else they are losing potential followers.
Click to expand...
Click to collapse
Lol
Sent from my SCH-I545 using XDA Premium 4 mobile app
munchy_cool said:
you didn't read the full sentence
attempting to use their Contributor License Agreement against a longtime contributor in order to create a proprietary closed-source derivative of Focal under a commercial license
AFAIK CLA will be same, just that they won't try to trick authors into dual licensing like CM tried with focal
Click to expand...
Click to collapse
Yeah.
To be absolutely, 100% clear - They attempted to represent the CLA as something that would give them the ability to relicense a GPL contribution if the contributor was the original copyright holder of said contribution. (In the event where the contributor is not original copyright holder, no CLA in existence would allow relicensing because the contributor didn't have the rights to relicense the code.)
THIS IS NOT THE CASE. YOU CAN'T USE THE CLA THAT WAY. But they attempted to do so anyway - not only was it just wrong to treat a contributor like that, they misrepresented the document as giving legal powers it didn't actually give them.
The CLA is there as a "cover your ass" legal document in the case of a nasty legal dispute. I hope to hell we never have a need to use it. (In fact, in my opinion, the CLA is redundant and unnecessary for Apache and GPL licensed contributions, as the Apache and GPL licenses explicitly grant compatible redistribution/usage rights. Some other contributions are not as clear in terms of licensing, for example, media assets.) Another place it might come into play is if someone submits something with a license like that found in this file:
https://github.com/oppo-source/R819...89/kernel/drivers/dum-char/partition_define.c
In theory, if someone who was in the category of MTK or a licensor contributed such an item to our Gerrit, that contribution in combination with the CLA would be written permission to reproduce/modify/disclose the file. Note that not just anyone can submit something like that - there are other clauses to handle that (clause 7 I think???) - effectively saying that you yourself have the legal rights to contribute whatever you're contributing.
Oh, FYI, that file and files with similar licensing are one of the things holding back support of MTK devices.
One thing to note: CLAs DO exist that do give the kinds of power that Cyanogen, Inc. wanted to wield. An example is Canonical's Harmony CLA:
http://mjg59.dreamwidth.org/4553.html - He links to the Harmony CLA there (direct link - http://www.canonical.com/sites/default/files/active/images/Canonical-HA-CLA-ANY-I.pdf ), take a look at clause 2.3 - it's nasty:
Code:
2.3 Outbound License
Based on the grant of rights in Sections 2.1 and 2.2, if We
include Your Contribution in a Material, We may license the
Contribution under any license, including copyleft,
permissive, commercial, or proprietary licenses. As a
condition on the exercise of this right, We agree to also
license the Contribution under the terms of the license or
licenses which We are using for the Material on the
Submission Date.
This is VERY different from the "sublicense" language in the AOSP CLA. For a bit on sublicensing:
(crap, can't find one of the better links I used to have...)
http://programmers.stackexchange.com/questions/189633/what-sublicense-actually-means has some info
http://www.contractstandards.com/document-checklists/technology-license-agreement/sublicenses - Note "Additionally the scope of rights that the Licensee can sublicense is often narrower than the scope of the original license (e.g. the purpose or end-product is limited to those specifically enumerated)." - Commercial dual-licensing of a GPL contribution is prett unambiguously expanding the scope of the original license and NOT something that a CLA which only grants you sublicensing rights allows.