[Nix-dev] Re: Separating Free/non-free package

Ludovic Courtès ludo at gnu.org
Mon Sep 21 18:08:49 CEST 2009


Hi,

Nicolas Pierron
<nicolas.b.pierron at gmail.com> writes:

> free should be deduced from the license, not provided by hand.

As I said earlier, that is *not* possible unless a “license calculus” is
devised.  That would be a different project and I’m not going to take
that route.

>>        fullName = "${attrName}-${version}";
>
> Unfortunately some packages do not respect this rule. (with some extra suffix)

Right.  That means one has to pass both the package and its full name,
sigh.

>>    in
>>      if (fullName == pkg.name
>>          && pkg ? meta
>>          && pkg.meta ? license
>>          && license == pkg.meta.license)
>
> I don't understand, you are duplicating license information if the
> license is correct?  Then I don't understand the purpose of this file,
> you just need "yes it's correct" line.

Correct, that’s what this file is for.  (See earlier messages for a
rationale.)

>>      then ({ name = attrName;
>>              value = (pkg // { meta.free = free; }); })
>
> You override all other meta attribute like homepage, description, and so on?

That’s unintended.

>>  reviewedPackageList = [
>>    (reviewed "guile" "1.8.7" "LGPLv2+" true)
>>    (reviewed "libunistring" "0.9.1.1" "LGPLv3+" true)
>>    (reviewed "flashplayer" "10.0.32.18" "non-free" false)
>>  ];
>
> Yet Another List of Unmaintainable Things ...

That *is* a fair amount of work to maintain, but I have yet to see a
better proposal.

>>  { inherit reviewedPackages freePackages; }
>
> What If I want only non-free packages?

It’s easily derived.

> 1)
>
> I don't see how such file is more secure than any other file.
> Everybody can modify this file.

The assumption is that it likely won’t be modified inadvertently (as
opposed to ‘meta.license’), and that any malicious committer could be
found very quickly.  ;-)

> You need a Hash somewhere which say that the package with its license
> are correct as emphasized by the <person name> reviewer.

A hash of what?

The reviewer name can be obtained by “svn blame x.nix | grep PACKAGE”.

> 2)
>
> Your current proposal duplicates the license string:

[...]

> So, what is the point of duplicating things?

Having accurate license information.

> 3)
>
> "Free" is not an intrinsic property of the license.  This may depends
> on who use it (are you a commercial, an non-profit association).

It’s “free” as in “free speech”, not as in “free beer”.  See
http://www.gnu.org/philosophy/free-sw.html for details.

> 4)
>
> Adding multiple pre-configured filter is not a good method

It was merely an example showing we can have things beyond
‘freePackages’.

Thanks,
Ludo’.




More information about the nix-dev mailing list