Change:
stdenv.mkDerivation rec { name    = "compcert-${version}"; <del> version = "3.0.1"; </del> <ins> version = "3.1"; </ins> src = fetchurl { url    = "http://compcert.inria.fr/release/${name}.tgz"; <del> sha256 = "0dgrj26dzdy4n3s9b5hwc6lm54vans1v4qx9hdp1q8w1qqcdriq9"; </del> <ins> sha256 = "0irfwlw2chalp0g2gw0makc699hn3z37sha1a239p9d90mzx03cx"; </ins> }; buildInputs = [ coq ]

Discussion:
As far as I understand, one needs to specify explicitly free = false; in a license definition to mark it as non-free. A few of the licenses listed in are marked that way (example: , , and of course ). However, lots of licenses which are not free, nor open source, by any standard do not bear such marking and can thus be wrongly interpreted as free (example: , , , , , ). This is especially unfair because (, which is actually the license of CompCert) is no better than for instance. Why would the users of one be hindered by the complexity of installing non-free software with Nix and the users of the other would not? A quick fix would be of course to add to these licenses and I volunteer to do that if it's considered to be the right solution. However, I also think that this issue is strongly linked to , as the lack of documentation for what free/unfree is supposed to mean and how to specify that a license is not free is probably at the heart of the problem. The other general issue might actually be in the terminology. Is free the right word? It seems that it is used instead to mean "OK to build on Hydra" (as in ). Maybe a specific, separate attribute should be created for this and be reserved for what it actually means (provided that a definition is chosen: it could be FSF's, it could be Debian's).
I think it should be FSF's (i.e. ) because the FSF coined "free" (as in, in the "free software" sense), and also it seems to me the most clear and simple definition. Also may help here regardless, it has a lot of licenses with their free/nonfree classification with short explanations (although it doesn't have every license).
Additionally, another reason for the problem I raised in this issue might be the fact that licenses are considered to be free by default. If this was the contrary (non-free unless you put ), it would mean that the persons who adds a new free license knows what they are doing.
Closing, please reopen if there’s still a problem.
It hasn't really been addressed AFAICS. I've just opened to quickly fix obvious remaining mistakes. As for bigger changes like changing the default, separating the notions of free and redistributable, etc, I'll let this for someone else to do.
I agree.

I think this should be reopened and with the topic renamed to something like "Licenses: unfree vs. redistributable".
Thanks for the fixes I think to make this clearly actionable something to agree with or disagree with about specifying unfree and redistributable has to be written explicitly. Maybe even as a separate issue. As for defaults for , I think that changing the default would create a bit of a gotcha. Maybe just making that field obligatory could be a good idea, though… (I think everything OSI-approved will end up marked as fully free in any case)
Good idea. Sure, that's the idea.
If a PR with making explicit/mandatory gets stalled, everyone please feel free to ping me. (also please ping me when it appears; but I will not merge it without giving a bit of time for discussion)