Construct's Armory

Construct's Armory

30M Downloads

Licensing concerns regarding add-on

asiekierka opened this issue ยท 9 comments

commented

I'm the developer of a Tinker's Construct addon called Tinkered Hegemony, which allows users to remove and replace vanilla tools across the game with Tinker's Construct tools.

An often-requested feature is to add support to Construct's Armory, particularly regarding removal of vanilla armor and replcaing it with Construct's Armory armor. However, I have run into a licensing difficulty.

This is the way in which Tinkered Hegemony disables tools:

https://github.com/asiekierka/TinkeredHegemony/blob/master/src/main/java/pl/asie/tinkeredhegemony/TinkeredHegemony.java#L95-L100

As you can see, this involves linking to Tinker's Construct classes. As the mod is MIT, this is completely fine - however, with the GPLv3, this would require my own mod to be licensed under the GPLv3, which is something that - for whatever reason - I am not keen on doing.

I see three solutions to this:

(a) Change the license of Construct's Armory or some parts of Construct's Armory to LGPLv3, so that linking to non-GPL-licensed source code is permitted,
(b) Create a secondary mod which talks between Tinkered Hegemony and Construct's Armory which is itself GPLv3,
(c) Add an integration to Construct's Armory which communicates with a specially constructed API in Tinkered Hegemony as to have the linking logic happen on its side, not mine.

Are you interested in any of those solutions in particular, do you have other ideas, or are you not interested in such integration at all? Please let me know soon, and thank you for your modding efforts.

commented

Thank you for bringing this to my attention. I've considered the options and I've decided to change the license of Construct's Armory in its entirety to LGPLv3 going forward. This will be put into effect starting with the next update. Please let me know if you need anything else for integration in the future, I'd be happy to help to the best of my ability.

commented

I'll get to work as soon as possible - my schedule is a bit rough right now, so I'm mostly going through planned features and taking care of the "paperwork". I'll let you know! Thanks!

commented

@TheIllusiveC4 However, I hope you're aware of the LGPLv3's practical differences? (In a very short non-legal-advice tl;dr: The source code itself cannot be closed, but one can make code linking to it which is closed, which includes addons etc. - do keep in mind, though, that many mods which could be interested in integration can well be closed already, that's just how it is in MC modding.)

commented

I'm indeed aware, but thank you for the heads up. Truth be told, I was quite ignorant about the differences before you brought this up. However, I've got the gist of it now and I'm quite comfortable with this change.

commented

Okay, thank you! Always make sure to research license differences carefully - you can't just retroactively say you didn't intend something to be licensed in a specific way, and I'm comfortable with waiting as my schedule is packed for the next two-three weeks anyway.

commented

I'll be sure to do so, thank you for the advice.

commented

Licensed changed in 4297743

commented

Really minor nitpick (not that many people care about it, but if I'm going the full mile to explain things I might as well):

The LGPLv3 is an "addon" to the GPLv3 of sorts, granting additional permissions on top of it and not a standalone license. It is wise to distribute both (as, say, LICENSE for the LGPLv3 part and LICENSE.GPL for the GPLv3 part).

This is not something anyone will complain to you about, myself included, but if we're going the full mile it's probably wise to mention.

Thank you so much! As soon as I find some free time I'll add the support.

commented

Ah yes, you're quite correct. That was an oversight on my part. I'll include both licenses in the future.