libnl icon indicating copy to clipboard operation
libnl copied to clipboard

Make licensing more clear

Open LeSpocky opened this issue 6 years ago • 1 comments

In #80 it was stated libnl3 is licensed under LGPL. According to file COPYING and most inlclude file headers it seems to be LGPL 2.1 only. However, I think this is not the complete picture? The following questions arise:

  • What should doc/COPYING apply to (this seems to be the license text for GPLv3)?
  • Which license applies to include/netlink/xfrm/ae.h, include/netlink/xfrm/lifetime.h, include/netlink/xfrm/sa.h, include/netlink/xfrm/selector.h, include/netlink/xfrm/sp.h, and include/netlink/xfrm/template.h?
    • Looks like some BSD license?
    • All are part of the public API?
  • What about src/nl-addr-add.c, src/nl-addr-delete.c, src/nl-cls-add.c, src/idiag-socket-details.c, and src/nl-addr-list.c?
    • headers state GPL-2.0-only
    • license text for that is missing

(You might consider the recommendations of the REUSE software initiative to sort this out?)

LeSpocky avatar May 07 '19 08:05 LeSpocky

What should doc/COPYING apply to (this seems to be the license text for GPLv3)?

Good question. I guess then the entire content under "doc" is techincally GPLv3+ ?

Which license applies to include/netlink/xfrm/ae.h, include/netlink/xfrm/lifetime.h, include/netlink/xfrm/sa.h, include/netlink/xfrm/selector.h, include/netlink/xfrm/sp.h, and include/netlink/xfrm/template.h?

They are part of the public API of libnl3-xfrm library. As such, they should have the same license as all the files from that library. That would be LGPL-2.1-only, right?

What about src/nl-addr-add.c, src/nl-addr-delete.c, src/nl-cls-add.c, src/idiag-socket-details.c, and src/nl-addr-list.c?

Well, they are command line tools, like all other tools under "src". I think all tools under "src" should have the same license (to minimize the inconsistency). From #80 says Thomas says (he must know) Most of the examples code is GPLv2. It's not clear to me whether said examples is the code under "src", I would have thought so. But looking at the files under "src", it seems the code is actually LGPL-2.1-only...

The files under include/linux-priviate are merely copies of linux headers, they probably all all GPL-2-only.


I would very much appreciate if we could clean up that mess and make as much as possible LGPL-2.1 (after all, that's still compatible with GPL-2+).

#219 adds SPDX identifiers, I think that should be the first step to get a clear picture...

(patches welcome, and sorry for the late reply).

thom311 avatar Aug 09 '19 15:08 thom311