Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

why not properly license whynot? :-D #134

Open
6 of 13 tasks
gentooza opened this issue Sep 22, 2022 · 73 comments · Fixed by #135
Open
6 of 13 tasks

why not properly license whynot? :-D #134

gentooza opened this issue Sep 22, 2022 · 73 comments · Fixed by #135

Comments

@gentooza
Copy link

gentooza commented Sep 22, 2022

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


@Lazerbeak12345
Copy link
Collaborator

On this topic @bell07 why is it GPL3 only, instead of GPL3 or later as per standard convention?

@bell07
Copy link
Collaborator

bell07 commented Sep 23, 2022

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.

@Lazerbeak12345
Copy link
Collaborator

Lazerbeak12345 commented Sep 25, 2022

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.

@dacmot
Copy link
Collaborator

dacmot commented Sep 25, 2022

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!

@Lazerbeak12345
Copy link
Collaborator

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.

@gentooza
Copy link
Author

gentooza commented Sep 28, 2022

wow, you are fast folks!
I'm going to do my part also in a task list for licensing under GPLv3 or later (GPLv3+):

  • first of all, you understand the implications don't you? Whynot? is free software with copyleft.
  • you must be sure, every mod included, has a license compatible with GPLv3+, it would be nice to have a mod list with iit's licenses.
  • the artwork included is yours? if not, which license have it? (sounds, models, fonts, etc.)
  • you have to determine who is the copyright holder, normally, every developer who modifies a source code file has rights in it's copyright. would be nice to have a list of developers by real full name and email for adding them in source code files copyright field. (if not, if you agree, can be the creator only for now)
  • every file in repository has to have a GPLv3+ header, with the license notice and copyright holder, configuration and docs also. (it's easy and very repetitive indeed)

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!

@dacmot
Copy link
Collaborator

dacmot commented Oct 2, 2022

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.

@dacmot
Copy link
Collaborator

dacmot commented Oct 2, 2022

For the copyright holders, would a statement like what Minetest does be OK?

Copyright (C) 2010-2022 Perttu Ahola [email protected] 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.

@Lazerbeak12345
Copy link
Collaborator

Lazerbeak12345 commented Oct 2, 2022

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:

  • MIT: 56
  • LGPLv2.1-or-later: 18
  • LGPLv3.0: 1
  • WTFPL: 6
  • CC0: 3 (yes it's being used as the code licence)
  • DWYWPL: 1
  • GPLv2.0-or-higher: 1
  • AGPLv3: 1
  • GPLv3.0-or-later: 4
  • Unlicense: 1
  • LGPL-2.1: 5.5
  • Apache Licence 2.0: 1
  • EUPLv1.2-or-later: 1
  • CC BY-SA 3.0 : 0.5 (ambiguous licencing for hbsprint. the other half is in LGPL-2.1)
  • GPLv2.0: 1
  • GPLv3: 6
  • GPLv2: 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 or someone else will have to review the image licences later.

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.

@dacmot
Copy link
Collaborator

dacmot commented Oct 2, 2022

This post took more than 1.5 hours to write, was done by hand

That's incredible. Thank you.

@gentooza
Copy link
Author

gentooza commented Oct 2, 2022

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

@Lazerbeak12345
Copy link
Collaborator

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

@dacmot
Copy link
Collaborator

dacmot commented Oct 3, 2022

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.

@dacmot
Copy link
Collaborator

dacmot commented Oct 3, 2022

@Lazerbeak12345
Copy link
Collaborator

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!

@Lazerbeak12345
Copy link
Collaborator

A note: we might need a new rule to prevent further licence shenanigans.

@dacmot
Copy link
Collaborator

dacmot commented Oct 3, 2022

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)...

@Lazerbeak12345
Copy link
Collaborator

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.

@dacmot
Copy link
Collaborator

dacmot commented Oct 4, 2022

Toolranks is done!

@dacmot dacmot reopened this Oct 4, 2022
@Lazerbeak12345
Copy link
Collaborator

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.

@Lazerbeak12345
Copy link
Collaborator

Do we need to do anything about the mod making use of the EUPLv1.2-or-later licence?

@dacmot
Copy link
Collaborator

dacmot commented Oct 6, 2022

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.

@gentooza
Copy link
Author

gentooza commented Oct 6, 2022

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+.

@dacmot
Copy link
Collaborator

dacmot commented Oct 6, 2022

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+).

@Lazerbeak12345
Copy link
Collaborator

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.

@Lazerbeak12345
Copy link
Collaborator

So with that... are we good? Are all licence conflicts resolved?

@dacmot
Copy link
Collaborator

dacmot commented Oct 7, 2022

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.

@Lazerbeak12345
Copy link
Collaborator

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.

@dacmot
Copy link
Collaborator

dacmot commented Oct 23, 2022

I've created issues and PRs for all three repositories (PavelS, Desour and APercy) to change the license from GPLv2-only to GPLv2 or any later version.

@Lazerbeak12345
Copy link
Collaborator

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.

@dacmot
Copy link
Collaborator

dacmot commented Oct 24, 2022

Yeah. Well, at the very least, if Pavel answers we should be able to include it as GPLv2 or any later version.

I found an email address and tried to reach him directly, in case he doesn't get notifications from Github anymore. Hopefully we get an answer... eventually :)

@dacmot
Copy link
Collaborator

dacmot commented Oct 26, 2022

Hmmm... email is bouncing :( that might also explain why he's not very responsive to stuff happening on Github...

@Lazerbeak12345
Copy link
Collaborator

As posted on the related sub-issue, I've attempted to reach Pavel through the forum. Pavel was "Last active:Sat Jan 16, 2021 02:22". That was 649 days ago from today. If we assume that's the period that Pavel sees forum notifications, then we will have to wait till "Tuesday, August 6, 2024" - and I don't think that waiting that long is an option.

@Lazerbeak12345
Copy link
Collaborator

I also checked to see if Pavel has a discord account and is in the Minetest Discord. There is a Pavel - but different last name.

@dacmot
Copy link
Collaborator

dacmot commented Oct 29, 2022

Yeah, I have the feeling he's gone, done, moved on from minetest. Given how long ago he's visited the forums I doubt he'll be back.

I think Github may have more chance of grabbing his attention, even if his last activity was May 2022. I checked Gitlab, codeberg and notabug too just in case... turns out his name is fairly common :-/ I couldn't tell if he has another account in any of those places.

In any case, I think we may have to remove the helicopter mod for the time being. It'll break compatibility, but I feel like we don't have much choice.

Lazerbeak12345 added a commit that referenced this issue Nov 8, 2022
We had to remove this mod because of legal issues.

See also #134
@Lazerbeak12345
Copy link
Collaborator

All noted incompatibilities have been addressed.

@dacmot
Copy link
Collaborator

dacmot commented Nov 13, 2022

All noted incompatibilities have been addressed.

Not quite. Still missing engrave

@Lazerbeak12345
Copy link
Collaborator

All noted incompatibilities have been addressed.

Not quite. Still missing engrave

Right. That still needs done. I was just referencing that all mods with incompatible licences have been fixed in one way or another.

@Lazerbeak12345
Copy link
Collaborator

Actually, we haven't reviewed the image licences. I have no idea how it works at all. While I've read the full license text for all of the relevant code licenses and know of resources to double-check my assumptions and understandings of the code licences, I can't say the same for image licences. I know we do need an expressly granted right to redistribute but I don't know what else we need for this project.

@gentooza
Copy link
Author

Actually, we haven't reviewed the image licences. I have no idea how it works at all. While I've read the full license text for all of the relevant code licenses and know of resources to double-check my assumptions and understandings of the code licences, I can't say the same for image licences. I know we do need an expressly granted right to redistribute but I don't know what else we need for this project.

I don't find a link anywhere :-/ What I can say is what I needed to do for publishing projects in the GNU Portal, Savannah, in the past.

The media content, must be specified in a README in it's folder, and in the main README, with a image, sound, video, filenames list in it, it's copyright and license for every one.

If other license has been chosen for them, for example, CC-BY, it's legal text must be added to the project root folder also.

I had to to this:

  • I had images in ./image folder.
  • in the main README:
[...]
# Images license
./images/banner_logo.png
./images/calandra_chica.PNG
./images/calandra_grande.PNG
[...]
are licensed under CC-BY-SA
copyright 2012-2015 xxxxxxx , mail: [email protected]
[...]
  • I added the legal text for CC-BY-SA, in plain text, to project as COPYING-CC-BY-SA:
  • I added another README in the ./images folder with same paragraph about image licensing

:-/

@Lazerbeak12345
Copy link
Collaborator

I'd guess then, akin to my list of code licences in use, we need a count of what media licences are in use. We can then evaluate from there next steps.

@dacmot
Copy link
Collaborator

dacmot commented Nov 21, 2022

Yeah... Probably.

@Lazerbeak12345
Copy link
Collaborator

I was going through but there's a few edge cases I don't know if works. I guess we could just assume any mod that doesn't define the licence for at least a portion of the media is putting the licence under the code licence.

And from my digging, here's the types of media I found:

  • textures
  • audio
  • 3d object files
  • in-game text
  • text files like the readme or api docs
  • translations (of any text)

Did I miss anything?

@dacmot
Copy link
Collaborator

dacmot commented Nov 27, 2022

Would screenshots fall into textures? Are they copyrightable?

@Lazerbeak12345
Copy link
Collaborator

Ah missed that. And that's a good question. I'd argue there's "Fair use" involved there. So perhaps, but perhaps not?

@Lazerbeak12345
Copy link
Collaborator

From other use around screenshots, it seems that screenshots are a derivative work - if not a complete copy. The way we use them, I'd say derivative, seeing as they are composed of the other assets used in the game.

@Lazerbeak12345
Copy link
Collaborator

The result of find -path ./mods\*textures\* -name \*.\* | cat -n is 4021 lines long. That's only the textures of course, any other art, including 3d models, and of course our screenshots, are not included in this list.

As before, it might be best to go on a mod-by-mod basis.

@Lazerbeak12345
Copy link
Collaborator

Lazerbeak12345 commented Mar 4, 2023

Licence unknown

  • mods/tools/woodcutting/screenshot.png

Credit given, media licence not specified

All media within

  • mods/tools/trash_can
  • mods/tools/subspacewalker
  • mods/tools/orbs_of_time
  • mods/tools/maidroid_tool
  • mods/tools/maidroid_core
  • mods/tools/maidroid
  • mods/tools/jumping

Textures are specified, but does this qualify?

  • mods/tools/rainbowswords/screenshot.png

  • mods/tools/handholds/screenshot.png

  • TODO finish. left off on flyingcarpet

@Lazerbeak12345
Copy link
Collaborator

Problem: The flyingcarpet mod says:

Code is under the LGPL v2.1, as I think this is what the Helicopters mod is licensed under... Please correct me if I am wrong!

They actually are wrong....

@Lazerbeak12345
Copy link
Collaborator

issue made upstream Amaz1/flight#2

@dacmot
Copy link
Collaborator

dacmot commented Mar 16, 2024

I think it might be time to take decisions on flyingcarpet and engrave. Neither ones have responded to requests to properly license their mods. Looking at their github accounts, they are not active at all and will likely never respond.

In both cases, we could fork them and add the proper licenses ourselves. Flying carpet is based on helicopter which is GPLv2 or later, and engrave is LPGL v2.1 according to the forums. I think that would be preferable to removing the mods.

What do you think?

@Lazerbeak12345
Copy link
Collaborator

Compared to Apercy's modern flight mods, carpet is very low quality. It functions nearly identical to the upstream helicopter, and like that mod doesn't limit flight in any way. My players on my server moved to it from Pavel's heli, and many prefer it over the faster but more limited hydroplane

@dacmot
Copy link
Collaborator

dacmot commented Mar 16, 2024

So it feels like cheating :) I agree. Though that should probably be addressed in a separate issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants