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

License is unclear #389

Closed
imphil opened this issue Feb 21, 2021 · 8 comments
Closed

License is unclear #389

imphil opened this issue Feb 21, 2021 · 8 comments
Labels
Milestone

Comments

@imphil
Copy link

imphil commented Feb 21, 2021

I found a problem with the license of this project.

  • The README.md says "Modules is distributed under the GNU General Public License version 2 (GPL v2). Read the file COPYING.GPLv2 for details.", indicating GPLv2 (this specific version, not any later version).
  • In the source tree there are both GPLv2+ ("GPLv2 or any later version", e.g. script/createmodule.sh) and GPLv3+ files (e.g. script/envml.cmd).
  • The spec file contrib/rpm/environment-modules.spec.in suggests GPLv2+.

Given the current state of affairs in the source tree, the resulting work must be considered GPLv3+. Is that what you intended? In that case, could you please update the README and the COPYING file? If that wasn't intended, could you relicense all source files under GPLv2 or GPLv2+?

@imphil imphil added the bug label Feb 21, 2021
@xdelaruelle
Copy link
Member

Thanks for pointing this out. I can confirm the intent for the core of the project is GPLv2+. I will update README and documentation index to clarify that as you suggest.

More recent additional utilities or test codes are done under under the GPLv3+. Is this problematic to have these newer parts of the project using a different license ?

@imphil
Copy link
Author

imphil commented Feb 21, 2021

Thanks for your answer @xdelaruelle.

What matters for most people (including me) is the license of whatever is distributed to the end user, e.g. packed into the RPM. As soon as a single GPLv3+ file is included there, the whole distribution is GPLv3+.

Helper and test scripts that you only use within this repository, e.g. to facilitate tests and builds, can be of any license, as long as they are not distributed to the end user. However, it's fragile/dangerous to split the codebase like that: as soon as a GPLv3+ file "creeps" (e.g. gets renamed or refactored) into the distributed GPLv2+ code base, the whole thing is now GPLv3+.

I had a quick look through the code and currently it's rather clear that the resulting output (e.g. the RPM) must be GPLv3+: envmodules.c/h are GPLv3+, which is included as shared library in the distributed package.

I'd recommend sticking to a single (copyleft) license within this repository; everything else gets confusing rather quickly for contributors and packagers.

@xdelaruelle
Copy link
Member

Thanks a lot for these details. I will try to re-license every files currently under GPLv3+ to GPLv2+. There are not a lot of copyright owner, so it hope it will be easy to get their consent to change the license.

@xdelaruelle
Copy link
Member

Excluding myself, copyright owners for GPLv3+ files are:

  • @rkowen: configure (line 23)
  • @xdch47: configure (lines 431-432,588)
  • @jraphanel: configure (lines 124,287-288,623-624), script/envml.cmd (lines 1-47,52-179) and script/envml (lines 43-48)

I have sent them an email to collect their consent to re-license these files from GPLv3+ to GPLv2+

@imphil
Copy link
Author

imphil commented Feb 21, 2021

@xdelaruelle Thanks a lot for going through this exercise. I know it's an annoying request, and I very much appreciate your work on it.

xdelaruelle added a commit that referenced this issue Feb 28, 2021
xdelaruelle added a commit that referenced this issue Feb 28, 2021
Change license of mb, mlprof, modulecmd, mpub, mrel, mt, mtreview,
nglfar2ccov and playdemo scripts from GPLv3+ to GPLv2+.

Align this way all files from the Modules project under the GPLv2+
license.

Consent has been obtained from copyright holder to perform such move (I
hold the full copyright for these script files).

Related to #389
xdelaruelle added a commit that referenced this issue Feb 28, 2021
Change license of all install_test_* scripts, used to test Modules
installation, from GPLv3+ to GPLv2+.

Align this way all files from the Modules project under the GPLv2+
license.

Consent has been obtained from copyright holder to perform such move (I
hold the full copyright for these script files).

Related to #389
xdelaruelle added a commit that referenced this issue Feb 28, 2021
Change license of all testutil-* libraries, used to test Modules Tcl
extension library, from GPLv3+ to GPLv2+.

Align this way all files from the Modules project under the GPLv2+
license.

Consent has been obtained from copyright holder to perform such move (I
hold the full copyright for these librairies).

Related to #389
xdelaruelle added a commit that referenced this issue Feb 28, 2021
Change license of the Modules Tcl extension library from GPLv3+ to
GPLv2+.

Align this way all files from the Modules project under the GPLv2+
license.

Consent has been obtained from copyright holder to perform such move (I
hold the full copyright for this library).

Related to #389
xdelaruelle added a commit that referenced this issue Mar 2, 2021
Change license of envml and envml.cmd scripts from GPLv3+ to GPLv2+.

Align this way all files from the Modules project under the GPLv2+
license.

Consent has been obtained from the copyright holders (I and @jraphanel)
to perform such move. Consent from Jacques Raphanel was collected by
email.

Related to #389
xdelaruelle added a commit that referenced this issue Mar 2, 2021
Change license of the configure installation script from GPLv3+ to
GPLv2+.

Align this way all files from the Modules project under the GPLv2+
license.

Consent has been obtained from the copyright holders (I, @xdch47 and
@jraphanel) to perform such move. Consent from Jacques Raphanel and
Felix Neumärker were collected by email.

Revert contribution from R.K. Owen (cc4d319), from whom consent is not
yet obtained. Contribution will be restored as soon as consent will be
obrained.

Related to #389
xdelaruelle added a commit that referenced this issue Mar 2, 2021
@xdelaruelle
Copy link
Member

Consents have been obtained or contribution has been removed (will be reintegrated if consent if obtained later on). Every files in repository have been updated. Public website has also been updated to clarify the GPLv2+ license of Modules. So everything should be clear now.

@imphil
Copy link
Author

imphil commented Mar 9, 2021

Thank you, that's much clearer now 🥳 I'd appreciate if you could do a new release with the clarified license in not too distant future to be able to update the metadata in distribution packages (not super urgent, though).

@xdelaruelle
Copy link
Member

I will try to release a 4.7.1 version during the first half of April.

@xdelaruelle xdelaruelle modified the milestones: 4.8, 4.7.1 Apr 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants