Slashdot Mirror


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?

31 of 171 comments (clear)

  1. If you're using GPL code, you have no choice by msobkow · · Score: 3, Interesting

    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.
    1. Re:If you're using GPL code, you have no choice by martiniturbide · · Score: 2

      I agreed. If you are using any GPL code, derivative works should be GPL. If you combine BSD, MIT with GPL, it will turn everything to GPL. GPL is not bad, it will remain open source forever (ok, until it became public domain after a lot of years) and it will be great for things to snowball. GPL is only bad where there intentions to close the source code or to combine it with other licenses that allows that.

    2. Re:If you're using GPL code, you have no choice by Chewy509 · · Score: 2

      I would assume based on the OP/summary, it's dual licensed MPL/GPL source code, otherwise you are correct...

      However, the summary also mentions iOS, and I was under the impression that GPL apps on the Apple AppStore are a no go?

      eg. http://www.zdnet.com/article/n...

    3. Re:If you're using GPL code, you have no choice by Anonymous Coward · · Score: 5, Informative

      This is baloney. You can release _your_ code under whatever license you choose, as long as the license doesn't conflict with the GPL as applied to the derivative work as a whole.

      So, for example, I can contribute code to the GPLv2-licensed Linux kernel under an MIT or BSD 3-clause license. This is quite common (I dare you to grep the kernel source tree). Now, when you distribute the Linux kernel including your MIT-licensed code, you must obey the source code disclosure requirement of the GPL. But if I'm a FreeBSD developer and want to incorporate your code in my BSD-licensed kernel, I can freely copy and reuse just the MIT-licensed portions.

      So stop spreading FUD. There's nothing "viral" about the GPL which distinguishes it from any other form of licensing. The BSD license is "viral" in that any derived works still have to obey the copyright notice requirements. Closed source licenses are "viral" in the sense that if your work uses closed-source software, your derivative work is subject to the restrictions and limitations of the closed-source license.

      The only real issue here is the GPLv3's patent license requirements. But you can, for example, mix the GPLv3 and Apache License 2.0. And if you don't actually own any patents which pertain to your contribution, then when you release your code to the public you're basically closing the door on any future patents (by publication), which makes the patent issue moot, anyhow. Although it could still be a headache for others who would otherwise want explicit assurance that there's no patent trap.

    4. Re:If you're using GPL code, you have no choice by Yaztromo · · Score: 4, Informative

      However, the summary also mentions iOS, and I was under the impression that GPL apps on the Apple AppStore are a no go?

      FWIW, the situation is a bit more nuanced than that.

      If the GPL licensed code is entirely your own work, you can relicense it any way you want, including to Apple for distribution on the App Store.

      Where you can get into trouble with the App Store is if you take someone else GPL'd code and release it on the App Store. This could be by including third-party GPL routines, or by publishing code that was developed by multiple parties, without their permission, where copyright has not been reassigned. This was the case for the VLC player: as the article you linked alludes, Apple took that old VLC player app out of their app store due to a copyright complaint from one of the VLC developers. That was back in 2011 -- the VideoLAN Oragniaztaion has since released their own VLC for iOS, while still retaining the GPL license (albeit in part by dual-licensing it as MPL/GPL).

      Yaz (IANAL)

    5. Re:If you're using GPL code, you have no choice by penguinoid · · Score: 4, Informative

      public domain is a myth

      [citation needed]

      Mickey Mouse Protection Act

      --
      Don't waste your vote! Vote for whoever you want, unless you live in a swing state it won't matter anyways
    6. Re:If you're using GPL code, you have no choice by Sarten-X · · Score: 5, Interesting

      Read the license from the perspective of your users. If a later GPL version adds new protections against software patents, API copyrights, or whatever else the legal system dreams up, the users can opt to follow the terms of that license. If, in a moment of collective insanity, the FSF publishes a less-free GPL, the user can opt to use the earlier version your software was originally released under.

      That clause actually ensures that the current version establishes a minimum set of rights.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    7. Re:If you're using GPL code, you have no choice by ClickOnThis · · Score: 2

      Great post. Moderators, take note.

      I would add one thought: the GPL is indeed viral, but in the sense of HIV, rather than, say, influenza. You need to get "intimate" with GPL code to be "infected" by it. The level of intimacy that causes infection varies with context, but it happens through consent, not by accident.

      --
      If it weren't for deadlines, nothing would be late.
    8. Re:If you're using GPL code, you have no choice by ultranova · · Score: 3, Insightful

      Project Gutenburg would be a counter-proof.

      Well, no. The issue is whether code - or any other copyrighted work - will ever enter public domain. Mickey Mouse Protection Act says it won't, and Project Gutenbert doesn't contradict that.

      Not that it matters: copyright law has almost no legitimacy whatsoever, so it simply gets ignored despite draconian punishments. The whole concept of property law seems to simply be incompatible with the digital realm, consequently various message boards and other sites depending on user-generated content basically operate as communist utopias: everyone contributes whatever they can, the results are free for everyone to use at their leisure, and even personal glory isn't an issue, at least in anonymous messageboards. That's right: aside from its current immaturity, Anonymous is pretty much a model Marxist collective.

      Funny, isn't it? Capitalism won the Cold War, but its natural development is now leading to Communism because that maximizes production in the Information Age. It wasn't a good model for industrial production, but as that keeps getting automated and focus shifts on coordination and cultural production, it turns out hierarchies simply get in the way. So nominally communist countries were arranged like giant corporations, while the new organizational model everyone's learning growing up now is "contribute according to your abilities, enjoy other people's contributions freely".

      I wonder if this is why neoliberalism has been so fashionable lately: it's the struggle of a fading system to maintain it's dominance rather than be relegated to handling just a small subsection of total economy?

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    9. Re:If you're using GPL code, you have no choice by unrtst · · Score: 5, Informative

      There is no "depends on how he's using it." If it doesn't have an LGPL interface header, you MUST release the code under GPL terms to use it.

      (Sorry for the Clinton-esque answer) It depends on what you mean by "use". The problem with the original question is that there's not enough information to give a useful answer.. it's just fodder to get people talking with no real goal.

      You can use GPL's software all you want, modify and recompile to your hearts content, and you don't have to release jack shit - unless you then distribute that stuff, and then only if you distribute it together (you can distribute your patches on their own with any license you choose).

      That said, it sounds likely that the choices that NicknamesAreStupid made regarding various sources to include may not be very good choices, and they may be incompatible with his goals. Since he specifically mentioned the GPL (and especially since he didn't say LGPL instead), these compatibility pages should help:
      http://www.gnu.org/licenses/li...
      http://www.gnu.org/licenses/gp...
      http://www.gnu.org/licenses/gp...

      The FSF (Free Software Foundation) comments on GPL works within the Apple App store is also quite relevant:
      http://www.fsf.org/news/2010-0...
      http://www.fsf.org/blogs/licen...
      http://apple.stackexchange.com... (see 2nd answer)

      Essentially, if you do not hold the copyright for the GPL'd work you are including in your iPhone App that you want to put on the Apple App Store, then you're SOL.... the App Store agreements are incompatible with that (GPL says, "You may not impose any further restrictions on the recipients' exercise of the rights granted herein", but the the Mac App Store Terms of Service explicitly add other restrictions, such as "you may only install the software on five approved devices"). You might be able to get permission from the works authors, but that permission would be to distribute said code under a non-GPL license (possibly 3 clause BSD?)

    10. Re:If you're using GPL code, you have no choice by msobkow · · Score: 2

      If GPL part "A" calls BSD part "B", then yes, that is true. But if BSD part "B" calls GPL part "A", it is in violation of the GPL license.

      --
      I do not fail; I succeed at finding out what does not work.
    11. Re:If you're using GPL code, you have no choice by WilCompute · · Score: 3, Informative

      The problem with this argument is if someone forks my project, and publishes it under a newer license, I can no longer accept changes back into my codebase. If I did, I would be forced to use the new license, making the GPL doubly viral, cannibalizing its own license to spread its viewpoint. This is the reason Linus made the Linux kernel GPL2 only.

      --
      NDxTreme Content on the Edge.
    12. Re:If you're using GPL code, you have no choice by sumdumass · · Score: 2

      It still wouldn't matter. The other authors can license any way they want as long as it is compatible with your license. In the case of the GPL they can release their software as later version and still push back to your project under your version. You can take your code and release it proprietary and gpl at the same time because it's your code.

    13. Re:If you're using GPL code, you have no choice by budgenator · · Score: 2

      the GPL is free even for the arseholes. it just doesn't let them be arseholes WITH the GPL-ed code.

      GPL = once free, always free. no special privileges for arseholes to make it non-free in future.

      The copyright owner/owners can always re-issue under any licence they choose at any time, the only complication that can arise is when there are multiple owners who can't or will not agree to change the licence. This is a problem with the Linux kernal because there have been so many contributions that have been added and removed over the decades that no one knows who all the copyright owners are.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
  2. Indeed it probably doesn't matter by wvmarle · · Score: 4, Informative

    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.

  3. No GPL by Sigvatr · · Score: 2, Interesting

    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.

    1. Re:No GPL by cheater512 · · Score: 3, Informative

      You are allowed to use it. You choose not to.

    2. Re:No GPL by caseih · · Score: 4, Insightful

      You've been misinformed. I don't blame you, but you've apparently never read the GPL. It explicitly says:

      You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

      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!

    3. Re:No GPL by pem · · Score: 2

      You must be a sociopath then, or work for one.

      I've always envied people who can see the universe in black and white.

      It scares the shit out of me whenever they get any sort of power, though.

      That's really the only reason to not use something with a copyleft license.

      Because they prove over and over that they are incapable of rational thought.

    4. Re:No GPL by just+another+AC · · Score: 2

      You are allowed to use it. You choose not to.

      I do not intend to re-write the same code twice. My personal time is finite.

      If my employer says I am not allowed to use it, that is not a choice.

      and the argument "It's helpful for the community if people's useful modifications to your program are made public" ... well if I am forced to use another solution then this potentially helpful code will not be written for your project in the first place, so there is 0% chance of it being made public because it will not exist.

      Remember: Sometimes allowing more people to play has benefits, even if they do take their bat and ball and go home at the end.

    5. Re:No GPL by ranton · · Score: 2

      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.

      You must be a sociopath then, or work for one.

      That's really the only reason to not use something with a copyleft license.

      No, another very valid reason not to use copyleft code is because you are developing proprietary software where you do not intend to release the source code. Do you truly believe everyone developing closed source proprietary software is a sociopath? I am not sure even Richard Stallman thinks that, and I thought his was the most extreme opinion in the free software community.

      I am developing software that takes use of many open libraries, but only ones that are truly open. This is because I currently intend to release the software with a dual license similar to MySQL. If I can find a way to fund the project another way I will, because I would prefer the software to be completely free, although I don't want to back myself into a corner and limit my options in the future by using GPL code.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
  4. WTFPL by Sigvatr · · Score: 3, Informative

    Real men use the WTFPL, https://en.wikipedia.org/wiki/...

  5. Probably GPL, but depends on Apple by mx+b · · Score: 4, Informative

    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.

    1. Re:Probably GPL, but depends on Apple by mark-t · · Score: 2

      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.

      Incorrect... Copyright says that you can't legally make a derivative work at all without permission from the copyright holder. The GPL gives people such permission when they agree to abide by its terms. If they don't agree, they don't have permission to do it in the first place, which is the default status for any copyrighted work, anyways.

      What's viral about that?

  6. FSF was very non-specific, and probably wrong by raymorris · · Score: 2, Insightful

    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.

    1. Re:FSF was very non-specific, and probably wrong by Anonymous Coward · · Score: 3, Informative

      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.

    2. Re:FSF was very non-specific, and probably wrong by Kjella · · Score: 2

      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.

      The way copyright law defines distribution it essentially means transmit, like over radio and TV or down a wire. There's a very limited exception carved out for passing along transitory copies unaltered so each node on the Internet isn't liable for everything passing through just the source and potentially the sink. Moving a copy physically around never invokes copyright, which is why Apple is on the hook and the post office not. And Apple's software storing it on the user device leads to vicarious and contributory liability if they violate the reproduction right, since they're both materially contributing and profiting from it.

      This is pretty much straight up copyright law, not the FSFs opinion. I haven't read up on exactly what beef they have with the app store's terms, but Apple's activity very clearly falls under copyright law.

      --
      Live today, because you never know what tomorrow brings
  7. Re:This is not allowed by the GPL. by jedidiah · · Score: 2, Insightful

    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.
  8. GPL/BSD by phantomfive · · Score: 5, Insightful

    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."
  9. Unlicense by darkain · · Score: 4, Interesting

    Unlicense, and done. http://unlicense.org/

  10. Depends of what you mean by "Use" by williamyf · · Score: 3, Informative

    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!