Skip to content

lib.licenses.parity70: mark non-free#265873

Closed
alyssais wants to merge 1 commit intoNixOS:masterfrom
alyssais:parity70-non-free
Closed

lib.licenses.parity70: mark non-free#265873
alyssais wants to merge 1 commit intoNixOS:masterfrom
alyssais:parity70-non-free

Conversation

@alyssais
Copy link
Copy Markdown
Member

@alyssais alyssais commented Nov 6, 2023

Description of changes

This licenses forces licensees to share changes made for personal use. I think this makes this a non-free license.

As part of its license review process, Debian applies the Desert Island and Dissident tests, both of which this license fails as far as I can tell.

AFAICT, It hasn't been reviewed by any of the usual suspects (Debian, Fedora, FSF), but if any of them do make a determination on it, we can take that into account and update our own view.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@github-actions github-actions bot added the 6.topic: lib The Nixpkgs function library label Nov 6, 2023
@alyssais alyssais requested a review from fabianhjr November 6, 2023 16:24
@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. labels Nov 6, 2023
@fabianhjr
Copy link
Copy Markdown
Member

fabianhjr commented Nov 6, 2023

I'm on the fence on whether Parity is free or non-free but on the reason cited I don't believe that forcing to contribute changes is a reason to consider it as non-free. (This is a personal belief)

Regarding Debian tests, I agree this fails the dessert island test but I don't think it fails the dissident test.

The license requires:

Publish all source code for the software in the preferred form for making changes through a freely accessible distribution system widely used for similar source code

So, for example changes could be made available via an onion hosted forge, torrent, or other anonymizing overlay networks and there is no requirement for notification nor discoverability beyond being freely accessible.

I am searching for NixOS policy regarding non-free markings.

@alyssais
Copy link
Copy Markdown
Member Author

alyssais commented Nov 6, 2023

I am searching for NixOS policy regarding non-free markings.

There's no policy written down, but in the years that I've been watching, we've generally deferred to what other trusted sources say, with a mild preference for sources that are about "free software" as opposed to "open source".

@fabianhjr
Copy link
Copy Markdown
Member

Including previous discussion: #104118 (comment)

Gut feels: free, as in it doesn't restrict who can use it. It does require contribution back under certain circumstances such as AGPL. Worth dinging some other folks and getting their opinions as well. @ghuntley

Well, it's a "free for open source or personal use" license as it seems to me. If you share your work, you can do anything. If GPL is free with conditions (provide source code if you distribute or build upon), then this should probably be a free license too. @vikanezrimaya

On a more practical side of this PR, afaik the free marking was mainly introduced as a way to identified things that could be built by hydra and distributed by NixOS. AFAIK, not a lawyer, everything built by hydra would, by virtue of being part of nixpkgs repo, already satisfy the contribution requirement. Marking this as false would stop hydra from building those packages which is something I would prefer to avoid.

@alyssais
Copy link
Copy Markdown
Member Author

alyssais commented Nov 6, 2023

Gut feels: free, as in it doesn't restrict who can use it. It does require contribution back under certain circumstances such as AGPL. Worth dinging some other folks and getting their opinions as well. @ghuntley

Well, it's a "free for open source or personal use" license as it seems to me. If you share your work, you can do anything. If GPL is free with conditions (provide source code if you distribute or build upon), then this should probably be a free license too. @vikanezrimaya

It's not like the AGPL or GPL, for Debian's reasons.

On a more practical side of this PR, afaik the free marking was mainly introduced as a way to identified things that could be built by hydra and distributed by NixOS. AFAIK, not a lawyer, everything built by hydra would, by virtue of being part of nixpkgs repo, already satisfy the contribution requirement. Marking this as false would stop hydra from building those packages which is something I would prefer to avoid.

We have two different markings, unfree and redistributable. IIRC, Hydra currently doesn't build anything unfree, but there's been talk for a long time of having it build unfree but redistributable software. There are other licenses in Nixpkgs that are unfree but redistributable, even though that means they're currently not build by Hydra but probably could be. There's no reason to treat this one differently.

Also, there are no packages in Nixpkgs using this license. It will make zero difference to packages built on Hydra. There's a good chance Hydra will be building unfree but redistributable packages anyway before the first package using this license even shows up.

Copy link
Copy Markdown
Member

@fabianhjr fabianhjr left a comment

Choose a reason for hiding this comment

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

While I'm on the fence on this being free or non-free, I'm currently more inclined on considering this as a free license.

This licenses forces licensees to share changes made for personal use.
I think this makes this a non-free license.

As part of its license review process, Debian applies the Desert
Island and Dissident tests[1], both of which this license fails as far as
I can tell.

AFAICT, It hasn't been reviewed by any of the usual suspects (Debian,
Fedora, FSF), but if any of them do make a determination on it, we can
take that into account and update our own view.

[1]: https://people.debian.org/~bap/dfsg-faq.html#testing
@alyssais
Copy link
Copy Markdown
Member Author

alyssais commented Nov 6, 2023

I've updated the PR to explicitly mark it as redistributable.

I've never known us to intentionally mark a license as free that violates the DFSG before, and I really think we should avoid setting that precedent. Debian gives a lot of time and attention to their license reviews, and we generally don't. Do we really want to take on that task for ourselves, rather than deferring it to the experts?

@fabianhjr
Copy link
Copy Markdown
Member

Do we really want to take on that task for ourselves, rather than deferring it to the experts?

I agree that is better to stick to widely-accepted standards, however that same standard also states:

These tests are not the final word either: some other tricky bit of nonfreeness might be invented which is not covered by any of our current tests, or something might fail a test as it is currently worded but still be determined to be free software.

So, we are currently in an indeterminate state on whether this would be either free or non-free software since Debian hasn't made that determination anyways. :/

Going more directly to the 4 software freedoms as per FSF (if prefered over OSI) I believe Parity does provide the 4 software freedoms both in spirit and as written.

Also disclosure I forgot about: I have developed parity licensed code. (none of which is currently packaged in nixpkgs afaik) but should make that known regardless.

@ghuntley
Copy link
Copy Markdown
Member

ghuntley commented Nov 6, 2023

Paging @kemitchell (creator of parity license)

@alyssais
Copy link
Copy Markdown
Member Author

alyssais commented Nov 6, 2023

Another thing we could do would be to remove the license for now. Nothing in Nixpkgs uses it, and Nixpkgs doesn't have to be an exhaustive list of every license ever invented.

By the time a package using it actually exists, we might have more clarity from license reviewers.

@alyssais
Copy link
Copy Markdown
Member Author

alyssais commented Nov 6, 2023

So, we are currently in an indeterminate state on whether this would be either free or non-free software since Debian hasn't made that determination anyways. :/

Going more directly to the 4 software freedoms as per FSF (if prefered over OSI) I believe Parity does provide the 4 software freedoms both in spirit and as written.

This is convincing enough to me for now, as long as we agree that we'll revisit this if Debian, the FSF, etc. do review it? My preference would be to remove the license since nothing uses it anyway, but I won't insist on it.

@alyssais alyssais closed this Nov 6, 2023
@alyssais alyssais deleted the parity70-non-free branch November 6, 2023 23:41
@fabianhjr
Copy link
Copy Markdown
Member

I am open to revisit it and I agree it is better to follow widely accepted determinations by others like debian unless NixOS has or gets strong enough reason (in policy) to defer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: lib The Nixpkgs function library 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants