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

Relicensing #158

Closed
3 tasks done
passcod opened this issue Aug 5, 2018 · 5 comments
Closed
3 tasks done

Relicensing #158

passcod opened this issue Aug 5, 2018 · 5 comments

Comments

@passcod
Copy link
Member

passcod commented Aug 5, 2018

Hi all.

As part of the next version I would like to relicense under Artistic 2.0 instead of CC0 / Public Domain.

When I started this project I was still using a "blanket license" that relinquished all copyright to everything I published unless otherwise noted. Thus CC0 was the implicit and obvious choice here. However, in the years intervening my opinions and feelings changed until I revoked my blanket license in 2016. Reasons were varied but two were:

  • Wanting credit/acknowledgment/attribution, and
  • Protection against plagiarism and other legalities.

Nowadays I pick what license I release things under on a project by project basis, with a preferred default. After thought and discussion I have chosen the Artistic License as a default for all new projects, with an added explicit requirement that legal disputes may only be brought in New Zealand, my country. (NZ also has a thing where software patents, with a narrow exception, are not applicable here. However that didn't factor into why the requirement is there.)

It was always my intention to change the license of Notify next, but I simply forgot to do so before accepting contributions... so here we are.

Unlike the BSD, MIT, and ISC licenses, the Artistic is long form, and makes several things explicit:

  • Trademark use is not propagated, patent claims are protected against.
  • Forks are explicitly allowed provided either the name is changed or a compatible license is used.
  • Modifications only for pull requests are explicitly provided for.
  • Links to the source must be kept up to date ("at time of distribution").
  • Linking/embedding (as in, "using the crate") is explicitly allowed (otherwise Notify would not be very useful...) with no license propagation (i.e. downstreams can be other licenses or proprietary) but also an exception that an embedder cannot simply re-export Notify (which protects against someone doing that and then essentially bypassing the license).

The license also doesn't have, unlike some other licenses:

  • GPL-style Copyleft.
  • A requirement to put a license header on top of every source file.

Otherwise it is very similar to the licenses listed above. It is also a fairly standard license, with full approval from FSF/OSI and Debian/Fedora packagers, has GPL compatibility, and was written by lawyers and software architects in consultation with open source software communities, for legal and human legibility and applicability.


Logistics:

Current and past versions will remain in the public domain / CC0. This change will only be applicable to the new code in the next branch.

For this to go through, I need only @dfaust (for existing and pull-requested commits) and @cmyr (for pull-requested commits) to say aye (or if they don't, to discard those parts and rewrite them, I suppose).

If you have comments, requests for clarification, or counter-proposal, please do so.

@dfaust
Copy link
Collaborator

dfaust commented Aug 6, 2018

That makes sense, I'm ok with it. 👍
In fact, now that I read it, I might use the Artistic License 2.0 in the future myself :).

@cmyr
Copy link
Contributor

cmyr commented Aug 7, 2018

I defer to your decision 😎. The artistic license looks cool, but I do suspect it will cause problems for people who would like to use this crate in organizations big enough to have lawyers on staff. That's ultimately their decision, however, and I respect/appreciate not feeling inclined to cater to those organizations. (Specifically: this will probably preclude having notify used in Fuchsia, but that's a theoretical question anyway at this point; afaik there isn't an appropriate API in Fuchsia with which to write a backend).

@passcod
Copy link
Member Author

passcod commented Aug 7, 2018

By "being used in" do you mean writing a backend for notify, or distributing notify with fuschia? (Also note that the Artistic had a bad version 1 that pops up when googling... version 2 was specifically written to correct issues that lawyers had problems with)

passcod added a commit that referenced this issue Aug 7, 2018
@passcod passcod closed this as completed Aug 7, 2018
@cmyr
Copy link
Contributor

cmyr commented Aug 7, 2018

I don't know the whole story, but I know that the fuchsia tree includes mirrors of third party crates that it depends on, and that to be included a crate needs to have an approved license. It's possible that artistic license would be okay, but I'm not sure.

@passcod
Copy link
Member Author

passcod commented Aug 7, 2018

Oh, interesting. Well, if it's incompatible for some reason and they express a want at some point I think an exception could be granted (going again through the same process as a relicense).

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

3 participants