Page 1 of 2

How to pick a license (in under 5 minutes time!)

Posted: Thu Nov 08, 2018 05:30
by sofar
So you just made this mod, and now, you're thinking: How do you pick an appropriate Open Source License?

If you have 10 seconds of time at most, pick LGPL-2.1 for code, and CC-BY-SA-4.0 for all artwork (textures, sounds, models and other text). Put the contents of this link in all your code files, and put a statement somewhere with your artwork files stating the CC-BY-SA-4.0 license applies to them. You're done!

Have more time? Want to understand more? Why did I pick the above options?


First, We generally prefer to use OSI approved software licenses for code. Click this link to see what common licenses are OSI approved and which ones are not. In general, OSI approved licenses are "proper" open source. Note that none of the CC licenses are OSI approved licenses. This narrows down the list of licenses to choose from significantly.

Second, Minetest is largely LGPL-2.1(or later) for code, with CC-BY-*/CC-BY-SA-* for artwork, so, for best compatibility with minetest and other large minetest projects, choosing the same licenses is going to make your mod or content the easiest for other people to reuse, improve, and re-share without impact to your rights.

Third, CC licenses are not compatible with OSI licenses. They are not meant for code and pose significant adoption problems for code that is licensed with them. So stay away from licensing code as CC-*.. One major contention point is that CC-* licenses do not contain a disclaimer of warranty statement, and can therefore potentially get you in legal trouble!

Less restrictions, please!

Choose MIT or ISC instead of LGPL-2.1 for code. Choose CC-BY-4.0 for artwork.

Even a little bit less restrictive?

Stick to ISC, and do CC0 for artwork.

Even less restrictions!!!

No, please, do not do this. Anything less than "attribute the original author" is already enough. Do not use WTFPL , do not use Unlicense, do not use Public Domain attribution. Because Public Domain doesn't exist in many countries, it means people are not able to legally use the software because it is still copyrighted.

But why is WTFPL bad? People don't like what the "F" stands for?

It is bad because it is a wrong way to do Public Domain attribution. And we just told you that Public Domain is a problem because it makes it harder to reuse software in the first place. Also, schools hate it, and it could get filtered out by proxies or labelled "adult" which means kids may not be able to use your software, at all.

But I don't like that servers can keep modifications to my mod!

Choose AGPL-3.0 for code. Choose CC-BY-ND(!)-4.0 for artwork.

But -ND licenses are not permitted on the MT forums and Content DB?!

They are not. (!)Sorry. Just choose AGPL-3.0 for code and use CC-BY-SA-4.0 for artwork if you want it on the forum, but you lose out on being able to restrict people from making modifications to your artwork. Your code will be covered though, and server operators are not allowed to "keep secret" modifications to your code.

What's up with Apache license? Why are they not listed?

Apache was problematic in earlier versions. The new version (2.0) is not used much at all in the Minetest community. On top of that, it isn't compatible with the most popular licenses used by most Minetest projects (LGPL-2.1, and others), and that means that you probably want to avoid it so people can use your code in their projects more. While Apache-2.0 is compatible with GPL-3.0, it isn't compatible with minetest or minetest_game and many other games. This makes it a less desirable license.

But what about ... ?
Feedback, and discussion of this topic thread is welcome. From time to time I may adjust the generic advise in this topic to better capture the decision points and keep things simple. Let me know!

Re: How to pick a license (in under 5 minutes time!)

Posted: Thu Nov 08, 2018 06:01
by benrob0329
I'd say that Apache 2.0 is not really new (being created in 2004) or unused. Perhaps in Minetest, but by that logic WTFPL is probably the most applicable license. Outside of Minetest, its used by 976,266 repositories on Github, which granted is minuscule by comparison of MIT (3,424,847 repositories) but is certainly nothing to scoff at. Its also more flexible than MIT, with the ability to be a full attribution license and not just require the copyright statement in source. While it is incompatible with GPL < 2, it is fully compatible with GPL 3 (and by extension, LGPL).

On another note, if someone did want to waver all rights to their code, I believe it is legal to license it under CC0 (which is equivalent to releasing it into the Public Domain). Though I wouldn't recommend this either, but thats just a matter of opinion.

Overall, very good explanation for people new to OSS licensing.

Re: How to pick a license (in under 5 minutes time!)

Posted: Thu Nov 08, 2018 06:25
by sofar
benrob0329 wrote:Apache 2.0
Significantly rewrote this section. Mostly avoiding details and explaining the incompatibility with the larger portion of MT projects' licenses.

Re: How to pick a license (in under 5 minutes time!)

Posted: Thu Nov 08, 2018 10:15
by LMD
Mozilla License would be interesting, too.
https://tldrlegal.com/license/mozilla-p ... .0-(mpl-2)
The interesting part(quoting TL;DRlegal) :
but you can combine the MPL software with proprietary code
and it also says that you may not recycle the trademark, a specific part which I like very much.
For reference, the licenses stats on GH :
https://blog.github.com/2015-03-09-open ... ithub-com/
Image
According to those stats, the BSD licenses should probably also be mentioned ?
Very useful too read. Was stunned when I learned that CC licenses can get you into legal trouble(already used cc for some stuff).

Re: How to pick a license (in under 5 minutes time!)

Posted: Thu Nov 08, 2018 13:02
by Wuzzy
Thanks for the post, I hope it will help future readers.
I mostly agree with the post, but some things I have to complain about. I believe some things are not as newbie-friendly as you think.

My biggest problem is that you did poor in justifying stuff. You're just saying what to do. While I understand that this is just meant as an instructional post, I fear this might not be very convincing. Maybe people will disagree with your recommendations.
Put the contents of this link in all your code files
Well, that's certainly taking more than 10 seconds. :D
Also, is it REALLY required to do this? Sounds very annoying to me, especially if you have lots of files.
Second, Minetest is largely LGPL-2.1(or later) for code, with CC-BY-*/CC-BY-SA-* for artwork, so, for best compatibility with minetest and other large minetest projects, choosing the same licenses is going to make your mod or content the easiest for other people to reuse, improve, and re-share without impact to your rights.
Perhaps you should briefly say what this actually does, legally. Say that these licenses legally protect the creator from exploitation (thanks to -SA) and misattribution / false attribution, but they also allow us, the community to use, share and remix freely without fear.
Maybe also hint that practically all of the community has decided to release things under free software / free culture licenses, which means the reader enjoys the same freedoms. So as a matter of “giving back to the community”, choosing free licenses as suggested would be the right thing to do.

The reason why I bring this up is because if we write a good reason to do as you say, it's more convincing and does not read like an order.
But I don't like that servers can keep modifications to my mod!

Choose AGPL-3.0 for code. Choose CC-BY-ND(!)-4.0 for artwork.
How does CC BY-ND 4.0 make even sense in this situation? CC BY-ND 4.0 does not force the server operator to publish the artwork separately, but instead forbids to do ANY changes whatsoever. This is obviously “overshooting” and much more restrictive than the intended outcome. And it's not really an “artwork equivalent” to AGPL.
This is not a good recommendation.
Less restrictions, please!
Even a little bit less restrictive?
Even less restrictions!!!
The titles are poorly chosen and it is not clear at all of what restrictions you're talking about. This will not really help a newbie, and only add confusion because you're just name-dropping here and the newbie has no clear choice, just bunch of weird letter combinations.
Even less restrictions!!!

No, please, do not do this. (…)
Umm, this section does not make sense because CC0 and ISC and MIT are already having no restrictions. I think it should be reformulated completely. Please change the question to something about the WTFPL and over “bad” all-permissive licenses specifically. Also don't forget to recommend an alternative like MIT or CC0.

I prefer to use the term “free software” over “open source” because the emphasis is on freedom, not just the “open source code”. I do not reject the term “open source” completely, but I see way too often that open source proponents usually only argue from a purely practical standpoint, rather than an ethical one. For example, there's a popular bad argument that says that open source software (or free software) magically tends to be better feature-wise. This is not true.

Also, it's called “Minetest Game” now, not “minetest_game”. :P


SUGGESTIONS:

In general, the meaning of a license should be briefly explained. Also, links to all of the licenses would help a lot.

I suggest to add a section that caters to people who:
  • Refuse to add a license and/or insist on their full copyright
  • Insist on NC
  • Insist on ND
  • Insist on any clause that restricts an essential freedom (using, sharing, modifying, sharing modifications)
And why we reject or discourage this stuff in this forum or Content DB. My idea: “Imagine what would happen if everyone would insist on their rights. You would need to ask for permission for everything and development would be much less free, less fun, and less efficient.”

At the end, I also recommend to add some links to the philosophy/justification behind free software / free culture:
https://questioncopyright.org/how_to_free_your_work
https://questioncopyright.org/understan ... ee_content
https://www.gnu.org/philosophy/free-sw.html.en

Remember, we have reasons for why we are insisting on freedom, it does not come from nowhere. :-)

Re: How to pick a license (in under 5 minutes time!)

Posted: Thu Nov 08, 2018 20:14
by sofar
Wuzzy wrote:
Put the contents of this link in all your code files
Well, that's certainly taking more than 10 seconds. :D
Also, is it REALLY required to do this? Sounds very annoying to me, especially if you have lots of files.
The topic is about picking a license in under 5 minutes, not how to implement it in under 5 minutes.

Re: How to pick a license (in under 5 minutes time!)

Posted: Thu Nov 08, 2018 20:20
by Glory!
What about zlib? It's similar to ISC but the only restrictions that it imposes is that modified versions *must* tell that they are and the original source must still be zlib, *I thnk*.

Re: How to pick a license (in under 5 minutes time!)

Posted: Thu Nov 08, 2018 21:05
by sofar
Wuzzy wrote: Perhaps you should briefly say what this actually does, legally. Say that these licenses legally protect the creator from exploitation (thanks to -SA) and misattribution / false attribution, but they also allow us, the community to use, share and remix freely without fear.
I really like this, I'll probably add this, verbatim, to the right place.

Re: How to pick a license (in under 5 minutes time!)

Posted: Thu Nov 08, 2018 21:07
by sofar
Glory! wrote:What about zlib? It's similar to ISC but the only restrictions that it imposes is that modified versions *must* tell that they are and the original source must still be zlib, *I thnk*.
Neither is zlib used a lot (in minetest), nor do i really like these statements. In my opinion they are vague about how to resolve the conflict that arises on how to show that it's modified, and really they aren't helping people to make sharing easier, which is opposite of what I think we should be doing.

Re: How to pick a license (in under 5 minutes time!)

Posted: Fri Nov 09, 2018 11:48
by Alcyone
sofar wrote:Do not use WTFPL , do not use Unlicense, do not use Public Domain attribution. Because Public Domain doesn't exist in many countries, it means people are not able to legally use the software because it is still copyrighted.
I just would like to suggest one thing : even if there is not (yet) a juridical background on the WTFPL to my knowledge, one thing is that despite what is written in the licence, it is juridically not clear at all on what, in the scope of the copyright law on which the license is based, the user can really do or not.
I really don't know how it could be interpreted by the different juridiction in each country in the world but in a lot of subjects it often occurs that the country's defaut legal condition (in my country, France, the copyright law) is subtitute to a non clear license. In this uncertainty, WTFPL can't be a good choice.
Wuzzy wrote:I prefer to use the term “free software” over “open source” because the emphasis is on freedom, not just the “open source code”. I do not reject the term “open source” completely, but I see way too often that open source proponents usually only argue from a purely practical standpoint, rather than an ethical one. For example, there's a popular bad argument that says that open source software (or free software) magically tends to be better feature-wise. This is not true.
Wuzzy, I suggest the acronym FLOSS (Free/Libre and Open Source Software), it gathers OSI and FSF points of view while staying quite neutral.

In my point of view, I prefer using Free/Libre software, not beeing neutral, but here in the Minetest community, both point of view coexist so neutral should be the best solution.

Re: How to pick a license (in under 5 minutes time!)

Posted: Sat Nov 10, 2018 00:12
by rubenwardy

Re: How to pick a license (in under 5 minutes time!)

Posted: Sun Nov 11, 2018 04:45
by Kilarin
So, stupid guy here. I originally just licensed all of my MinteTest code as CC0.
After reading some warning recently, I started going back through and adding a brief no warranty notice.
Now you have educated me that CC0 won't work everywhere (thank you), so I need to go with MIT or ISC.

So, a little bit MORE education pretty please. ISC and MIT both seem pretty simple and very similar, but the MIT has a bit more detail on the rights. It looks like the MIT is a LOT more popular. Is there any reason to choose the ISC over the MIT?

Re: How to pick a license (in under 5 minutes time!)

Posted: Sun Nov 11, 2018 05:41
by sofar
Kilarin wrote:So, stupid guy here. I originally just licensed all of my MinteTest code as CC0.
After reading some warning recently, I started going back through and adding a brief no warranty notice.
Now you have educated me that CC0 won't work everywhere (thank you), so I need to go with MIT or ISC.

So, a little bit MORE education pretty please. ISC and MIT both seem pretty simple and very similar, but the MIT has a bit more detail on the rights. It looks like the MIT is a LOT more popular. Is there any reason to choose the ISC over the MIT?
While it's not the intent of the article to go too much deeper, this discussion thread certainly can :)

ISC is basically a cleaned up version of MIT, it leaves out some ambiguous stuff. MIT is more popular, ISC is a bit newer than MIT. Note, there are a few more licenses like MIT and ISC that are mostly similar.

Re: How to pick a license (in under 5 minutes time!)

Posted: Sun Nov 11, 2018 07:14
by ShallowDweller
I have a few (maybe stupid) questions (and sorry about my bad english):

1) What is wrong with the unlicense? It has a "no warranty" disclaimer as far as I know.

2) If I just want to leave a software available to whoever wants to do whatever they want, as long as they don't hold me liable for whatever, and as long as anyone can create derivades without asking anyone any questions or even acknowledging anyone's existence in any way, shape or form, what should I replace CC0 with? Basicaly, if the only protection I want is against that liability thing.

3) In the "Copyright (c) <year> <copyright holders>"/"Copyright <YEAR> <OWNER>" of MIT/ISC, do I have to provide my real name or can I use my nickname/artistic name/whatever as the name of the "owner/copyright holder"? (Likely the dumbest question, but I want to make sure)

4) In the MIT license, there is this line:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
What, exactly, is considered a "substantial portion of the Software"? This is the most information I could find (from searching that link sofar provided). A web search I did the other day didn't clarify anything. (Besides, how am I supposed to use a license I don't fully understand?)

5) Do I need to register the software/art in any specific database for it to qualify for a free lincense (like MIT, ISC, CC-BY-SA, etc.) or is posting it to a place it can be downloaded from and stating that I'm using that license enough? (Very silly question, I know, but the answer is not obvious for newbies... including me...)

6) Did I ask too many silly questions? (If yes, watch out, there'll be more of them MWAHAHAHAHA. But seriously, I often wish I could just state the software's terms of use (like they do with a lot of minecraft mods/texture packs/custom maps) and call it a day. eg: you may use this mod in anyway you want as long as you don't claim to be the original autor nor sue me if the game crashes)

Re: How to pick a license (in under 5 minutes time!)

Posted: Sun Nov 11, 2018 12:24
by LMD
Probably mention some popular examples : WorldEdit for AGPL, 3d armor - LGLP, etc.
based on this ranking :
https://gist.github.com/kaeza/686b90c3f3a9f6786d40
You could probably put them in a spoiler :
Spoiler

Re: How to pick a license (in under 5 minutes time!)

Posted: Sun Nov 11, 2018 14:37
by Kilarin
sofar wrote:ISC is basically a cleaned up version of MIT, it leaves out some ambiguous stuff. MIT is more popular, ISC is a bit newer than MIT. Note, there are a few more licenses like MIT and ISC that are mostly similar.
So ISC is probably a hair better. Thank you very much!

Re: How to pick a license (in under 5 minutes time!)

Posted: Sun Nov 11, 2018 15:52
by LMD
Not at all.
The key message is :
MIT is more popular
When you use ISC, people will first have to look it up and will probably feel unsure about how to proceed(it could "scare" them)

Re: How to pick a license (in under 5 minutes time!)

Posted: Sun Nov 11, 2018 17:17
by Kilarin
LMD wrote:When you use ISC, people will first have to look it up and will probably feel unsure about how to proceed(it could "scare" them)
Ugh, valid point. I really liked CC0, it was very simple. <sigh>

Re: How to pick a license (in under 5 minutes time!)

Posted: Sun Nov 11, 2018 21:53
by ShallowDweller
Kilarin wrote:
LMD wrote:When you use ISC, people will first have to look it up and will probably feel unsure about how to proceed(it could "scare" them)
Ugh, valid point. I really liked CC0, it was very simple. <sigh>
Me too. If I can't use CC0, I want something just as simple.

I find MIT scarrier because that "substantial portion of the software" bit.
Spoiler
They don't explain ANYWHERE what a "substantial portion of the software" is supposed to be. 50% of the lines? That one small block of code that registers an ABM? If I copy a crafting recipe to use it as a base and change the ingredients and output, does that count? Will I have to change my mod's license from whatever it was to MIT if I copy and then modify one ABM and/or craft?

I'm sorry if asking this makes me sound like a troll, but I'm not trolling. I'm asking a question about something that I don't understand, can't find answers about (did I search the wrong terms when visiting the search sites?) and would realy like to understand.
Besides, you can always put a link to the license for people to read instead of making them look it up.

Re: How to pick a license (in under 5 minutes time!)

Posted: Sun Nov 11, 2018 22:42
by GreenXenith
ShallowDweller wrote: I find MIT scarrier because that "substantial portion of the software" bit.
[spoilercontent]
They don't explain ANYWHERE what a "substantial portion of the software" is supposed to be. 50% of the lines?
[/spoilercontent]
You could Google it.
First result.
An excerpt from the accepted answer:
Substantial portion is a legal term. Its exact definition will depend on jurisdiction, be subject to interpretation and possibly including subjective analyses. When in doubt, ask a lawyer. To err on the safe side, assume that it applies to any portion, no matter the size.

On a side note, https://tldrlegal.com/ is a wonderful resource. For example, the MIT license;
Spoiler
Image
I personally prefer MIT. I like to see it as a "Do whatever you want, credit might be nice". I use it for both code and media, which I know isn't exactly the correct way to do it, but it works I suppose.

Re: How to pick a license (in under 5 minutes time!)

Posted: Sun Nov 11, 2018 23:25
by ShallowDweller
@GreenDimond: Thanks for the fast reply.
An excerpt from the accepted answer:
Substantial portion is a legal term. Its exact definition will depend on jurisdiction, be subject to interpretation and possibly including subjective analyses. When in doubt, ask a lawyer. To err on the safe side, assume that it applies to any portion, no matter the size.
This is the only thing different from what I've found in previous attempts to find an answer (I may have used the wrong search terms, so thanks for finding this).
I personally prefer MIT. I like to see it as a "Do whatever you want, credit might be nice". I use it for both code and media, which I know isn't exactly the correct way to do it, but it works I suppose.
Does that mean that someone creating a derived from your MIT-licensed work doesn't need to use MIT as well? (the MIT says you need to include a copyright note.)
And do I need to register my code somewhere other than where it can be downloaded from, or is pasting the license text all I need to do?

By the way, sorry about all those silly questions. I realy get lost when it comes to copyright and stuff (and the internet sometimes gets slow).

Re: How to pick a license (in under 5 minutes time!)

Posted: Sun Nov 11, 2018 23:32
by GreenXenith
ShallowDweller wrote:
I personally prefer MIT. I like to see it as a "Do whatever you want, credit might be nice". I use it for both code and media, which I know isn't exactly the correct way to do it, but it works I suppose.
Does that mean that someone creating a derived from your MIT-licensed work doesn't need to use MIT as well? (the MIT says you need to include a copyright note.)
I'm not 100% certain how it works. I think derivatives have to use the same license, but someone explained to me that there is something about not having to include the specific person or something. I'm not sure. Someone else can probably explain it 100x better.
And do I need to register my code somewhere other than where it can be downloaded from, or is pasting the license text all I need to do?
All you need is the license file.

Re: How to pick a license (in under 5 minutes time!)

Posted: Mon Nov 12, 2018 00:35
by ShallowDweller
@GreenDimond: Thanks for clarifying that :)

Re: How to pick a license (in under 5 minutes time!)

Posted: Mon Nov 12, 2018 00:46
by Punk
Very good!

Most technical views (ideological and legal):
http://c4sif.org/2012/02/are-creative-c ... forceable/

Re: How to pick a license (in under 5 minutes time!)

Posted: Mon Nov 12, 2018 01:48
by sofar
ShallowDweller wrote: 1) What is wrong with the unlicense? It has a "no warranty" disclaimer as far as I know.
It is a public domain attribution, and this is generally not applicable in many countries. This makes it unwanted.
ShallowDweller wrote:2) If I just want to leave a software available to whoever wants to do whatever they want, as long as they don't hold me liable for whatever, and as long as anyone can create derivades without asking anyone any questions or even acknowledging anyone's existence in any way, shape or form, what should I replace CC0 with? Basicaly, if the only protection I want is against that liability thing.
For code, ISC or MIT are your best choices. There are several more similar licenses.
ShallowDweller wrote:3) In the "Copyright (c) <year> <copyright holders>"/"Copyright <YEAR> <OWNER>" of MIT/ISC, do I have to provide my real name or can I use my nickname/artistic name/whatever as the name of the "owner/copyright holder"? (Likely the dumbest question, but I want to make sure)
Nicknames and pseudonyms are entirely legal. Feel free to use them.
ShallowDweller wrote:4) In the MIT license, there is this line:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
What, exactly, is considered a "substantial portion of the Software"? This is the most information I could find (from searching that link sofar provided). A web search I did the other day didn't clarify anything. (Besides, how am I supposed to use a license I don't fully understand?)
Ask a lawyer. Seriously though, this is one of the problems of MIT. As long as this is unclear, you need to rely on legal precedent, and that is unwanted. This is why I prefer ISC myself.
ShallowDweller wrote:5) Do I need to register the software/art in any specific database for it to qualify for a free lincense (like MIT, ISC, CC-BY-SA, etc.) or is posting it to a place it can be downloaded from and stating that I'm using that license enough? (Very silly question, I know, but the answer is not obvious for newbies... including me...)
You do not need to do any of that. It may help though. For instance, suppose someone falsely claims you gave them the code and without a license, or a different license. Now you have proof you published it with your license on a specific date, and published it that way.

The key word is "distribution". You can distribute something on a USB stick or by e-mail. Distributing on a public archive forum gives people a history they can review.
ShallowDweller wrote:6) Did I ask too many silly questions? (If yes, watch out, there'll be more of them MWAHAHAHAHA. But seriously, I often wish I could just state the software's terms of use (like they do with a lot of minecraft mods/texture packs/custom maps) and call it a day. eg: you may use this mod in anyway you want as long as you don't claim to be the original autor nor sue me if the game crashes)
Cute, but, most likely these are a pitfall as they're avoiding important legal terms, and because the websites that these packs were uploaded to already have either violated these licenses, or are violating these licenses as they are the distributors now of the item. This is especially the case with NC and ND clauses which almost always cover these packs. My advice would be to avoid them, as most likely you're forgetting something important or you're just giving your rights away to some sleazy download website inadvertently.