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

Add other licensing options #112

Closed
lunabunn opened this issue May 30, 2022 · 6 comments
Closed

Add other licensing options #112

lunabunn opened this issue May 30, 2022 · 6 comments
Labels
enhancement New feature or request

Comments

@lunabunn
Copy link
Contributor

Currently fontdue is licensed solely under MIT. In addition to not being as compatible as it could be with the rest of the ecosystem, most of which uses the MIT OR Apache-2.0 dual license, MIT is also problematic in that in lacks a patent protection clause and an explicit contribution clause. In fact, Rust itself is only keeping around MIT as a licensing option (instead of using just Apache-2.0) for GPLv2 compat.

If this project were to be dual-licensed under Apache-2.0 and MIT, contributors would be providing the Apache-2.0 patent grant, even though the project will still remain usable with the MIT license. It will also be more compatible with the rest of the ecosystem. I think this is the ideal option, especially for a crate such as fontdue that is more likely to end up in someone's dependency tree as an n-layers-deep indirect dependency than a direct one (having to deal with weird different licensing of some dependency of a dependency of a dependency is obviously not fun).

I would personally say that while we are at it we may as well also add the Zlib license to make it a MIT or Apache-2.0 or Zlib triple license, which would provide both the extra protection of Apache-2.0 and the extra permissiveness of Zlib. However, I do remember #7 being closed as wontfix, so if that had anything to do with you not liking the license, just the dual license above would still be better than what we have now. You closed that issue saying you cannot relicense due to legal reasons; however, that was 2 years ago. Does that still apply/does it also apply to Apache-2.0?

Obviously, both Apache-2.0 and Zlib are OSI-certified and relatively popular in the Rust community.

@mooman219
Copy link
Owner

mooman219 commented May 30, 2022

#7 was closed because technically my employer owns this project and zlib wasn't an approved license at that time. I opened a ticket to add zlib which was resolved like a year later by the looks of it, so I should be able to use zlib now. Honestly though I'm not sure what I need to do to swap licenses since there's been a number of contributors and I haven't looked into it.

@lunabunn
Copy link
Contributor Author

lunabunn commented Jun 1, 2022

Honestly though I'm not sure what I need to do to swap licenses since there's been a number of contributors and I haven't looked into it.

There has been enough precedents of large crates being relicensed (gfx-rs/wgpu#1440, gfx-rs/gfx#847, sfackler/rust-postgres-macros#19, etc.) that I think it would be safe to do what they did and ping all the contributors for permission. If you are okay with relicensing to MIT OR Apache-2.0 OR Zlib, I can go ahead and create a PR and handle the contributor checkoff.

@mooman219
Copy link
Owner

Sounds good to me. I approve the license change to MIT OR Apache-2.0 OR Zlib.

I don't have the time right now to shepard the license change, so if you want to own the PR then I'll support it.

@mooman219
Copy link
Owner

mooman219 commented Jun 1, 2022

Ralith noted including the following:

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

@mooman219 mooman219 added the enhancement New feature or request label Jun 17, 2022
@grovesNL
Copy link
Contributor

This is done now

@lunabunn
Copy link
Contributor Author

Indeed, thanks! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
3 participants