[Nix-dev] Separating free and non-free packages, again

Pjotr Prins pjotr.public12 at thebird.nl
Tue Nov 24 15:17:14 CET 2009


There is also a group of non-free packages that is free for academic
use. Would it make sense to have a third 'type'?

Pj.

On Thu, Nov 19, 2009 at 02:20:25PM +0100, Eelco Dolstra wrote:
> Hi,
> 
> A while back we had a discussion about separating free and non-free packages in
> Nixpkgs.  The main motivation is that it allows people to make completely free
> Nixpkgs / NixOS installations.  For instance, last week at the GNU Hackers
> Meeting we discussed doing continuous integration builds of the various GNU
> packages.  Obviously, you don't want an accidental dependency on a non-free
> package in such builds.
> 
> After talking with Ludovic at the GHM, we came up with the following plan:
> 
> - Create a directory pkgs/non-free.
> 
> - Separate all-packages.nix into free-packages.nix and non-free-packages.nix,
> with all-packages.nix defined (more or less) like this:
> 
>     import ./free-packages.nix
>     //
>     (if pathExists ./non-free-packages.nix
>      then import ./non-free-packages.nix
>      else {})
> 
> - Move the non-free packages to pkgs/non-free incrementally.  This includes
> firmware packages (e.g. pkgs/non-free/firmware).  Nixpkgs contains only a
> relatively small number of non-free packages, so it shouldn't be too hard.
> 
> This allows people who want to do so to remove pkgs/non-free and
> non-free-packages.nix to obtain an entirely free version of Nixpkgs (and to use
> it to build NixOS).  On the other hand, everybody else is unaffected.  In
> particular, normal NixOS users will still have access to non-free packages like
> the NVIDIA drivers.
> 
> In the previous thread there were some other proposals:
> 
> - Make a branch of Nixpkgs containing only free packages.  However, this would
> be a lot of work to maintain.
> 
> - Make sure that all packages have an appropriate meta.license attribute, and
> automatically warn if the user tries to build an non-free package.  This is
> still a good idea, but it takes much more work, and it doesn't actually allow
> you to easily *remove* the non-free packages from Nixpkgs.
> 
> - Ludovic originally proposed a gnu-packages.nix, but that's "vendor-specific"
> so it doesn't seem a good idea.  A free/non-free separation like in Debian
> should be sufficient.
> 
> Another objection raised was that we have some language-specific composition
> expressions, like perl-packages.nix and haskell-packages.nix, which might also
> need to be split up.  However, as far as I know they're all free software, so
> this is not a big issue.
> 
> There's still the policy issue of what constitutes a free or non-free package,
> but for most it should be fairly obvious.
> 
> -- 
> Eelco Dolstra | http://www.st.ewi.tudelft.nl/~dolstra/
> _______________________________________________
> nix-dev mailing list
> nix-dev at cs.uu.nl
> https://mail.cs.uu.nl/mailman/listinfo/nix-dev



More information about the nix-dev mailing list