To all mod devs: How to be a good upstream

Post Reply
User avatar
Natureshadow
Member
Posts: 10
Joined: Sun Sep 08, 2013 19:24

To all mod devs: How to be a good upstream

by Natureshadow » Post

Hi mod devs,

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.
That's it so far! If you would like to see your mod in Debian (and Ubuntu in turn), and feel your mod is popular/important/cool/spooky enough, feel free to contact me by mail or some other way. If you have questions in regard to the proposals above, just ask!

Cheers,
Nik

This proposal is published under the terms and conditions of the CC-BY-SA-3.0 Unported license.
Last edited by Natureshadow on Mon Sep 09, 2013 10:48, edited 1 time in total.

User avatar
PilzAdam
Member
Posts: 4026
Joined: Fri Jul 20, 2012 16:19
GitHub: PilzAdam
IRC: PilzAdam
Location: Germany

by PilzAdam » Post

Natureshadow wrote:same license as Minetest itself, which is GPL version 2 or later
No, Minetest uses LGPL 2.1 or later.

User avatar
Natureshadow
Member
Posts: 10
Joined: Sun Sep 08, 2013 19:24

by Natureshadow » Post

PilzAdam wrote:
Natureshadow wrote:same license as Minetest itself, which is GPL version 2 or later
No, Minetest uses LGPL 2.1 or later.
Sorry, I mixed something up there. Corrected, thanks!

User avatar
PilzAdam
Member
Posts: 4026
Joined: Fri Jul 20, 2012 16:19
GitHub: PilzAdam
IRC: PilzAdam
Location: Germany

by PilzAdam » Post

Is it a problem that all my mods have a "rolling release" model? I dont really maintain any releases, I just push to my repo and note something in the forum topic.

User avatar
Natureshadow
Member
Posts: 10
Joined: Sun Sep 08, 2013 19:24

by Natureshadow » Post

Hi,
PilzAdam wrote:Is it a problem that all my mods have a "rolling release" model? I dont really maintain any releases, I just push to my repo and note something in the forum topic.
It is not a problem. A well-planned release model certainly makes life easier for packagers. As far as Debian is concerned, we have a system that monitors upstream websites for new releases so the maintainers know when to update. With a "rolling git release", we cannot determine whether a commit is worth updating the package or not and have to do a lot of manual work. But if you do not want to create tags or releases, we can still work with you.

ch98
Member
Posts: 463
Joined: Wed Jan 02, 2013 06:14

by ch98 » Post

How exactly is WTFPL not good? I don't see any problem with it.
I have stopped playing minetest, and may not come back to it again. I would like to thank everyone that made the amazing time I had playing it. This account is not in use anymore, and the email has been linked to a unused account. If any administrator reading this has time, feel free to delete my account. Thank you very much for the great experience.

User avatar
Natureshadow
Member
Posts: 10
Joined: Sun Sep 08, 2013 19:24

by Natureshadow » Post

ch98 wrote:How exactly is WTFPL not good? I don't see any problem with it.
Some jurisdictions are still very unclear about open source licenses. As a Linux distribution, we have to make sure that the software we include can be legally distributed in all countries. This is why it is questionnable to include software that was placed in the (American) public domain - German laws do not allow any resident to give up their rights, and it is unclear what restrictions that imposes on importing software from foreign public domains. The WTFPL is very close to that - in any case, it is questionnable. As far as I am concerned, I think it is a perfectly valid license - but there are different opinions among Debian members.

The key here is that we all work together as a community, and noone likes discussing or analyzing such issues. I understand that developers who choose WTFPL just do not care very much about what happens to their code, but it makes life harder for other people. So a good trade-off would be good - the 2-clause BSD license is close enough to the WTFPL so you can be sure that all important rights are granted to others, while distributors still do not have to cope with the issues introduced by a potentially unclear license.

Again, if you really want WTFPL take it.

User avatar
ak399g
Member
Posts: 160
Joined: Tue Jul 30, 2013 02:36
In-game: SAFR
Contact:

by ak399g » Post

What separates LGPL from GPL?
aka SAFR

User avatar
Inocudom
Member
Posts: 3121
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

by Inocudom » Post

Welcome to the Minetest community, Natureshadow. I sincerely hope that you will stay with us.

Sokomine
Member
Posts: 4289
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

by Sokomine » Post

Thank you for making packages of Minetest for Debian! About a year ago, the version of MT was so old it didn't connect to any servers.

Discussions about liscenses have led to some irc-"wars" in the past. The forum requires a liscense to be present for posting in mod releases. Quite a lot of liscences may be choosen just to be able to get the mod officially released (at least by those who just want others to be able to use their creations without much fuss). To my knowledge, any author can release his/her work under diffrent liscenses. So if someone chooses WTFL, it ought to be no problem for that modder to provide a LGPL 2.1 or later at the same time?

Code duplication is a problem with a few limited functions (mostly ore generation, functionality of a furnace). I havn't seem much of it elsewhere. Perhaps because mods are either pretty simple as far as code goes or written by people who know their job. What may happen a lot is that a mod is no longer maintained by its original creator, and other people create new, slightly modified versions. There are also modpacks which combine individual mods.

Documentation is another matter. Mostly it's not in the github repository. The documentation is - except for a few very complex mods - in the thread describing the mod here in the forum. When several free image hosters stopped their service, this was very bad as some documentation as to receipes and how a mod looks and functions got lost. Images are usually not placed on github as they would increase download size. For documentation purposes, saving that first article of the mod's thread together with the images might be the most helpful approach. If that is possible.

The choice which mods ought to be included may not be easy. Some are obviously only of intrest for multiplayer servers (locked signs, anti-grief-mods etc.), while others cover very diffrent parts of intrest. Fortionately, most mods do not contradict each other. Even simple mobs and mobf can be run together - as long as the machine is fast enough. Moreblocks and homedecor have become an almost-standard on most servers as they are very useful for building purposes.

There is also an attempt of creating an ingame mod manager. For new players, the question where and how to get mods and which to select is a very difficult one which decides a lot about how the game will feel like. Servers with a diffrent set of mods can be very diffrent in experience.
A list of my mods can be found here.

User avatar
PilzAdam
Member
Posts: 4026
Joined: Fri Jul 20, 2012 16:19
GitHub: PilzAdam
IRC: PilzAdam
Location: Germany

by PilzAdam » Post

If the a mod is under WTFPL, then you could simply distribute it with a different license in the Debian repos; WTFPL allows that.

User avatar
Natureshadow
Member
Posts: 10
Joined: Sun Sep 08, 2013 19:24

by Natureshadow » Post

Hi,
ak399g wrote:What separates LGPL from GPL?
the GPL forces all derivative works to be under GPL again. LGPL says you can link against it as a library, without putting your code under GPL. In essence, Minetest's LGPL license allows for proprietary or differently-licensed mods - which created the chaos at hand ;).
PilzAdam wrote:If the a mod is under WTFPL, then you could simply distribute it with a different license in the Debian repos; WTFPL allows that.
Yes and no. You are right in terms of the license - but there are jurisfictions that might not accept the WTFPL as a license at all, and legaly we are not allowed to use it there or even relicense your work there.

Again, there is no problem with WTFPL right now, but there are developers who see issues. I will personally accept WTFPL until Debian makes an official decision about it. However, better be safe than sorry, so my proposal is to use a more detailed license.
Sokomine wrote:Thank you for making packages of Minetest for Debian! About a year ago, the version of MT was so old it didn't connect to any servers.
Debian comes in the flavours ancient, old and broken, nicknamen stable, testing and unstable ;). Part of what I ant to do for Debian is making and keeping it attractive for young people, and that involves helping at maintaining popular games.

But this post is also about other ways of distribution - I have planned to build Minetest install CDs for Windows as well, containing an installer for the game and popular mods, and hand them out to kids I know so they can see that Minetest is a lot more than just a Minecraft clone.

-nik
Last edited by Natureshadow on Mon Sep 09, 2013 05:52, edited 1 time in total.

User avatar
jojoa1997
Member
Posts: 2890
Joined: Thu Dec 13, 2012 05:11
Location: Earth

by jojoa1997 » Post

Natureshadow wrote: But this post is also about other ways of distribution - I have planned to build Minetest install CDs for Windows as well, containing an installer for the game and popular mods, and hand them out to kids I know so they can see that Minetest is a lot more than just a Minecraft clone.
-nik
That is cool. Maybe you could also put up a download of the files that would be on the cd's because i might make to to make it easier for some friends to get the game.
Coding;
1X coding
3X debugging
12X tweaking to be just right

User avatar
Natureshadow
Member
Posts: 10
Joined: Sun Sep 08, 2013 19:24

by Natureshadow » Post

Hi,
jojoa1997 wrote:
Natureshadow wrote: But this post is also about other ways of distribution - I have planned to build Minetest install CDs for Windows as well, containing an installer for the game and popular mods, and hand them out to kids I know so they can see that Minetest is a lot more than just a Minecraft clone.
-nik
That is cool. Maybe you could also put up a download of the files that would be on the cd's because i might make to to make it easier for some friends to get the game.
Of course, I will create a download place for the bundle and post on the forums, or even get it linked on the Minetest download page in some way.

Thanks for your intereset!

-nik

User avatar
jojoa1997
Member
Posts: 2890
Joined: Thu Dec 13, 2012 05:11
Location: Earth

by jojoa1997 » Post

Natureshadow wrote:Hi,
jojoa1997 wrote:
Natureshadow wrote: But this post is also about other ways of distribution - I have planned to build Minetest install CDs for Windows as well, containing an installer for the game and popular mods, and hand them out to kids I know so they can see that Minetest is a lot more than just a Minecraft clone.
-nik
That is cool. Maybe you could also put up a download of the files that would be on the cd's because i might make to to make it easier for some friends to get the game.
Of course, I will create a download place for the bundle and post on the forums, or even get it linked on the Minetest download page in some way.

Thanks for your intereset!

-nik
another idea could be adding an installer where you choose what version,mods,and tezturepacks could be added.
Also there is a service like I suggested already but it is online and not a program. viewtopic.php?id=5605
Last edited by jojoa1997 on Mon Sep 09, 2013 12:18, edited 1 time in total.
Coding;
1X coding
3X debugging
12X tweaking to be just right

User avatar
Natureshadow
Member
Posts: 10
Joined: Sun Sep 08, 2013 19:24

by Natureshadow » Post

jojoa1997 wrote:another idea could be adding an installer where you choose what version,mods,and tezturepacks could be added.
Right now, the most important part is to break that darned "Minetest is cool, but I want a Minecraft server because none of my friends have Minetest" parole by providing a Minetest bundle that is, out of the box, more feature-rich than Minecraft.

@Mods: Could one of you please cut the Windows bundle discussion off into a new thread in the appropriate place? Thanks :)!

Post Reply

Who is online

Users browsing this forum: No registered users and 32 guests