Open gentooza opened 2 years ago
On this topic @bell07 why is it GPL3 only, instead of GPL3 or later as per standard convention?
There is no reason. I am not license expert, was sure the statement in README.md is enough for the project.
Each of the mods do have their own free license. The whynot related work (such as the buiding scripts) are GPL-V3
Please change it as needed.
So to be perfectly clear, for "legal reasons" as it were, @bell07 @dacmot Are you alright if I change the licence to GPL3-or-later
? The benefit of this is that if/when GPLv4 comes out, upgrading to that new version can be done "automatically" in a sense. Stallman has a blogpost on this I can link to if there is interest. (As it turns out, it's also so you can use GPLv3orlater software in a GPL4-any licence)
And for the record, "no" is a perfectly OK and reasonable answer.
I'm absolutely for GPLv3 and later. I have noticed the lack of licenses or the use of LGPLv2.1 in whynot_compat... If you're up for it, please fix it and make it consistent. Thanks!
I'll just do a PR to add the licence as is.
Also, backlinking to https://content.minetest.net/threads/3398/ so I can find it later.
wow, you are fast folks! I'm going to do my part also in a task list for licensing under GPLv3 or later (GPLv3+):
about compatible licenses with GPLV2 and GPLV3 other software and art licenses, compatibility and comments about them
only adding the licensing is a first step, but not the only one! cheers!
Not sure about the artwork. Each mod will have licenses for their own artwork. The only art for Why Not? Game are the crumpled ball logo, and the screenshots. I don't know where screenshots fall legally: is it Minetest? Is it the mod's in-game art showcased? Is it our capture (like a photograph)?
IANAL and don't have the knowledge to determine.
For the copyright holders, would a statement like what Minetest does be OK?
Copyright (C) 2010-2022 Perttu Ahola celeron55@gmail.com and contributors (see source file comments and the version control log)
It does have a good point that git keeps track of all that information much better than any human could by updating the copyright notice.
Technically, the GPLv3 header is optional. Undecided as of yet if I like the idea of doing it for this project.
Here's the count of each code licence used by the mods in this project, and the number of instances:
hbsprint
. the other half is in LGPL-2.1)I am fully aware of some of the "duplicates" but I distinguished any that could reasonably be held to be different by any court of law.
I found that most of the homdecor mods do not have their licence information attached anymore in the built directory. we do actually need to fix that.
Here are the 108 mods where the code licence is not readily apparent, whether by our fault, or the developers fault
building_blocks
fake_fire
home_workshop_misc
homedecor_bathroom
homedecor_bedroom
homedecor_books
homedecor_climate_control
homedecor_clocks
homedecor_cobweb
homedecor_common
homedecor_doors_and_gates
homedecor_electrical
homedecor_electronics
homedecor_exterior
homedecor_fences
homedecor_foyer
homedecor_furniture
homedecor_furniture_medieval
homedecor_gastronomy
homedecor_kitchen
homedecor_laundry
homedecor_office
homedecor_pictures_and_paintings
homedecor_plasmascreen
homedecor_roofing
homedecor_seating
homedecor_tables
homedecor_trash_cans
homedecor_wardrobe
homedecor_windows_and_treatments
lavalamp
my_castle_doors
my_cottage_doors
my_default_doors
my_door_wood
my_fancy_doors
my_future_doors
my_hidden_doors
my_misc_doors
my_old_doors
mese_crystals
food
mesecons
mesecons_alias
mesecons_blinkyplant
mesecons_button
mesecons_delayer
mesecons_doors
mesecons_extrawires
mesecons_gamecompat
mesecons_insulated
mesecons_lamp
mesecons_lightstone
mesecons_materials
mesecons_movestones
mesecons_mvps
mesecons_noteblock
mesecons_pistons
mesecons_powerplant
mesecons_pressureplates
mesecons_random
mesecons_receiver
mesecons_solarpanel
mesecons_switch
mesecons_torch
mesecons_walllever
mesecons_wires
creative_maxstack
playeranim
sfinv_buttons
smart_sfinv_api
smart_sfinv_creative_bymod
smart_sfinv_creative_sitebar
smart_sfinv_tweaks
engrave
maidroid
maidroid_core
maidroid_tool
toolranks
This post took more than 1.5 hours to write, was done by hand, and is likely full of errors.
This post took more than 1.5 hours to write, was done by hand
That's incredible. Thank you.
Cool!
Technically, the GPLv3 header is optional. Undecided as of yet if I like the idea of doing it for this project.
well, theoretically it's not optional, non copyleft licenses as Apache2 are easier to accomplished, as they don't need a license header, but if you want to register a GPL licensed app in the GNU portal (GNU Savannah), for example, it will be mandatory.
But yes, my help is giving the correct information about licensing, but you, of course, can achieve the licensing level you want to achieve.
Here's the count of each code licence used by the mods in this project, and the number of instances:
* MIT: 56
Note non copyleft license compatible with GPLv3+
* LGPLv2.1-or-later: 18
Note copyleft license with linking exception, compatible.
* LGPLv3.0: 1
Note copyleft license with linking exception, compatible.
* WTFPL: 6
Note non copyleft license compatible with GPLv3+
* CC0: 3 (yes it's being used as the code licence)
Note non copyleft license compatible with GPLv3+
* DWYWPL: 1
Note non copyleft license compatible with GPLv3+
* GPLv2.0-or-higher: 1
Note copyleft license UPGRADEABLE compatible with GPLv3+
* AGPLv3: 1
Warning copyleft license NOT UPGRADEABLE, incompatible with GPLv3+ can ask them to change to AGPLv3+?
* GPLv3.0-or-later: 4
Note copyleft license UPGRADEABLE compatible with GPLv3+
* Unlicense: 1
Warning unlicense? this means closed source, or is it in the public domain?
* LGPL-2.1: 5.5
Note copyleft license with linking exception, compatible.
* Apache Licence 2.0: 1
Note non copyleft license compatible with GPLv3+
* EUPLv1.2-or-later: 1
Warning incompatible with GPLv3+, but can be relicensed
* CC BY-SA 3.0 : 0.5 (ambiguous licencing for `hbsprint`. the other half is in LGPL-2.1)
Warning CC-BY-SA 3.0 has problems with GPLv3+ see here LGPLv2 works fine, I think we can continue with this, as in the future CC-BY-SA surely will be compatible with a possible GPLv4, etc.
* GPLv2.0: 1
Warning copyleft license NOT UPGRADEABLE, incompatible with GPLv3+ can ask them to change to GPLv2+?
* GPLv3: 6
Warning copyleft license NOT UPGRADEABLE, incompatible with GPLv3+ can ask them to change to GPLv3+?
* GPLv2: 1
Warning copyleft license NOT UPGRADEABLE, incompatible with GPLv3+ can ask them to change to GPLv2+?
remember, Unlicense or not license is considered legally closed source software and incompatible, we need everything explicitly licensed.
This post took more than 1.5 hours to write, was done by hand, and is likely full of errors.
good work! :-O
The "Unlicence" licence has actual license text, akin to the MIT license. The repo isn't saying it doesn't have a license, it's saying it's using a license of that name
I pushed some fixes to the build scripts in order to copy the license file from modpacks to each individual mod. That seems to have fixed many of the missing licenses found by Lazerbeak12345.
After that, I looked at the remaining ones:
I will create issues with each repository to ask for them to add a license file.
mese_crystals
has had no activity in 7 years. I hope that goes through.
engrave
is the same - no activity in 6 years.
toolranks
might be fine. I've seen 2 year stale projects come back to life with an issue like this.
Thanks dacmot!
A note: we might need a new rule to prevent further licence shenanigans.
I was just thinking the same thing. Rule 10: The code and artwork must be licensed with terms compatible with GPLv3 (see https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicenses), and with copyrights attributed to the rightful author(s).
Not sure about the second bit. I guess some licenses may forgo copyrights (public domain)...
On the note about public domain:
Some countries don't recognize public domain as an option. They treat works put under public domain as they would unlicenced code. This is why the CC licence puts things under public domain, with a fallback to a permissive licence.
All in all, we would be forced to consider public domain as closed source to ensure it works with our software, regardless of which licence we choose.
Toolranks is done!
I updated the OP to make this issue more actionable.
I'm sure I missed stuff, and I'm not sure exactly what conflicts need to be resolved. Please add more information as it is found.
Do we need to do anything about the mod making use of the EUPLv1.2-or-later
licence?
If I read this correctly (IANAL), it should be fine as long as we remain GPLv3-only:
The EUPL allows relicensing to GPLv2 only and GPLv3 only, because those licenses are listed as two of the alternative licenses that users may convert to.
I guess we may have to fork it and relicense it?? I don't know if it's possible to include as-is.
If I read this correctly (IANAL), it should be fine as long as we remain GPLv3-only:
The EUPL allows relicensing to GPLv2 only and GPLv3 only, because those licenses are listed as two of the alternative licenses that users may convert to.
I guess we may have to fork it and relicense it?? I don't know if it's possible to include as-is.
from FSF:
To do this two-step relicensing, you need to first write a piece of code which you can license under the CeCILL v2, or find a suitable module already available that way, and add it to the program. Adding that code to the EUPL-covered program provides grounds to relicense it to the CeCILL v2. Then you need to write a piece of code which you can license under the GPLv3+, or find a suitable module already available that way, and add it to the program. Adding that code to the CeCILL-covered program provides grounds to relicense it to GPLv3+.
Please correct me if I'm wrong, but the way I understand it, this two step process is only if we want to relicense to GPLv3+ (emphasis on the +). The license would allow usage as-is as part of a GPLv3-only.
See EUPL V1.2 terms
Compatibility clause: If the Licensee Distributes or Communicates Derivative Works or copies thereof based upon both the Work and another work licensed under a Compatible Licence, this Distribution or Communication can be done under the terms of this Compatible Licence. For the sake of this clause, 'Compatible Licence' refers to the licences listed in the appendix attached to this Licence. Should the Licensee's obligations under the Compatible Licence conflict with his/her obligations under this Licence, the obligations of the Compatible Licence shall prevail.
(Emphasis mine). And,
Appendix
'Compatible Licences' according to Article 5 EUPL are:
— GNU General Public License (GPL) v. 2, v. 3 — GNU Affero General Public License (AGPL) v. 3 — Open Software License (OSL) v. 2.1, v. 3.0 — Eclipse Public License (EPL) v. 1.0 — CeCILL v. 2.0, v. 2.1 — Mozilla Public Licence (MPL) v. 2 — GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3 — Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for works other than software — European Union Public Licence (EUPL) v. 1.1, v. 1.2 — Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong Reciprocity (LiLiQ-R+).
So, (and also IANAL) that looks like we can just treat this software as a GPLv3, for now. Likely we won't be moving to GPLv3 or later anytime soon. GPLv3 only seems to be what we are stuck with.
So with that... are we good? Are all licence conflicts resolved?
I think there's the two without licenses in the source code left, and a couple others that are GPLv2-only (not upgradable)... if I understand correctly.
So, (and also IANAL) that looks like we can just treat this software as a GPLv3, for now. Likely we won't be moving to GPLv3 or later anytime soon. GPLv3 only seems to be what we are stuck with.
sorry, yes! with GPLv3 only, could be easier. (although not recommended by the FSF) the problems with GPLv2 only licenses persist, can't mix GPLv2 with GPLv3 if GPLv2 can't be upgraded. (GPLv2+)
Perhaps, an easier to license non copyleft way could be an option for you (Apache2 is the best) is more flexible for this interconnection between mods. :-/ the only negative point with this, is to have a non copyleft protected free software.
about mods, if they are intended to be used with more pieces of code, developers should license them easier for interconnection, if fully libre software under GPLv2+, or with no copyleft (Apache2, MIT...) It seems to be a chaos right now!
So do we need to contact the mods that are under GPLv2 only to consider relicencing to something we can use (or alternatively drop those mods?)
I guess so. From the FSF FAQ:
Is GPLv3 compatible with GPLv2? ... the two licenses are not compatible: if you tried to combine code released under GPLv2 with code under GPLv3, you would violate section 6 of GPLv2.
From what I can gather, there are only two mods licensed GPLv2: moarmour and helicopter.
I'm the maintainer of moarmour, but not the creator. I don't know legally if I'm allowed to re-license it. The author still seems to be lurking around the forums. However, how would that even work now that the code has been forked?
As for helicopter, we had talked about replacing it with APercy's version in #52. Nonetheless, that one is also GPLv2.
All this license stuff is making my head spin...
Added those two to the OP.
On the topic of moararmor, if you contact the creator, and they are ok with an upgrade to GPLv2+, then (so long as this agreement is publicly documented in a provable way, such as a public forum) you should be able to relicence to GPLv2+. But that's under the assumption that you and they are the only people who's code has made it into this project. If there's others, then each individual contributor must be contacted, and they must all agree.
In the rare case that some of these mods we can't re-licence, a clean-room reimplmentation (or similar) would be in order if we wish to keep that mod.
I could do the re-implementation with engrave and the mesecrystal one, but I've read the code for helicopter (all three versions discussed in relevant replacement issue) and moarmour.
Granted, in the reimplementation case, we should be able to use the assets, since most of them are CC variant licences.
I've asked the question to Chem871 (the armor addon mod author) on the forums. Armor addon is his personal repository, and he is the only contributor. I assume it is all his original work. He still seems to be active on the forums so hopefully we'll get a reply.
I'm very much fine with GPLv2-or-later.
@Lazerbeak12345 you've made a commit to moarmour ;-P
Engrave, I'm indifferent to, to be honest.
mese_crystal I like very much. Hopefully we can get the author to add a license. Do you think that using the minetest forums would be sufficient to fork the mod and add the license ourselves?
Helicopter is very cool too. But it gets a little more complicated since there are 4 contributors in GitHub, plus Pavel Sokolov, who's contributions don't get compiled by Github---probably because the commit email doesn't match the Github account's address. And on top of that, the forum page mentions taking code from other mods...
you've made a commit to moarmour ;-P
I'm okay with GPLv2 or later on that code as well. I'd say you should just be able to make that change now, and we can check another checkbox off as fixed! :)
Also, if you look in the forumn Chem replied and consented to the licence change.
mentions taking code from other mods...
The mods it takes from are
so nothing to worry about there unless there's undocumented code taken from other mods. If that's the case, however, since it's not documented, we would not be liable for such an error.
mese_crystal
the forumn link you shared shows it's WTFPL so we could use or fork a version licenced accordingly. seems like it hasn't been edited since then, so to answer your question: yes, absolutely. We can fork the mod, add the WTFPL licence to it, then resume our use of that mod. (While we are there we could also merge that pending PR too lol)
Might be wise to site our source (the forum post) in the readme or something when we fork anything.
Note for myself in the future: the LGPLv2.1 licenced mods are also incompatible with GPLv3. I need to add these to the OP as todos
Note for myself in the future: the LGPLv2.1 licenced mods are also incompatible with GPLv3. I need to add these to the OP as todos
Are you sure? https://www.gnu.org/licenses/license-list.en.html#LGPLv2.1 seems to say otherwise... It's compatible with GPLv2 and v3. LGPLv3 is not compatible with GPLv2, but is ok with v3.
That's great news! that means 5-ish less mods to worry about.
Forked and re-licensed mese_crystals (#138, https://codeberg.org/Dacmot/YellowCrystals). Reading the license quickly I thought I had to rename it, but re-reading it now, it looks like that only applies to the license document itself.
In my opinion, fixing the incompatibilities is the most important TODO that we have here.
Any progress on moararmors? - edit yes there's progress. see above in my own comment.
Thanks for the reviews. Helicopter is the next one... A big one.
Might be able to do the same with engrave as with mese_crystals.
I've posted on the forumn and made a PR for engrave. We could use my fork on that branch in the pr for now.
Nice! great work!
I'm not sure what, from a legal perspective, is and isn't allowed in a "Clean Room Design," so I'm unsure as to the degree I or any other developer we've reached out to would be able to make a new helicopter mod.
Hi!
Your game is licensed under GPLv3 only in the minetest contendb page, but I see the code here unlicensed!
I you want, if you are interested, I can help
the basic guidelines from the FSF can be found here
cheers and happy hacking
Section made by @Lazerbeak12345 in order to make this issue actionable