Help us find the right open-source license
October 8, 2012 1:07 PM   Subscribe

I am a software engineer, and my company has decided to open-source my project. Yaaay! Please help us find the right open source license.

We'd like to release the source code for non-commercial use. The project is scientific in nature, and we're mostly imagining students, researchers, and research institutions being interested in it. We want to open-source the project for the good of humanity. However, we do not want our competitors or anyone else to use this code to make money. Is there a ready-made open-source license that fits our needs?
posted by Afroblanco to Law & Government (17 answers total) 4 users marked this as a favorite
 
Most licenses (including GPL) allow the licensee to make money off of their use of the code, so long as the source for the derived code is also available. Creative Commons has specific non-commercial licenses, but I don't know if they're really intended to apply to software, as opposed to say art, or fiction.
posted by tylerkaraszewski at 1:17 PM on October 8, 2012


Am I understanding correctly that you wish to limit all commercial use in all circumstances? Or do you just not want your code integrated into a product and sold? Sometimes products are offered with a free license for non-commercial/institutional/educational use and a license fee for others...
posted by beerbajay at 1:20 PM on October 8, 2012


Response by poster: Am I understanding correctly that you wish to limit all commercial use in all circumstances?

Yes, that is correct. We want this code to be used for education/research purposes ONLY.
posted by Afroblanco at 1:23 PM on October 8, 2012


Response by poster: Also, if it turns out there's no ready-made license for this, what are our other options? Can we write our own license? If so, how should we go about doing that?
posted by Afroblanco at 1:24 PM on October 8, 2012


Not exactly. Part of the definition of Open Source is that there is no discrimination against fields of endeavour - so a license cannot prevent commercial use and be open source.

The Creative Commons Non-Commercial license is an obvious choice, but it's not designed for source code and not recommended. There's also an argument that Creative Commons Non-Commercial shouldn't be applied to scientific content: it's hard to define what "commercial" means, and it will often discourage legitimate use.

I suggest you release the code under either the GPL or the Affero GPL. Neither prevents commercial use, but they both require that any code built using them is also made GPL'd. The Affero GPL is stronger, in that it requires that the source code of networked services is made available to users of those services. This is sufficient to put off most commercial users.
posted by siskin at 1:30 PM on October 8, 2012


To your follow-up question - yes, you can write your own license. Just take an existing license that seems more-or-less right, and edit it as you see fit. Since you have the copyright to your code, you can license it however you like. The MIT license is a short and simple widely used Open Source license that you could start from.

But - please don't do this! License proliferation is a problem in open source development. If you're using one of the standard open source licences (GPL, MIT, BSD, Apache, LGPL, and a few other variants) then someone wanting to use your code can just glance at the license and know that it's good. If you make your own license up, then they'll have a lot more uncertainty about whether they can use it or not, whether it can be combined with any other software that they're using, and they're a lot less likely to use your code at all.
posted by siskin at 1:42 PM on October 8, 2012 [2 favorites]


MAME has a non-commercial license you might find helpful: http://mamedev.org/legal.html#license.

That said, I would recommend against it--it makes it nearly inevitable that your code will disappear into obscurity. Non-commercial licenses also seem to be against the generally accepted spirit of open source, see e.g. the "No Discrimination Against Fields of Endeavor" clause in the Open Source Initiative's definition of Open Source: http://opensource.org/docs/osd. They can be a bit of a headache, too: http://freedomdefined.org/Licenses/NC#The_Case_for_Free_Use:_Reasons_Not_to_Use_a_Creative_Commons_-NC_License
posted by jjwiseman at 1:48 PM on October 8, 2012


Dev here...

A company I heard about wrote a ton of commercial code using APopularJavaScriptFramework as if it were FOSS. Then it was pointed out that the 'free' version is under GPL. So now there's lawyers and stuff, because the company DOES NOT want to release their code (a derived work). They will have to choose between purchasing commercial licensing or GPLing their code (not gonna happen). Or, status quo and see if the vendor notices and cares.

I am told that there's not a lot of case law firming up what constitutes 'conveyance' under GPL(i.e. delivery) so that's why Lawyers.

So there's at least one instance of GPL hindering commercial use.
posted by j_curiouser at 2:34 PM on October 8, 2012


