12 ms·
Choosing an OSS license
- sandyarmstrong 13y agoAnother great resource, from the other viewpoint (reading/mixing open source licenses): http://www.tldrlegal.com/ http://www.tldrlegal.com/
- DannyBee 13y agoKind of? It misses important nuances that, in practice, cause the most compliance violations. For example, for LGPL, it doesn't mention you must allow customer modification and reverse engineering for the purpose of debugging those mods. Even people who do everything else right, still mess this up. Some licenses are just not very easily summarized, because they are complex and nuanced.
- sparkie 13y agoThe license combination feature is quite flawed too, as it fails to tell you which license of two you must use in the case where it's required; and in some cases where licenses are not compatible, it fails to mention. (eg, MS-PL and GPL)
- jeltz 13y agoExcellent page. Only thing missing is the GPL vs LGPL issue about viral and non-viral copyleft. I am not saying that being viral is a good or bad thing, it is just a choice a developer must make when picking a license.
- jmillikin 13y agoThe GPL is not more "viral" than any other software license. To distribute a product that uses GPL'd code, the rest of that product must also be under an open-source license, but there is no requirement that everything be licensed under the GPL.
- Sanddancer 13y agoThere are plenty of licenses that are less viral than the GPL, such as BSD, MIT, etc. Furthermore, if you're pulling code from multiple sources, there are licenses, such as CDDL, that are mutually incompatible with the GPL. So yes, looking at virality very much does matter.
- jmillikin 13y agoPlease define your use of "viral". For most discussions about the GPL, people call the GPL "viral" from a misconception that it can't be combined with or depended on by non-GPL code. This belief is obviously wrong, but it persists. Both the GPL and LGPL can be combined with and depended on by non-GPL code, so if the LGPL is not "viral", then neither is the GPL.
- Sanddancer 13y agoViral as in requiring my code to be compatible with the GPL ecosystem, and in restricting my choice of licenses. As I gave as my example, I can use a library licensed under the LGPL, and link it with code licensed under the CDDL. I cannot do that with a library licensed under the GPL. With that GPLed library, I'd have to use a license that the GPL is compatible with. So, if I had a product that I wanted to link with both sides, I would need to license my code under a license that is mutually compatible, such as BSD or MIT; I would be restricted from using certain other copyleft licenses.
- jmillikin 13y ago> Viral as in requiring my code to be compatible with the > GPL ecosystem, and in restricting my choice of licenses. By that reasoning, all software licenses are viral. Even the 2-clause BSD license would be viral, because you're not permitted to distribute it combined with code that it's incompatible with. > As I gave as my example, I can use a library licensed > under the LGPL, and link it with code licensed under > the CDDL. I cannot do that with a library licensed > under the GPL. That's simple license incompatibility. There are many licenses that are incompatible with the LGPL, and you wouldn't be able to distribute the combined work any more than you could a combined CDDL/GPL work. > So, if I had a product that I wanted to link with both > sides, I would need to license my code under a license > that is mutually compatible Again, this is true of every copyright license ever created. That's what "incompatible" means.
- sparkie 13y agoI'd argue that omitting such important differences like the differences between LGPLv3, GPLv3 and AGPLv3 is detrimental to the effort of making licensing "less scary". Given the summaries for GPLv3 and AGPLv3 for example, somebody might think they have identical terms. The only additional information they give is a link to the license text (which is a terrible light grey font on white background). The original license text is what might be scary about licensing: because people struggle to read the legalese. There needs to be a concise summary of how these licenses differ, one that they can comprehend without reading the whole license text. Website is a good idea, but IMO, needs a lot of work, and may even be harmful in it's current state. I'm also not sure why they promote the GPLv2 (without + clause) over the GPLv3 either. That may convince someone that people will always share their code, and doesn't mention tivoization. Seems like a deliberate ploy from someone who dislikes the strong copyleft of GPLv3 family to prevent people using them. I think an improvement would be to have multiple options and to filter down licenses until only a few remain: so eg, when I click "I care about sharing improvements" on the front page, it gives me another few options, like "I want people to share their modifications for hosted websites", or "I want people to be able to use in commercial apps" - which would filter to AGPL and LGPL respectively.
- ajross 13y agoThe use of the term "viral" is generally considered inflammatory and unhelpful. An uninformed reader might be led to believe that the act of linking with GPL software can somehow "infect" proprietary software, causing it to be open source. This is incorrect. The GPL restricts distribution (i.e. the combined work may not be legally distributable to anyone), it doesn't "infect" things.
- orta 13y agoThis is great, and something we as a community need. I work on CocoaPods the objc dependency manager and we have a strict rule of no-unlicensed code. Meaning for a lot of libraries adding themselves to our toolchain is the first time they've ever had to think of the license. As this is a github project, I'd definitely like to make it known that it would be really cool to have some integration with the license on github's side on a per-repo basis. Asking people to create a license when creating a public repos at the same time as a README could really help get people thinking about licensing.
- vrdabomb5717 13y agoGithub seems to have done this: https://github.com/blog/1530-choosing-an-open-source-license https://github.com/blog/1530-choosing-an-open-source-license Their new repo page points to choosealicense.com and lets you choose any of the major OSS licenses, though it does show the MIT, GPL3, and Apache ones in bold. I'd definitely like the option to add a license to my repo after creation though, instead of having to manually add a license to the repo and then pushing it. A UI for asking collaborators if it's okay to retroactively open-source their work under a specific license would be useful too.
- orta 13y agoThis is a start to get people more thinking about it!
- narcissus 13y agoAt some point in the distant past, there used to be a site that had a huge matrix of licenses, that allowed you to look across one axis for one license, down the other axis for a different license and then basically read the consequences of combining code with those two licenses. I liked that site and for the life of me cannot find it again. Things like "can I copy Apache licensed code into this LGPL code" were answered really simply, even when the answer included comments around making changes available, impact on copyright notices etc. Does anyone know of anything similar these days? Don't get me wrong, the site linked here is great, but for me, at least, the fuzziness is in the legalities of combining code...
- jballanc 13y agoI'm not familiar with the site you're thinking of, but the Open Source Initiative has one of the largest treasure troves of license information I know of: http://opensource.org/licenses http://opensource.org/licenses
- rzendacott 13y agoI think this may be the site you were referring to: http://www.tldrlegal.com/compare http://www.tldrlegal.com/compare I was looking up OSS licenses the other day and happened upon it. Edit: It looks like sandyarmstrong also posted it below.
- narcissus 13y agoThat's not the site I was thinking of, but to be honest, it seems to pull off the concept a lot better than the one I remember :) Thanks!
- nwatson 13y agoHere might be something similar: http://en.wikipedia.org/wiki/File:Licenses_colored_by_license_type.svg http://en.wikipedia.org/wiki/File:Licenses_colored_by_licens... ... look at the section "Key" for further explanation.
- thruflo 13y agoIf you "care about sharing improvements" then choose a license to maximise contributions. The GPL imposes major headaches / restrictions on potential adopters. This reduces uptake, which reduces contributions, thereby reducing sharing of improvements.
- sparkie 13y agoPerhaps the wording is wrong, but the intention is that people must share their improvements, not some optional hope that they will. And your claim of restricting potential developers is entirely speculation. e.g, see Linux vs any of the BSDs.
- Sanddancer 13y agoAs a counterexample, look at Apple's opinion of GPLv3. Because there are certain clauses that have open legal questions, such as the ones regarding patents, Apple has very strict requirements for internal developers wishing to use GPLv3 code for any task, with a requirement that no published code be GPLv3. Thus, regardless of quality, Apple decided to switch to, and contribute to, projects that did not have such restrictive legal terms attached to it, giving back even when they had no requirement to.
- stcredzero 13y ago> Thus, regardless of quality, Apple decided to switch to, and contribute to, projects that did not have such restrictive legal terms attached to it, giving back even when they had no requirement to. There is something contradictory about requiring others to act "more freedom promoting."
- sparkie 13y agoIt depends on your perspective though: is your license aimed at developers only, or all end users. The GPL makes it quite clear that there's no distinction between them, everyone is an end user who may not restrict another end user. Other more "permissive" licenses can be used to constrain anyone though, because the developer sees the license was only for him, and those permissions are not relevant for his end user.
- jasonkester 13y agoEvery one of those licenses is more pretentious than I'd like. Does anybody know the closest one to: "Here's some code. Do what you want with it?" As a guy releasing code, I don't want you to feel obligated to me in any way. I don't want you to have to attribute back to me, or even acknowledge in any form that you've used my thing. I certainly don't want to do anything silly like force you to open source the rest of your code. I just want to give stuff away. It doesn't seem like that's very possible these days.
- Afforess 13y agoThe MIT License. http://opensource.org/licenses/MIT http://opensource.org/licenses/MIT . It's about as short as you can get while still satisfying legal types.
- belorn 13y agoStill require copyright notice and permission notice to be included in all copies. If you are a embedded developer, that requirement is still very much there.
- aegiso 13y agoWTFPL?
- Afforess 13y agoI find that these sort of licenses do exactly the opposite, as vulgarity pushes away people who might have used the works otherwise.
- nfriedly 13y agoI'm pretty sure my company uses some WTFPL-licensed software somewhere ;)
- Doctor_Fegg 13y agoExactly that. I've licensed a couple of things as WTFPL. It says: not only can you do what you want, I reject all this GPL-style "my freedom is better than your freedom" buffoonery. If you're afraid of offending people and therefore want to relicense under CC0 or MIT or whatever, you can, because WTFPL allows you to do WTF you like. Obviously.
- gjtorikian 13y ago:trollface: http://www.addalicense.com http://www.addalicense.com
- D9u 13y agohttp://www.freebsd.org/doc/en/articles/bsdl-gpl/article.html http://www.freebsd.org/doc/en/articles/bsdl-gpl/article.html (Last modified on 2013-05-17) I was somewhat disappointed by the dearth of selections presented by the site.
- rogerbinns 13y agoIt is unfortunate that you are forced to pick between three items. In reality I care about all 3, so why be forced to pick between them?
- icebraining 13y agoThey are more or less incompatible. If you want to specify patent protection and/or source sharing requirements, it can't be simple like MIT. And if you want permissive, it makes no sense to demand for source sharing as well.
- reidmain 13y agoI'm a big fan of http://www.wtfpl.net/ http://www.wtfpl.net/
- gohrt 13y agohttp://www.tldrlegal.com/ http://www.tldrlegal.com/ solves this problem more precisely, more accurately, and with less fake dirty paper in the background image.
- pseut 13y agoIt would be useful to have documentation licenses as well.
- pbiggar 13y agoReally, this should just be a big sign saying "use the MIT license". This is a site for beginners to OSS licensing. If this is your first time, just choose the MIT. If it's not the first time, you get to worry about whether you want to restrict reuse with the GPL, whether you prefer the BSD (2-clause or 3?), whether you agree with Stallman's philosophy enough to put up with the downsides of imposing GPL on your users, whether patents affect you, whether you need copyright assignment, whether to set up an entity to own your code, and all sort of other license bullshit. First timers should use MIT, every time.
- jmillikin 13y agoThe GPL doesn't restrict users; it guarantees them access to the source. The GPL restricts middlemen from withholding the source from users.
- foobarbazqux 13y agoThe GPL restricts all non-GPL open source developers by stopping them from changing the license (except to a later version). The converse is hardly true since almost all non-GPL open source code can be relicensed as GPL. Since this erupted into a fireball, here is a link explaining how code licensed under a permissive license can be included in a project that accepts GPL contributions: https://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html https://www.softwarefreedom.org/resources/2007/gpl-non-gpl-c...
- icebraining 13y agoThe GPL restricts all non-GPL open source developers. Nope, only those that want to distribute their changes of GPL licensed projects. You're free to do whatever you want and keep the changes to yourself as long as you never distribute outside your machines or your organization (this allows closed in-house development).
- foobarbazqux 13y agoLook, you're restricted from shooting me with a gun, that doesn't mean you want to shoot me with a gun.
- tlarkworthy 13y agoI tend to dual license. Everybody can have it as GPL or business users can buy a copyright version.
- gte910h 13y agoIf you want your library to be usable on iOS, Windows Phone OS, most game consoles, you should avoid the GPL as they are incompatible with the stores that the applications are sold through.
- bmj 13y agoI have a question about the Apache license....I'm trying to understand if an end user must accept the Apache license if I use a library under it in my software. I do understand that I cannot remove the license from the module source, but I'm not sure what needs to provided to the actual software user.
- belorn 13y agoPrimarily, the license need to be provided to the software user. No user need to accept the license, as it only impact those who redistribute the work. If the user redistribute the work, then they are also bound by the license. Additionally, If you are distributing any source material (images, source code and so on), then any modified file need to include a notices stating that the file has changed. You may also not remove copyright, patent, trademark, and attribution notices in said files. If the Work includes a "NOTICE" text file (also any credit buttons with similar content), you may not remove it. Thats about it.
- snambi 13y agoHey this site is biased. GPL doesn't restrict end-users or contributors. It only restricts distributors (middleman). While permissive licenses such as APL, MIT don't restrict the distributors, even if they remove the rights of end users.