Do you ever think.. I wish I was a legally smart in fact I wish there was a tool to just describe my project and get the right license. Anyway, do you read the license or think much beyond what seems to be the default MIT (terrified that there is even a default) did I just sell the rights to my program and what are my rights anyway? Love to hear what you think about licenses and what you like to use.
For further actions, you may consider blocking this person and/or reporting abuse
Latest comments (33)
I only really cared for my small rust library. Decided to go with the same dual licensing as rust itself, MIT and a pop Apache. Unless you plan to make money with it, MIT seems a good choice.
When I write for an ecosystem (e.g. a plugin for some tool, or a lib specific to a given toolkit/framework) and don't really care, I just adopt the same license as the thing I'm building upon/for.
For a Maven or Gradle plugin (and most Java projects) I pick up the Apache License, for a Go library the "New BSD 3-clause".
For bigger projects, I'd be more cautious. For Ozwillo and Ecometer (both applications), we selected the AGPL as it prevents others to "steal" your work and just resell it under another name. For iTowns (a library/toolkit), we selected the MIT (actually dual MIT and CeCILL-B, see below) as we wanted something very open that would specifically allow us to embed it within applications, including modified versions of it.
Also, in France, we have the CeCILL licenses. CeCILL, also called CeCILL-A, is pretty much like AGPL; CeCILL-B like BSD/MIT, and CeCILL-C like LGPL (as a mnemonic, I think of the C as standing for Component; so you have A-B-C ⇔ AGPL-BSD-Component). They're almost the same as those better-known license, except they're written with French laws in mind.
And in Europe, there's the EUPL which is similar to the AGPL (for EUPL 1.2, previous versions were GPL-alike).
Last, but not least, have a look at Contributor License Agreements in addition to licenses (most corps have one, the Apache Software Foundation and Eclipse Foundations have one, many other open source projects don't) :
Just go with GPL or LGPL - easy well known and understood.
If you actually to control what is going to happen to your software the only option it to keep it locked up on an encrypted drive buried under 2 metres of concrete (on a remote island). Anything else is just being hopeful that other people will do the right thing.
I have recently started to study licenses and pretty much end up choosing AGPL for serious projects and MIT for others.
This Tool always helps me ufal.github.io/public-license-sele...
Also have a look at tldrlegal.com/
Another great suggestion thank you so much!
When in doubt start with a license with the highest protections/restrictions (i.e. GPL or AGPL). When accepting contributions do it under the condition that you can change the license in the future to a lesser restricted open source license (e.g. Apache, MIT, BSD, LGPL, ...).
That's another wonderful perspective, I had fears this might be a turnoff or maybe not. I wonder if it is possible to be analytical about this topic. success (adoption rate) / license?
For Java libraries/frameworks Apache License, Version 2.0 is practically a default standard. Rarely there are some MIT-licensed libraries (usually small ones). GPL-derivatives didn't get any sensible attention since they are not commercial use friendly.
That's very useful to know thank you, I will look into the Apache License and see what projects it might suit me.
As far as I care, there are 5 licenses:
with a side-note that GPL/LGPL allow you to re-integrate 3rd party improvements back into your code without issue. So for projects you intend to maintain and improve for a longer period of time it is probably better than MIT.
Sweating the differences between MIT, BSD3, etc. seems like a waste of time and sink for happiness. Worst case scenario, somebody uses something I made in a way I don't want them to, I don't have to let that affect me.
Excellent advise and breakdown thank you 👏
There is a default???
I know that
npm init -y
andyarn init -y
defaulted toISC
andMIT
respectively, though. But I don't think GitHub has default, unless you explicitly create one.Indeed from what little attention I have paid to this subject it seems GitHub and npm default to MIT which got me thinking why is this default and what does it all mean?
Is your software more like a library or more like an end-user application? You derived that probably already from all the other answers, but if you want some adoption, then the more low-level, the more liberal is probably a good rule of thumb.
Think of a 3D game, and all the textures, pulled in from numerous sources would require attribution. You could basically hire some person just to manage that list.
Sorry for my just tangential related examples, but I have a slightly different background here. Next example is blender. Everyone can download a blender build, swap logo and name, hide the GPL text as deep as possible in some folder and sell it. People actually do so now and then, but most likely this is not a very successfull business (there are no numbers about that, obviously).
Restricting commercial usage can be difficult. I am referring to the CC "no commercial" clause. It can be interpreted very strict in court. Like, when the website where to download contains ads, it is already commercial.
And use a default OSI-accepted license, no extra bells and whistles. This leaves a bad impression and people steer away from it because you create some uncertainty by doing so. Examples of how not to do it, are Defold Game Engine and NeoAxis Game Engine (recent examples).
I am totally amateur about that stuff, so please take everything with a grain of salt and collect more opinions.
One question at the end: Let's say you find a nice MIT-licensed lib on github and you are in evil mood and want to make money of it - Would you know how? Is it even reasonably possible? Could you steer traffic away from github to your own shop site, when people search for something-like-your-lib?
I tend to makes libs. I mostly never finish them so they often just sit around. I am pulling in more and more code from others to make my things work so I suppose, how much do I actually own. I guess only the glue code. Anyways I suspect you are correct, can you make money from free stuff?
Well I know an example of this which maybe doesn't fit our world. The fashion watch industry sells watches for 100s of (insert currency) but buy the watches from Alibaba for around 2% of the markup, all they do is brand them and resell them, I suppose that sort of thing goes on in our industry too, who knows. Anyway thanks for taking part in this discussion!
Licenses are so confusing for me since I am not, at all, able to read legal documents. I usually go to choosealicense.com/ to help me make an informed decision. It makes some quick summary notes on different licenses. Really helps break down what they do and how they are used, for my purposes. I would recommend it if you are trying to choose the right open source license.
Snap, that's great advice thank you!