CraftTweaker

CraftTweaker

151M Downloads

License confusion

asiekierka opened this issue ยท 23 comments

commented

"The mod is licensed under the MIT license with the one stipulation that the name has to be changed, the reason for this is so that we do not have to deal with code that we didn't write.

The mod itself may be redistributed in modpacks as long as these modpacks are distributed for free. No money can be made from the distribution of the mod."

Those two clauses are mildly conflicting, as that makes the project as a whole "not MIT-licensed". However, I think the latter clause has been present in MineTweaker already, so to change that we'd need to probably poke the previous contributors.

commented

Relicensing to something more restrictive would result in well-justified drama, yeah.

Like asie notes, there are probably a huge amount of modpack/server admins inadvertently violating some mods' licenses because they had ads next to the pack or collected donations for their server, etc, and on the other side, you have mod devs who were probably well intentioned and didn't actually intend to be so draconian and anti-user, but the idea of not allowing commercial use sounded tempting in theory and they never talked to a lawyer or other experts before selecting a license.

commented

I believe that this commit resolves this issue.
jaredlll08@6592b96

commented
commented

In past, I intentionally didn't set it to an MIT license since I wasn't sure of my plans with the code. Also, I wanted to have leverage to prevent parties such as 9minecraft to "abuse" our work just for their own profit. (in fact, I did file them a takedown notice using exactly this license as backing, and they did remove Minetweaker from the site)

To me, it's fine to use the code to build upon for other nice things, whatever those are. But I'd like to have (and keep) at least some leverage to say "hey, this is ours, you can't just use it to make a profit". Since that isn't what I made it for.

I'm open to discussion as to which direction we want this to go, and adjust the license accordingly.

commented

@stanhebben

The problem is mostly in terms of code modification and reuse by other developers. What I mean by that is - let's say I want to incorporate parts of the CraftTweaker source code in my mod. Unfortunately, due to the non-commercial clause, this now means my mod as a whole is non-commercial, which might not be desirable (especially if the code is later used in a non-mod context). And clauses such as "you can use parts of the code but not the entire mod in a commercial context" are very iffy - a rogue party could just remove a single, irrelevant class and cal it a "part" of the code and run with the money.

For CraftTweaker in particular, my first suggestion would be to make the project MIT as a whole and instead put restrictions on usage of the project's official name. That way, websites like 9minecraft could hypothetically host the mod, but as they would not be allowed to use the CraftTweaker/MineTweaker name or brand, it wouldn't earn them the clicks they crave so much. (However, one would have to be careful to count out the mod's class package name from this - otherwise, a fork compatible with other mods is still in a somewhat unclear situation).

What do you think about that? Also paging @alexbobp as an interested party.

commented

Or perhaps consider a modification of 3-clause BSD, which adds restrictions not just on the usage of the names of the contributors, but the usage of the name itself.

commented

That is correct. Derived work would need to license it either under a compatible license, or ask me for a license (and if the derived work only uses a small part of the work, they'll also get it). In fact, it is incorrect to call CraftTweaker MIT licensed, since MIT is not compatible with the MineTweaker license and I can't recall being asked for it ;) .

I'll think about the suggestions. Problem is that if we implement it as such, enforcement would be harder. Are there any specific uses you (or others) may have?

commented

Honestly? No, it's strictly ideological, mostly as CraftTweaker is an effective cornerstone of modding with many mods providing compatibility with it as the sole official way of manipulating their state for modpacks, including mods which are otherwise libre and open source. If you aren't willing to do it, I won't push, though.

commented

I don't have definitive stance for it, I just want to make sure to consider the implications carefully before releasing everything completely open. You know, you can always assign a more permissive license, but not in the other way around if you notice it wasn't a great idea ;)

commented

I do agree with what asie said above. You can have a properly opensourced codebase and retain control of your branding (there are many popular examples, like firefox, etc). A proper open source license is needed to give other developers peace of mind.

Say I maintain a mod, and I take a snippet from your code... now my mod must be licensed as MIT-with-provision-A-ducttaped-on. Now later I want to take a code snippet from a mod that is MIT-with-provision-B. What do I get? MIT-with-both-provisions? Nope actually... the licenses are incompatible now, and I just can't do it. It breaks open source, and that's why there are a small group of widely used and well known (as in, well known by lawyers, to actually be written correctly) open source licenses, and something is generally not considered open source if it's not compatible with any of those licenses.

If what you want is control of your branding, then the fact is, this is irrelevant. Anyone can make any tweaks mod and call it CraftTweaker or whatever, and your only actual legal protection would be trademark protection. I'm not sure if you've registered a trademark... If not, it's worth considering if this is a major concern. But the licensing issue keeps people from using your code in their own projects, instead. Ultimately, the best name protection you have, and what you should really count on, is the community: we love our modders and we are quick to gang up on someone trying to deceptively capitalize on someone else's work. If you can contribute your code to the open source community, there are those of us in the community who really care about that sort of thing and will respect you all the more for it.

commented

@stanhebben That is absolutely correct. It's ultimately your mod, and your decision. I guess I'm just trying to offer my personal perspective, but you put in the hours, not me.

commented

I'd like to add, I've been working on an open source modpack, and I have been fairly strict with the definition of open source I apply. Crafttweaker is, of course, nice to have in any pack, if I end up being allowed to use it, so I am biased here towards wanting it open sourced.

The reason I have to be strict about inclusion is to fulfill the promise of the open source modpack to users: they will be able to not only fork and modify the pack, but make any changes they want to any mods therein and publish those changes. Also, of course, to showcase and bring popularity to those mods generously made open source.

commented

Besides the current license already does allow forking and redistribution, albeit with some limitations.

commented

Sure. But my work is ultimately intended to benefit the public. If putting its usage completely open provides a clear benefit compared to having its usage restricted, then I will do so. It's a matter of finding the best solution for its purpose, and I'm always glad to accept input on it.

commented

@alexbobp You're not considering Stan's threat model here. It's not "competitive forks", rather it's "people who monetize other people's unpaid work" and the feeling of unfairness.

commented

If the mod has useful code, that could be useful for modders to include in their mods (which seems overwhelmingly likely), then there is a clear benefit to the community if it is properly licensed as open source. Even if you have some github issue somewhere saying "hey if you just ask, I'll totally relicense snippets to meet your needs," most developers will just see a lack of a clear open source license and move on, for fear of long conversations that might just result in them not getting what they want anyways, which not everyone does as a hobby like asie and I do. I can definitely say that to almost any modder who has an MIT licensed mod now, relicensing their own mod to no longer be open source will seem intolerable.

Beyond what I've said, I can only go in the philosophical direction. There have been many writings on why people think that open source is the way to go. Eric Raymond's The Catherdral and The Bazaar is a classic. Perhaps asie can suggest others. Personally, I very strongly believe that the right attitude here is "if you love it you have to let it go free." You talk about wanting to be able to maintain leverage over what people can do with the mod. The fundamental problem here is not what you want to use that leverage for. You can have the purest intentions in the world, but maintaining the leverage will hamper your software's potential anyways.

You'll have to look into the philosophy and see if you can agree, but to me, it seems that there's ultimately a choice between maintaining control and reaching people. But I think it's a deceptive choice, because the lost control is mostly an illusion. People can fork your work and compete, but they usually won't, because maintaining code is hard. Being the person willing to do that is a large amount of power in itself. If someone does compete with a version of your code that you don't like and don't want to pull changes back from, it might be frustrating in some abstract way, but it doesn't necessarily have to affect your work or the userbase who prefers your version. Ultimately, you're overwhelmingly to find that you maintain full control of the project by simple fact of the community appreciating your work, and you will have more influence if the work reaches more people. At such a time that influence starts to drift away from you, it will probably be because you've started devoting your time to other things, and it will feel fair.

commented

CC with the NC clause is also definitely not open source, and CC is improper to use for software source code, so that doesn't help and muddies things further

commented

Currently discussing with Jared if we should use the CC-BY-NC-SA (https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en) for this case as it is more standard and I think should fit the bill.

commented

It's not exactly clear to me what kinds of monetization we are talking about here... People monetizing their own minecraft modding work is an abstract concept to me, much less someone else's

commented

Good point. I'll think about it further.

commented

@stanhebben CC BY-NC-SA is even worse, as the "noncommercial" clause is very vague and covers just about everything remotely connected with commercial usage, including all of the ways the community accepts and performs right now.

commented

Like, if you want to keep the mod's binaries non-commercial for distribution, I think the best route is just to leave things as-is. Relicensing the project is a bit of a headache, and relicensing it to something more restrictive is probably pointless and could end in drama.

commented

just fyi, the license mentioned in the readme is now different than the one in license.md :0