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.
Real men use the WTFPL, https://en.wikipedia.org/wiki/...
You are allowed to use it. You choose not to.
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.
You've been misinformed. I don't blame you, but you've apparently never read the GPL. It explicitly says:
Thus you are free to download and use it for any purpose, provided you do not redistribute it or derive software from it. Pretty clear.
Perhaps you meant to say there's a lot of GPL software you'd like to incorporate into your own software but you can't because of the license. You would be correct. And you won't get any sympathy either. As they say, write your own code!
Uh, yes they did. Read the follow-up piece linked from the post (https://www.fsf.org/blogs/licensing/more-about-the-app-store-gpl-enforcement), and it is specific that the issue is that Apple's Terms of Service add restrictions beyond the GPL. That is prohibited by the GPL; otherwise people could completely circumvent the GPL by adding their own license on top of it to take away all of the rights granted to you by the GPL.
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!