[Nix-dev] Automatic download option for "requireFile"

Harald van Dijk harald at gigawatt.nl
Tue Feb 24 12:02:55 CET 2015


On 02/24/2015 11:30 AM, Vladimír Čunát wrote:
> On 02/23/2015 05:40 PM, Thomas Strobel wrote:
>> So, how should we deal with software that can be downloaded "freely",
>> but where the user has to accept a certain license?
>> Is the nixpkgs option "config.allowUnfree = true;" meant exactly for
>> that cases?
>
> Well, you *always* have to accept the license for any package. Free ones
> are "accepted automatically", and for others you have allowUnfree and
> friends (even general allowUnfreePredicate).

No, you don't. Many licenses intentionally don't restrict anything 
copyright law would have already allowed you to do. The GPL even 
explicitly covers this:

"5. You are not required to accept this License, since you have not 
signed it. However, nothing else grants you permission to modify or 
distribute the Program or its derivative works. These actions are 
prohibited by law if you do not accept this License. Therefore, by 
modifying or distributing the Program (or any work based on the 
Program), you indicate your acceptance of this License to do so, and all 
its terms and conditions for copying, distributing or modifying the 
Program or works based on it."

If you just want to _use_ the software, not modify it, not re-distribute 
it, then for a whole lot of packages, you do not have to accept the 
license. The exact limits of what you're allowed to do without accepting 
the license of course depend on where you live.

If nixpkgs contains software that requires acceptance of the license, 
where nixpkgs indicates to the package acceptance of the license, and 
where that license restricts the user's rights, that is an huge problem.

config.allowUnfree is a setting that has to be set by the user. It does 
not get enabled by default. Covering software with restrictive EULAs so 
that they're only installable if config.allowUnfree is set is reasonable.

This is what happens with the Adobe Flash player, for instance. This is 
exactly the sort of scenario where software is freely downloadable -- 
although admittedly doing so through the website does require the user 
to indicate acceptance of the EULA. According to Adobe, even mere use of 
the software requires acceptance of the EULA. Because of this, the 
package is installable only if config.allowUnfree is set, and that's 
exactly the way it should be.

Cheers,
Harald van Dijk


More information about the nix-dev mailing list