Weird, gnome-themes-extra has two aliases listed but not the package itself, xneur_0_8 was removed, udisks2 is alias of udisks. telepathy packages are also there multiple times.
Also gimp-with-plugins is symlinkJoin of gimp and some plug-ins. Should we make it inherit gimp鈥檚 meta?
Also gimp-with-plugins is symlinkJoin of gimp and some plug-ins. Should we make it inherit gimp鈥檚 meta?
I'm not sure if I can answer definitively on this but it makes sense to me to just do inherit (gimp) meta to me. I guess it's not as important to fix these wrapper because Nix will still have to evaluated the wrapped software.
opencollada seems to be present already, it's also holding up the compilation of blender for what it's worth
I see no license for opencollada and added its license in #44345.
Sorry, I hadn't had my coffee yet and read "libraries" instead of "licence" :sweat_smile:
I'll make a new issue for it not compiling
Regarding the build-failure of opencollada, there is already PR #44126 that addresses it.
I still find it a bit strange we add the license info to the derivation instead of the source. If one modifies the derivation to compile statically, then quite likely the license may be invalid for the produced store path.
A good point. I've never thought of it that way.
I still find it a bit strange we add the license info to the derivation instead of the source.
Yeah, both version & meta.license seem like they should be in src, but I think it's been in place too long to expect it to change. Maybe we could add something to make-derivation.nix to check if the src has license or version set & use that. Although either way the license should propagate upward to the derivation copyleft or "share-alike" licenses.
If one modifies the derivation to compile statically, then quite likely the license may be invalid for the produced store path.
I don't think this is exactly correct. If you make a derivation compile statically, its license stays the same. It's just that anyone linking to it may be breaking the copyleft terms. Although I am extremely skeptical that legally there is any difference between dynamic & statically linking, these are the terms for at least the LGPL and maybe some other licenses with "dynamic linking exceptions". There's nothing stopping you from redistributing the unlinked object files though to satisfy LGPL terms (https://www.gnu.org/licenses/gpl-faq.en.html#LGPLStaticVsDynamic).
As a side note, I would like to "enforce" copyleft in Nixpkgs. This would involve using disallowedReferences to prevent GPL3 from being used by non-GPL. I am a little worried that there may be tons of software unknowingly violating the GPL.
I'll tick all packages in this issue for which the license is added in PR #44358.
What I learned while browsing through the list, trying to figure out licenses:
There are a lot of false positives on the list (aliases). Fortunately, the unique list will be a bit shorter.
Homepages seize to exist (see https://github.com/NixOS/nixpkgs/issues/45076), specially when projects are abandoned.
A lot of packages can not be categorized by a single license. For example, some parts of the code are GPL while others are BSD. A specially bad example is libressl (https://en.wikipedia.org/wiki/LibreSSL),
which contains at least 4 different licenses.
Is it possible to provide a list of licenses instead of a single value? What would be best way to handle such types of source code?
From what I've seen, multiple licenses are just in a list https://github.com/NixOS/nixpkgs/blob/499b9e794b55d8dbfac06706a05bb461731f88f3/pkgs/applications/misc/ape/apeclex.nix#L7
Here is an intermediate result: There are ~550 unique locations (files) left that have no license in the meta attribute.
Can the list above be updated?
Nix has the nice feature that it creates an attribute position in meta, which points to the actual file. That allows to sort out unique locations with missing tags. Here's an up-to-date sorted list with the files lacking license tags (does not include deviations that have no meta attribute at all): https://gist.github.com/markuskowa/73f7402a113fe01e70b4c045cc5a8f70
@markuskowa can you share the script / nix expression that you used to produce that list?
@bhipple That is the script I use: https://gist.github.com/markuskowa/20700860c09af1ca4cc828f8dc2e36b3
We are down to ~386 locations without a license tag:
https://gist.github.com/markuskowa/73f7402a113fe01e70b4c045cc5a8f70
These packages already have a license but are not ticked-off in the initial message, @matthewbauer :
antlr
antlr3
antlr3_4
antlr3_5
antlr4
antlr4_7
apr
apr-util
bashmount
batik
bazaar
bazaarTools
bc
bchunk
boringssl
I did not check more.
@matthiasbeyer The list in the initial issue is outdated. This one should be (somewhat) more up to date: https://gist.github.com/markuskowa/73f7402a113fe01e70b4c045cc5a8f70
Xpra can be removed from this list as it has been addressed.
@markuskowa did you meant to close this PR?
Nope, that was an unintended github-auto-close.
Most helpful comment
From what I've seen, multiple licenses are just in a list https://github.com/NixOS/nixpkgs/blob/499b9e794b55d8dbfac06706a05bb461731f88f3/pkgs/applications/misc/ape/apeclex.nix#L7