Ask Slashdot: Choosing the Right Open Source License
NicknamesAreStupid writes: I need to choose an open source license. I am developing an open source iOS application that use a significant number of other open source projects which, in turn, use a number of different open source licenses such as MPL/GPL, MIT, and BSD. I am also using sample code from Apple's developer site, which has their own terms of use. The code dependencies are such that my code would not be of much use without theirs. If this project is used, then it would be nice to pick a license that best fits in with this mashup. I am interested in maintaining the freedom of my code but do not want to create a catch-22 or make life hard for people who need to use this project for personal use or profit. My inclination is to use MIT's, as I have done so before. I asked an IP lawyer about this matter, and she replied (pro bono), "it probably doesn't matter." Of course, that advice was worth every penny. Moving away from legal issues and looking at this from a social perspective, which license would appeal most and offend least? I thought about no license but was warned (pro bono), "If you do not, then someone else may." Any suggestions?
If you're using GPL code, you have no choice but to release your code under the GPL as well.
I do not fail; I succeed at finding out what does not work.
No license: default copyright. No-one is allowed to redistribute without your express permission.
The dependencies I assume will be distributed within your package; and I assume their licenses in turn allow this, as this are open source licenses.
If so, you would be able to choose any license you like for your code - or indeed simply nothing special at all - and choose based on your preferences/philosophy on the level of freedoms given for use of your work.
Please do not license it under an L/GPL license. There's a lot of software I would like to use, but am not legally allowed to because it uses a GPL license. It sucks.
Real men use the WTFPL, https://en.wikipedia.org/wiki/...
You beat me to it :-)
To the original poster:
The GPL is "viral" in that if you use even a smattering of GPLed code, you are required to release ALL of your code as GPL as well.
It concerns me that you state you use example Apple code. What license is it? ("has its own terms" is completely unhelpful).
In general, you're restricted to using a license that is the most restrictive. The liberal licenses like BSD and MIT can morph into anything pretty much. GPL is one of the most restrictive on redistribution (RMS would say it preserves user freedoms by restricting developer distribution, and I would tend to agree with it; just throwing that in there because I don't mean restrictive in a negative sense here, only that it was designed to prevent people from running off with the code without contributing back to the community, so you can't just re-release GPLed code under MIT like you suggested). Apple's license may be open source or not; furthermore, there are known open source licenses that are NOT compatible with the GPL, so its entirely possible that the Apple code may not be distributed together with the GPL code. For reference, see http://www.gnu.org/licenses/li....
It's possible your pro-bono advice is correct and this doesn't matter too much if you release it publicly and open source (it seems unlikely open source projects would sue other open source projects), but in case you ever plan on making money on this project (and even if you don't), to avoid any possible legal trouble you should choose the most restrictive license compatible with all licenses at play. Likely this means the GPL, but the wildcard is Apple. If you post the terms to it, we could probably help sort it out (with the usual IANAL caveat). Otherwise, you may need to rethink which libraries are included with your code and possibly even roll your own depending how niche it is.
The FSF post didn't say either what terms of the license they thought Apple was violating, nor why they think distributing via the app store is any different than distributing via the post office.
If I mail GPL software via the postal service, I have to comply with the GPL, which mainly means I have to include an offer to provide source code upon request. The postal service doesn't have to do ANYTHING regarding the license, they are a third party facilitating my distribution. It could be argued that Apple is no different- the person distributing via the app store needs to comply, Apple doesn't have to do anything to be in compliance.
By the wording of the license, it would be possible to argue either way, so a court would look at the INTENT of the license, it's PURPOSE. The gpl helpfully states it's purpose and intent right at the top - to maintain the four freedoms. As long as the freedoms are being maintained (by having source available, etc.), the court would probably rule that it's perfectly okay to distribute via the mail, ftp, email, http, or the app store.
Sure. Lets pander to the flavor of the month corporation just because they are the trendy thing today. Let's forget about the DECADES of work and progress that has gone into the collective body of Free Software. Let's also give a big "fuck you" to all of the nice contributors while we are at it.
It's Apple that's the newcomer playing the jerk imposing restrictions that are entirely unnecessary.
Freedom is not a Mad Max free-for-all where Apple can try to be the boss of the Thunderdome.
A Pirate and a Puritan look the same on a balance sheet.
If you want your software to be used by as many people/corporations as possible, use BSD.
If you don't want corporations to take advantage of your software without giving back, then use GPL.
BSD expands usage at the cost of community; GPL increases community at the cost of usage. Both approaches are valid.
"First they came for the slanderers and i said nothing."
Unlicense, and done. http://unlicense.org/
If by "Use" you mean: Copy/paste sections of GPLed code, then yea, you are forced to use the GPL (this also applies to Read-Memorized-Retyped).
If by use you mean: I link to some GPLed libraries. Or: I invoke some GPLed executable to do some work. Or: I send some IPC message to some GPLed process then you can use pretty much any licence you may well please.
For code I develop for commercial use (either if I want to turn it into a product, or if I am developing for a Third party) I prefer BSD/MIT/Apache.
For code I develop as a hobby, or as a service to the community, I preffer the GPL (v2).
Also, bear in mind two things:
* If you use a substantial amount of GPL code, the community frowns upon using a non GPL license.
* But, apples AppStore has had troubles with GPLed applications in the past.
Choose Wisely.
*** Suerte a todos y Feliz dia!