during the last weeks, I have taken up the task of getting the most popular minetest mods into the Debian GNU/Linux distribution. This is quite important, as the availability of Minetest as a free (and great) alternative to Minecraft and other modern games within popular Linux distributions is one of the main factors for the approval of (especially young) users of free and open source software.
First of all, I want to call out a huge THANK YOU to the developers of the mods I have already packaged, as all issues that were encountered were immediately solved. We do not see that very often when dealing with upstream developers!
But as some issues keep reappearing from mod to mod I look at, I would like to point out a few things to the community of mod developers about how to make work easier for those out there who want to distribute all the coolness you create.
- Licensing issues. I have come across an unbelievable amount of different licenses, sometimes even mixed within one mod. Of course, the choice of the license is entirely up to you, and on a side note, all of the licenses I saw were to be considered free and open. However, the choice of license may make our work hard (or impossible) when it comes to packaging several mods in parallel. For example, we had one mod that was released under GPL version 2 only and on that was under AGPL version 3 or later. Both of these licenses are free, but when both mods come together in a distribution, they turn out to be incompatible: Some of the restrictions imposed by the AGPL-3 cannot be fulfilled for the GPL-2 software, and GPL-2, without the upgrade clause, cannot be upgraded to GPL-3, which is compatible. We resolved this issue together with the upstream devs by re-licensing the mods in general. Another incompatibility appeared with CC-BY-SA-2.0 for textures and sounds - it cannot be upgraded and it has incompatibilities with other licenses. On a side note, this does not only have an impact on Linux distributions. All forms of packaging minetest together with two or more incompatibly-licensed mods is illegal. My proposal is that you license your mods either under the same license as Minetest itself, which is LGPL version 2.1 or later, or something lighter, like BSD. If you do not feel comfortable with that for artwork, use CC-BY-SA-3.0 or lighter. Do NOT use GPL version 2 only or CC-BY-SA-2.0. If possible, please do not use WTFPL or the like either - it might not even be a valid license under some jurisdictions. Use something OSI-approved instead.Please, by any means, document this stuff in your Git repo, not (solely) in a forum post!
- Code duplicaiton. If your mod depends on a third-party mod, please do not include that code in your repository or source tarball. If you really feel you need to include the code, please carefully document the code duplication, together with where to get the original source and any changes you might have made. Please always strive to get your changes incorporated by the original author!
- Keep documentation seperate from code. I have seen lua modpacks mixed up with PDFs of documentation, making it really hard to pick parts for /usr/share/doc and for the real mod installation. If in any way possible, please create src/ and doc/ directories in the top level and keep them tidy!
- Provide a working e-mail address. I really like knowing whose code I am messing with, so a real name would be great as well. But nicknames are ok, as long as you provide a working e-mail address so packagers can send you questions and feedback. However, lack of either is not a blocker.
- Tag versions. Please do not just post a link to git master, but when your mod has undergone work that makes it worth upgrading, please release a new version, with a sane version scheme. You can do so by just creating a tag called, for example, v0.2 in git and pushing the tag to Github. You can also host a versioned source tarball somewhere else, of course. Having no real release versions is not a blocking issue, but it makes it easier to determine when the package really should be updated.
This proposal is published under the terms and conditions of the CC-BY-SA-3.0 Unported license.