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

Please clarify the license #28

Closed
musicinmybrain opened this issue Oct 14, 2024 · 6 comments · Fixed by #29
Closed

Please clarify the license #28

musicinmybrain opened this issue Oct 14, 2024 · 6 comments · Fixed by #29

Comments

@musicinmybrain
Copy link
Contributor

In the Cargo.toml files, the license is said to be MIT AND BSD-3-Clause:

license = "MIT AND BSD-3-Clause"

license = "MIT AND BSD-3-Clause"

However, both the top-level LICENSE file for the crates and the isal-sys/isa-l/LICENSE in the submodule for the bundled ISA-L library are BSD-3-Clause.

The only mention of MIT is in test-data/COPYING, which says that kppkn.gtb is MIT-licensed – but these test data files are no longer included in the published crates since #27; they were never included in isal-sys; and MIT is not the only license present in the test files, so it seems unlikely that this explains its presence in the overall license expression.

If this is really just BSD-3-Clause, could you please adjust the license metadata? And if some part is really MIT, could you please clarify which part that is, and provide the applicable MIT license text (copyright and permission statements)?

@milesgranger
Copy link
Owner

Hi there!

Please forgive any ignorance with licensing.
I'm partial to MIT and quite frankly Unlicense for my open-source work, but I understand to some extent the impediments of Unlicense so generally side with MIT. In my mind, I added both, BSD because that's what ISA-L has, and MIT because that's what the work/implementation of these bindings represent and MIT was compatible in this sense. I'm very open to being educated here though. :)

@musicinmybrain
Copy link
Contributor Author

Ok, so if I understand you correctly, you intended the bindings to be MIT, and the bundled isa-l library is the only part that is BSD-3-Clause.

Then MIT AND BSD-3-Clause, which means “you must comply with both the terms of the MIT license and the terms of the BSD-3-Clause license,” appears be correct for isal-sys – although a specific comment explaining the breakdown of which parts are under which licenses would be nice. In Fedora, since we would patch a rust-isal-sys package to always use the system shared library, and we wouldn’t include the bundled isa-l, such a comment would justify changing the license expression to merely MIT.

For isal-rs, since only your binding code is included in the crate, this would suggest that the license could be merely MIT.

In any case, if the bindings are supposed to be MIT-licensed, then there should be a corresponding original license text present so that people can comply with the requirement to include copyright and permission statements (license text) in copies or substantial portions. Currently, the top-level LICENSE has BSD-3-Clause text, but your comments above seem to suggest it should have MIT text instead – like the one in blosc2-rs, but presumably with a copyright date of 2022 to match the existing license file.

Am I making any sense? Happy to rephrase or clarify, or to learn that I’ve misunderstood something.

@milesgranger
Copy link
Owner

Oh boy, honestly whatever is easiest for users is okay with me. I did mean "and" in the sense that either are fine, anyway it seems to me that just going with BSD-3-Clause is the correct option here? I don't want to infringe on any license w/ this work, but I also want to give end users of it the most flexibility possible is all.

@musicinmybrain
Copy link
Contributor Author

musicinmybrain commented Oct 14, 2024

Sure, you could just change all of the license metadata in the Cargo.toml files to BSD-3-Clause, which matches the existing license file and the bundled isa-l. That’s probably the simplest thing to do, if MIT was only supposed to apply to your own work and you don’t really care much either way.

(There’s nothing wrong with your own work being under a different license than the wrapped library, as long as it’s clear what is what, and everything has the necessary license text somewhere.)

@musicinmybrain
Copy link
Contributor Author

musicinmybrain commented Oct 14, 2024

I did mean "and" in the sense that either are fine …

For future reference, that’s expressed as OR in SPDX – see D.4.2 and D.4.3 for precise definitions.

@milesgranger
Copy link
Owner

Thanks for the help clarifying things for me here. I've been in very few situations where I personally cared much at all about the license, only want my work to be easily accessible for users w/o conflicting w/ another's licensing. So if BSD-3-Clause across the board is best suited to accomplish that for this project then it's good for me. 👍

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.

2 participants