How to pick a license (in under 5 minutes time!)
Posted: Thu Nov 08, 2018 05:30
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!
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!