Why open source it if you are going to restrict its use, what does your company benefit from doing so?


I hate "non-commercial" open source licenses for the following reasons:

1) It's against the spirit of "open source"
2) Nobody knows what "non-commercial" really means so you will be playing a game of "whack-a-mole" against everyone who is using contrary to your expectations.
3) The code will get out there anyway if you put it on a repository
4) Your competitors probably don't really care all that much anyway.


You may just want to put it under a "shared-source" commercial license and be stingy with the licenses you give away or make the terms such your competitors don't want to use it.

I'd be tempted to do the following:

Make binary releases for a few select platforms.
Make an offer for shared source (not open source) licenses to be available upon request.
Mark up all your files explicitly with your copyright and license terms

e.g. Copyright 2012 SomeCompany
All rights reserved
This code requires a signed license to be used, contact sharedsource@somecompany.com for more information.
posted by bottlebrushtree at 2:35 PM on October 8, 2012 [1 favorite]


This question was asked on Stack Overflow a couple of years back and the answer was that there aren't any common ones.
posted by It's Never Lurgi at 2:35 PM on October 8, 2012


The reality is that releasing source code for non-commercial use only pretty much kills any likelihood that anyone will ever use your code, except for a few academics who will toy with it if they think they can get a paper out of it.

Everyone else is going to think: "If I want to actually *do* anything with this code, then I'm going to be treading on eggshells the entire time worrying about whether what I'm doing counts as commercial use or not (and lawyers can be quite, um, expansive about what counts as commercial use). Sure, I could contribute code out of the goodness of my heart, but why spend my time on something that no-one else is going to use?"

If you want to make it free to use for non-commercial purposes, then release binaries under an appropriate licence. Don't release sources and expect the open source magic pixies to suddenly appear dragging endless patches in their wake. (In fact, even if you did choose a real open source licence, the odds on hoards of open source pixies appearing are pretty long, but choosing a non-commercial licence pretty much guarantees their absence.)
posted by pharm at 2:50 PM on October 8, 2012 [1 favorite]


Hmm. I think I meant herds there. Too late for the edit window as well :)
posted by pharm at 3:03 PM on October 8, 2012


If you want to restrict commercial use of your software, it's not an open source license (see: Freedom 0; the Open Source definition. So none of the existing licenses is going to be suitable.

So the process is the same as for any other non-free license: hire a lawyer, and ask them to write you a license. You could use an existing open source license (OSI has a good list of licenses by category) as a starting point, but your license will be a completely new license, and you really need a lawyer versed in copyright law to get it right.

It's important to note that if you add a few words to, say, the MIT license you don't have a "sort-of MIT" license; as far as the law is concerned you have a completely new license. You can't rely on the legality of your "base" license if you've modified the it in any meaningful manner.

I'm not a lawyer. To the best of my knowledge the above is correct, but if it's important don't trust me, please.
posted by jacobian at 3:35 PM on October 8, 2012 [1 favorite]


You'll need to be careful defining what "commercial" means. Most non-commercial licenses that do exist actually prohibit use by academics, since the academics are typically getting paid or funded.

Let us know if you find something useful!
posted by vasi at 3:47 PM on October 8, 2012


Just chiming in here to say that I used to do licensing for the FSF, and for all the reasons that everyone else has already mentioned, you (a) don't want to do a non-commercial-use-only license and (b) won't find such a license that meets either FSF's Free Software Definition or OSI's Open Source Definition.
posted by novalis_dt at 8:43 PM on October 8, 2012


Most academics have commercial ties, and don't want to adopt somebody else's software unless it glows in the dark and lays golden Nature papers.
posted by benzenedream at 9:58 PM on October 8, 2012 [1 favorite]


Response by poster: Yeah, I'd really like my company to go full-on open-source, but I dunno if that's gonna happen. Probably not, sadly. It's looking like we'll probably just write our own license. Not ideal, but at least we'll be publishing it and sharing it with the rest of humanity. And who knows? Maybe it'll help somebody.
posted by Afroblanco at 4:39 PM on October 13, 2012


« Older Help me outfit a budget home gym   |   Could somebody please fire this schmuck? Newer »
This thread is closed to new comments.