Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure libnl is sufficiently LGPL for our use #5

Open
dankamongmen opened this issue Oct 29, 2019 · 3 comments
Open

Ensure libnl is sufficiently LGPL for our use #5

dankamongmen opened this issue Oct 29, 2019 · 3 comments
Assignees
Labels
bug shit's fucked up
Milestone

Comments

@dankamongmen
Copy link
Owner

I don't want any GPL infecting us. It appears that most files in libnl are LGPL, but a few might be GPL or other licenses. Sort this all out. If need be, replace libnl with libmnl or roll our own.

@dankamongmen dankamongmen self-assigned this Oct 29, 2019
@dankamongmen dankamongmen added the question we have no idea what's going on label Oct 29, 2019
@dankamongmen dankamongmen added this to the 1.0.0 milestone Oct 29, 2019
@dankamongmen
Copy link
Owner Author

According to the debian copyright file, we've got a mix of three licenses: LGPL 2.1 for the remainder, GPL2 for a few files, and some one-off Texas Instruments license for a few more.

GPL2:

src/nl-addr-add.c
src/nl-addr-list.c
src/nl-cls-add.c
src/cls/utils.c
src/cls/cgroup.c
src/cls/utils.h
src/cls/basic.c
src/nl-addr-delete.c:

TI:

include/netlink/xfrm/selector.h
include/netlink/xfrm/sa.h
include/netlink/xfrm/ae.h
include/netlink/xfrm/sp.h
include/netlink/xfrm/template.h
include/netlink/xfrm/lifetime.h
lib/xfrm/sa.c
lib/xfrm/template.c
lib/xfrm/ae.c
lib/xfrm/sp.c
lib/xfrm/selector.c
lib/xfrm/lifetime.c

I don't like that GPL2 list. iproute2 uses libmnl, and iproute2 has served me well for twenty years. Maybe we ought make that switch.

@dankamongmen dankamongmen added bug shit's fucked up and removed question we have no idea what's going on labels Oct 30, 2019
@dankamongmen
Copy link
Owner Author

for what it's worth, libmnl is also about 1/4 the size of libnl:

[schwarzgerat](0) $ ls -l /lib/x86_64-linux-gnu/libmnl.so.0.2.0 
-rw-r--r-- 1 root root 30712 2019-07-29 13:21 /lib/x86_64-linux-gnu/libmnl.so.0.2.0
[schwarzgerat](0) $ ls -l /lib/x86_64-linux-gnu/libnl-3.so.200.26.0 
-rw-r--r-- 1 root root 139160 2019-08-18 07:08 /lib/x86_64-linux-gnu/libnl-3.so.200.26.0
[schwarzgerat](0) $ 

@dankamongmen
Copy link
Owner Author

note that while https://www.infradead.org/~tgr/libnl/ only shows releases up through 2014's 3.2.25, https://github.com/thom311/libnl/releases seems quite up-to-date.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug shit's fucked up
Projects
None yet
Development

No branches or pull requests

1 participant