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 unrar license and use #328698

Closed
wants to merge 2 commits into from
Closed

add unrar license and use #328698

wants to merge 2 commits into from

Conversation

eclairevoyant
Copy link
Contributor

Description of changes

License is under the "UnRAR source" link on https://www.rarlab.com/rar_add.htm, not sure if it's better to link to the tarfile or to the webpage.

  • lib/licenses: add unrar
  • treewide: use unrar license where applicable

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/)
  • 24.11 Release Notes (or backporting 23.11 and 24.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.

Add a 👍 reaction to pull requests you find important.

@CyberShadow
Copy link
Contributor

Great, thanks!

BTW, here is the relevant part of the license (the only part that applies to and needs to be included in any derivative software):

   2. UnRAR source code may be used in any software to handle
      RAR archives without limitations free of charge, but cannot be
      used to develop RAR (WinRAR) compatible archiver and to
      re-create RAR compression algorithm, which is proprietary.
      Distribution of modified UnRAR source code in separate form
      or as a part of other software is permitted, provided that
      full text of this paragraph, starting from "UnRAR source code"
      words, is included in license, or in documentation if license
      is not available, and in source code comments of resulting package.

IANAL, but this doesn't read like it would interfere at all with Hydra.

@emilazy
Copy link
Member

emilazy commented Jul 20, 2024

There is currently no consensus to build redistributable non‐free packages on Hydra and I personally feel it would be a bit of a minefield; we already don’t do great at FOOS licence compliance and having Hydra implicitly agree to a bunch of dodgy EULAs would be very risky. Clause 6 is somewhat concerning; strictly‐enforced use restrictions are more fraught than simple “no derivatives” licences.

@eclairevoyant
Copy link
Contributor Author

eclairevoyant commented Jul 20, 2024

Also a bit offtopic for the PR, since the defaults for all of these packages are (naturally) to exclude the rar version (presumably not overridden at the top-level), and therefore the rar-less versions are what get built.

@emilazy
Copy link
Member

emilazy commented Jul 20, 2024

Yes. There are FOSS implementations of the RAR format, such as libarchive; they may not be quite as feature‐complete as the proprietary code, but I think helping upstreams migrate to using alternative implementations would a better approach to getting Hydra to build more tools with RAR support.

@CyberShadow
Copy link
Contributor

CyberShadow commented Jul 20, 2024

Hmm... well, IANAL but from what I understand of this license text... if we were to

  1. take unrarsrc-7.0.9.tar.gz
  2. delete everything from license.txt except paragraph 2
  3. add a comment at the top of the file with a copy of paragraph 2
  4. create a new archive of the result

then we, while complying with the original license, will have an archive containing UnRAR source code and relieve any recipients of said new archive from ever seeing or having to comply with paragraph 6.

I should point out that e.g. john does not include the original 6-paragraph license text at all, but only the second paragraph. Not sure what other software using this code does, but might be worth looking at this license as effectively consisting only of paragraph 2, or even of there being two separate licenses at play here (original 6-paragraph and 2nd-paragraph-only for derivative code).

Edit: Sorry, yes I agree that this is splitting hairs.

@eclairevoyant
Copy link
Contributor Author

License texts themselves cannot be assumed to be licensed in the same way as the code itself; for example GPL3 is not GPL3 licensed but copyrighted.
I won't be taking on the legal responsibility of chopping up licenses.

@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 1-10 labels Jul 20, 2024
@@ -1223,6 +1223,13 @@ in mkLicense lset) ({
fullName = "The Unlicense";
};

unrar = {
fullName = "UnRAR - free utility for RAR archives: License for use and distribution of FREEWARE version";
url = "https://www.rarlab.com/rar/unrarsrc-7.0.9.tar.gz";
Copy link
Member

Choose a reason for hiding this comment

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

Maybe we could link to https://fedoraproject.org/wiki/Licensing:Unrar, which has the text. I think this would be okay since we use SPDX and OSI links for some licences. On the other had it does have editorial commentary :)

@eclairevoyant eclairevoyant deleted the unrar-license-entry branch September 10, 2024 18:54
@emilazy
Copy link
Member

emilazy commented Sep 10, 2024

Hi @eclairevoyant, have you given up on this? I was hoping to merge and was just waiting to hear back about the URL, since you had asked about where would be good to link to.

@eclairevoyant
Copy link
Contributor Author

I plan to remove myself from nixpkgs and delete my gh fork; feel free to pick any of my closed PRs up as you wish.

@emilazy
Copy link
Member

emilazy commented Sep 10, 2024

Oh, no. I am sorry to see you go. :(

@eclairevoyant
Copy link
Contributor Author

It's ok, I had a good run and learnt a lot.
It was great working with you and many others 😄

@SuperSandro2000
Copy link
Member

@emilazy #341115

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 6.topic: qt/kde 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 1-10
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants