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

Clarify license #425

Closed
stephan-hof opened this issue Feb 20, 2020 · 9 comments
Closed

Clarify license #425

stephan-hof opened this issue Feb 20, 2020 · 9 comments

Comments

@stephan-hof
Copy link

Hi, this is a follow up of this comment:
#58 (comment)

From my understand this library is under dual license.
It would be great that this fact is more prominent visible.

My suggestion would be:

  • Rename LICENSE to LICENSE.GPL-2.0
  • Add a second file called LICENSE.CNRI with the contents of this file https://opensource.org/licenses/pythonpl.php
  • Changing MANIFEST.in to include both in the source tarball
  • Changing metadata.cfg
    • Adding License :: OSI Approved :: Python License (CNRI Python License) to classifiers
    • Set license to GPLv2, CNRI
@methane
Copy link
Member

methane commented Feb 20, 2020

I don't understand how MySQL-python is licensed.

I am not lawer, but as far as I am reading https://opensource.org/licenses/pythonpl.php ,
this license is only for Python. Other OSS project can not use the license.

@stephan-hof
Copy link
Author

I wrote this because of this post from the original author:
https://sourceforge.net/p/mysql-python/discussion/70460/thread/9ae42ab5/

Originally MySQLdb had a license based on the old Python license, i.e. the CNRI license, which is essentially BSD-ish. Later, because MySQL uses a GPL license, GPL v2 was added. However, it's up to you which license to use on MySQLdb-1.2

There is also:

indicating a dual license.

I agree with you. It is not the CNRI directly which is only for python.
I think the license text meant is this here: https://sourceforge.net/p/mysql-python/code/ci/57319a392808fbcb0fd3029fad67be9d15a24a37/tree/mysql/license.py

In that case the following could be done:

  • Rename LICENSE to LICENSE.GPL-2.0
  • Add a second file called LICENSE.alt (for alternative) with the contents of license.py
  • Changing MANIFEST.in to include both in the source tarball
  • Changing metadata.cfg
    • Adding License :: OSI Approved :: BSD License, because it is very close to it.
    • Set license to GPLv2, BSD-ish

@romainr
Copy link

romainr commented May 4, 2020

+1

This would help to promote open source projects that give an out of the box connection with MySql (e.g. Hue SQL)

@methane
Copy link
Member

methane commented Nov 25, 2020

I agree with you. It is not the CNRI directly which is only for python.
I think the license text meant is this here: https://sourceforge.net/p/mysql-python/code/ci/57319a392808fbcb0fd3029fad67be9d15a24a37/tree/mysql/license.py

license.py seems GPL 2.0.

Rename LICENSE to LICENSE.GPL-2.0
Add a second file called LICENSE.alt (for alternative) with the contents of license.py

"GPL v2 or GPL v2" is not dual license.

@methane methane closed this as completed Nov 25, 2020
@metzen
Copy link

metzen commented Nov 29, 2021

license.py seems GPL 2.0.

I do not think that this evaluation is correct. The license in this file appears to be BSD-like, in that it only carries "notice" requirements without the additional burdens of mandatory source distribution imposed by GPL 2.0 (when required).

Does that potentially change the manner in which this issue is evaluated, or would the project still be considered to be singly licensed under GPL v2?

@StevenMapes
Copy link

StevenMapes commented Nov 11, 2022

This packages license is 100% GPL2 which means any project using it is GPL2 as installing the package means you are extending the package and thus must use the same license and publish the source code of any project using the package. If it were MIT, BSD, OSI Approved then it would now. LGPL potentially would also not require it unless modifying the package self.

In short do not use this package for anything outside of public GPL compatible projects.

See section 5 of the license which states you accept the license by using the package, thus you accept it as GPLv2 - https://github.com/PyMySQL/mysqlclient/blob/main/LICENSE

@mschoettle
Copy link
Contributor

I am tasked with reviewing our open source dependencies and ensuring that we are compliant with each license.

Based on what I see, the license is actually GPL-2.0-or-later and not GPL-2.0-only. The standard license header contains the "either version 2, or (at your option) any later version":

the Free Software Foundation; either version 2, or (at your option)
any later version. Alternatively, you may use the original license

This is good because it allows it to be used with future GPL versions:

Would it be possible to set the license identifier to GPL-2.0-or-later in the package metadata? This is also suggested by GitHub: https://choosealicense.com/licenses/gpl-2.0/ (right-hand side "How to apply this license").

@methane
Copy link
Member

methane commented Sep 4, 2024

@mschoettle Thank you for your suggestion. Please check #722.

@mschoettle
Copy link
Contributor

Thanks a lot @methane!

In general, an LGPL license would be somewhat easier since it distinguishes between modification of the library and using the library. But it might not be that easy to change it now.

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

No branches or pull requests

6 participants