3 ms·
I've done this several times with different employers. Here's the unhelpfully brief summary of what I've learned. What license terms do you want? Here are some
by ekidd 16y ago
I've done this several times with different employers. Here's the unhelpfully brief summary of what I've learned.
What license terms do you want? Here are some popular goals, and possible licenses to consider:
"Please don't sue me." -> MIT license or 3-clause BSD.
"Share and share alike (application)." -> GPL
"Share and share alike (library)." -> LGPL
"Share and share alike (hosted server application)." -> AGPL
To play nicely with a larger community (Ruby, Perl, Mozilla, etc.), use the most common license in that community.
Of course, read the licenses and get proper legal advice before deciding. I am not a lawyer. Oh, and don't let your lawyers invent their own license—nobody wants to figure out a non-standard license, so you'll get fewer contributors, and it's a lot more work for you.
- ax0n 16y agoI'm a big fan of the BSD and Apache licenses. For being "Free," the GPL sure does put a lot of restrictions on what one may or may not do with a given piece of code.
- spydez 16y agoI'm a big fan of them because they're the only ones the legal department at work will allow us to use in our products. Using a BSD license means you're being nice to developers. The GPL means you're being nice to users and telling companies/developers to move along.
- _delirium 16y agoI tend to usually be more worried about users than developers, honestly. The BSD license is a bit too enabling of developers who want to put restrictions on their users for my tastes. I'm not sure I take a stand as strong as RMS about what freedoms end-users should have, but imo every user should have at least the right to reverse-engineer software for personal use, while if I BSD-license code, someone can build something on my code that they slap an odious EULA on. I mean, maybe they can build it without my code, too, but I still don't really want to see something I built get tangled up in that kind of thing. In particular, it could lead to me breaking the law! If someone built something using my code that they then kept closed-source and put a "no-reverse-engineering" kind of EULA on, I'd of course be curious how they'd built on my stuff, and would want to reverse engineer it. Quite a temptation! (That said, I do use BSD-style licensing myself for some things, mostly stuff I consider as good as public domain, e.g. a fairly small bit of code implementing a well-known algorithm, even if it's imo a particularly optimized and elegant version.)
- metachris 16y agoIf you want the users to share the full project, then use GPL (or AGPL for server software). LGPL if you want to allow others to use your library in a project without releasing their source, as long as the library was not modified. Choose BSD to let anyone do anything with it without requiring to release their source.