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

The nuget package's license is MIT, but the license of TimSort is GPL #13

Open
fenghou1st opened this issue Apr 8, 2021 · 2 comments
Open
Assignees
Milestone

Comments

@fenghou1st
Copy link

fenghou1st commented Apr 8, 2021

So, if I include the package in the commercial project, not providing the source code, it seems to cause a very serious problem.
I don't care if TimSort is included, I really want this package to be used in commercial projects.

Of cause I can copy the source codes to my project, then delete the TimSort files. But that will make it difficult to sync to the newest version.

@colgreen
Copy link
Owner

colgreen commented Apr 8, 2021

Hi. Thanks for reporting. One thing to bear in mind here is this clause:

Oracle designates this particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.

The 'Classpath' exception says (from https://openjdk.java.net/legal/gplv2+ce.html)

As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent modules,
and to copy and distribute the resulting executable under terms of your
choice, provided that you also meet, for each linked independent module,
the terms and conditions of the license of that module.  An independent
module is a module which is not derived from or based on this library.  If
you modify this library, you may extend this exception to your version of
the library, but you are not obligated to do so.  If you do not wish to do
so, delete this exception statement from your version.

For further info, see:

https://softwareengineering.stackexchange.com/questions/119436/what-does-gpl-with-classpath-exception-mean-in-practice

So perhaps this will alleviate your concern?

Now, that said, on reflection I would like to keep the Redzen licensing clean and simple, and therefore I may remove Timsort from this library (and perhaps place it in some other package).

Another possibility here is that the recently proposed split of the Redzen.Random could happen sooner, and maybe that would work for you too?

@colgreen colgreen self-assigned this Apr 8, 2021
@colgreen colgreen added this to the 13.0.0 milestone Apr 8, 2021
@fenghou1st
Copy link
Author

Thank you for the explanation, I haven't heard of this "Classpath" exception before.
It means I don’t have to worry about the licenses, good!

Then, if TimeSort is not a problem, you don't have to delete it. Perhaps you could add some explanation to the README.md and NuGet page.

@colgreen colgreen modified the milestones: 13.0.0, 14.0.0 Nov 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants