NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
16.57k stars 13.06k forks source link

Add missing licenses #43716

Open matthewbauer opened 5 years ago

matthewbauer commented 5 years ago
jtojnar commented 5 years ago

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.

jtojnar commented 5 years ago

Also gimp-with-plugins is symlinkJoin of gimp and some plug-ins. Should we make it inherit gimp’s meta?

matthewbauer commented 5 years ago

Also gimp-with-plugins is symlinkJoin of gimp and some plug-ins. Should we make it inherit gimp’s 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.

Synthetica9 commented 5 years ago

opencollada seems to be present already, it's also holding up the compilation of blender for what it's worth

pSub commented 5 years ago

I see no license for opencollada and added its license in #44345.

Synthetica9 commented 5 years ago

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

pSub commented 5 years ago

Regarding the build-failure of opencollada, there is already PR #44126 that addresses it.

FRidh commented 5 years ago

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.

pSub commented 5 years ago

A good point. I've never thought of it that way.

matthewbauer commented 5 years ago

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.

pSub commented 5 years ago

I'll tick all packages in this issue for which the license is added in PR #44358.

pSub commented 5 years ago

44358 fixes this issue only partly.

markuskowa commented 5 years ago

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?

eadwu commented 5 years ago

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

markuskowa commented 5 years ago

Here is an intermediate result: There are ~550 unique locations (files) left that have no license in the meta attribute.

Mic92 commented 5 years ago

Can the list above be updated?

markuskowa commented 5 years ago

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

bhipple commented 5 years ago

@markuskowa can you share the script / nix expression that you used to produce that list?

markuskowa commented 5 years ago

@bhipple That is the script I use: https://gist.github.com/markuskowa/20700860c09af1ca4cc828f8dc2e36b3

markuskowa commented 5 years ago

We are down to ~386 locations without a license tag: https://gist.github.com/markuskowa/73f7402a113fe01e70b4c045cc5a8f70

matthiasbeyer commented 5 years ago

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.

markuskowa commented 5 years ago

@matthiasbeyer The list in the initial issue is outdated. This one should be (somewhat) more up to date: https://gist.github.com/markuskowa/73f7402a113fe01e70b4c045cc5a8f70

mjlbach commented 4 years ago

Xpra can be removed from this list as it has been addressed.

Mic92 commented 4 years ago

@markuskowa did you meant to close this PR?

markuskowa commented 4 years ago

Nope, that was an unintended github-auto-close.

stale[bot] commented 3 years ago

I marked this as stale due to inactivity. → More info

markuskowa commented 3 years ago

Still relevant

katexochen commented 6 months ago

gocode was removed

danderson commented 5 months ago

While I was rooting around opencascade-occt, I found this issue. SPDX doesn't have a license exception identifier for the OpenCASCADE exception, so I filed https://github.com/spdx/license-list-XML/issues/2389 to ask for one.

Assuming that's accepted, we should be able to update opencascade-occt and opencascade_oce to a custom license LGPL-2.1-only-with-Opencascade-exception-1.0 :crossed_fingers:

SigmaSquadron commented 1 week ago

Hi! I believe Xen can be crossed off the list: https://github.com/NixOS/nixpkgs/blob/2823edd5252cc7be1c735c0d9670c0eaf5734dac/pkgs/applications/virtualization/xen/generic.nix#L358

AkechiShiro commented 1 week ago

Sorry for asking here, as it may already be written somewhere but is there any license attribute to mention that the code is unlicensed at the moment ?

EDIT: Found the answer here https://discourse.nixos.org/t/can-i-add-a-package-without-a-license-to-nixpkgs/33844