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 a CC0-1.0 term to the license for notify-types #661

Closed

Conversation

musicinmybrain
Copy link
Contributor

Also copy in the LICENSE-CC0 file.

This reflects the fact that src/events.rs was moved from the existing notify crate in 08e74da.

See:

// This file is dual-licensed under the Artistic License 2.0 as per the
// LICENSE.ARTISTIC file, and the Creative Commons Zero 1.0 license.
//! The `Event` type and the hierarchical `EventKind` descriptor.

Also see discussion in: #514

Also copy in the LICENSE-CC0 file.

This reflects the fact that src/events.rs was moved from the existing
notify crate in 08e74da.
Copy link
Member

@dfaust dfaust left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing this. I just have two suggestions.

@@ -4,7 +4,10 @@ version = "1.0.0"
description = "Types used by the notify crate"
documentation = "https://docs.rs/notify-types"
readme = "../README.md"
license = "MIT OR Apache-2.0"
# src/events.rs is copied from notify; see its license header, and see
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this comment is necessary.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m happy to remove it.

# src/events.rs is copied from notify; see its license header, and see
# https://github.com/notify-rs/notify/issues/514 regarding the Artistic-2.0
# option mentioned there
license = "(MIT OR Apache-2.0) AND CC0-1.0"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MIT OR Apache-2.0 OR CC0-1.0 would be less restrictive and still correct.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To me, MIT OR Apache-2.0 OR CC0-1.0 is inaccurate, because it implies the entire crate may be used under any of those licenses. Most of the crate may be used only under MIT OR Apache-2.0, except that src/events.rs may be used only under CC0-1.0. So usage of the entire crate must satisfy both (MIT OR Apache-2.0) and CC0-1.0 – not either.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The header of src/events.rs should be updated as well, then. I didn't update it when I moved the code, but that was not intentional. The notify crate is licensed under CC0-1.0 only for historic reasons. The newer crates are all MIT OR Apache-2.0.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The header of src/events.rs should be updated as well, then. I didn't update it when I moved the code, but that was not intentional. The notify crate is licensed under CC0-1.0 only for historic reasons. The newer crates are all MIT OR Apache-2.0.

Do you mean that you are able to relicense src/events.rs to match the rest of the new notify-types crate, even though it originated in and was moved from the types crate? That would certainly simply matters, if true – all that would be needed would be to adjust the header in src/events.rs, and notify-types/Cargo.toml could be left unchanged.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we should re-license src/events.rs. I would still add CC0-1.0 to notify-types/Cargo.toml while we are at it, so people can use notify with just the CC0-1.0 license. Technically also a re-license, but notify-types contains only data structures anyway...

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure changing MIT OR Apache-2.0 to MIT OR Apache-2.0 OR CC0-1.0 is a good idea? CC0-1.0 is originally intended for "content" and not code, and it's not really considered a suitable license for code any longer. However, if you think that the src/events.rs file can be relicensed / the license header removed to align it with the rest of the crate, that would be great. As you said, the crate contains almost exclusively definitions of data structure / interface definitions.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have a strong opinion, one or the other way. I just noticed that before moving the types into a separate crate, people could use notify with just agreeing to CC0-1. So I thought we could restore that. But I doubt agreeing to MIT or Apache-2.0 on top of CC0-1.0 will be an issue for anybody.

musicinmybrain added a commit to musicinmybrain/notify that referenced this pull request Jan 3, 2025
This file was copied from the main notify crate and had a header comment
that indicated it was licensed CC0-1.0 or Artistic-2.0 with an
additional clause (see notify-rs#514);

Since @dfaust indicates in
notify-rs#661 (comment) that
this file can be relicensed, we simply remove the old header comment to
indicate that (by default) it falls under the overall (MIT OR
Apache-2.0) license of the notify-types crate.
@musicinmybrain
Copy link
Contributor Author

Based on the discussion in this PR, and to avoid conflating different goals, I’ve reframed this in a new PR #662 that focuses on relicensing src/event.rs. Adding an OR CC0-1.0 term for notify-types, if desired, could be done in a follow-up PR.

musicinmybrain added a commit to musicinmybrain/notify that referenced this pull request Jan 3, 2025
This changes the license of the notify-types crate from

  MIT OR Apache-2.0

to

  MIT OR Apache-2.0 OR CC0-1.0

and adds a copy of LICENSE-CC0 from the main notify crate, as requested
in notify-rs#661 (comment).
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 this pull request may close these issues.

3 participants