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

libidn2 and Apache license compatibility #4

Closed
ojab opened this issue Sep 2, 2021 · 5 comments · Fixed by #5
Closed

libidn2 and Apache license compatibility #4

ojab opened this issue Sep 2, 2021 · 5 comments · Fixed by #5

Comments

@ojab
Copy link

ojab commented Sep 2, 2021

JFYI deepfryed/idn-ruby#8

@HoneyryderChuck
Copy link
Owner

Thx for the report!

idnx interfaces via FFI with libidn2 and doesn't ship neither with source code nor the binaries, so I don't think this restriction applies. Or is there something I'm not seeing?

@ojab
Copy link
Author

ojab commented Sep 2, 2021

/shrug IANAL
AFAIK FFI is still counts as linking, which makes idnx [when using libidn2] derived work and Apache 2.0 can't be applied.
And while idnx doesn't bundle libidn2, any product shipping working solution (i. e. idnx + libidn2) under Apache 2.0 license would be in violation.

@HoneyryderChuck
Copy link
Owner

I'm struggling to parse this tbh.

I guess idnx complies with the "may not distribute" part, however "YOU MAY RELY ON THEM WHEN THEY SUPPORT AN OPTIONAL FEATURE" seems debatable, as libidn2 is indeed required under linux/mac to provide functionality.

I still believe that this would not be enforcable given that one won't be able to use idnx without externally installing libidn2 though. A workaround to this could perhaps be "bundling" a pure ruby punycode implementation, and offer it when libidn2 isn't available, which complies with "desirable level of quality". There's none supporting IDNA 2008, which is the whole point of idnx, but it'd at least be compliant.

WDYT?

@ojab
Copy link
Author

ojab commented Sep 2, 2021

Looks like a sensible solution, addressable has such fallback (not sure if it's intentional due to licensing concerns or due to binary ext ones, filled sporkmonger/addressable#432 for that).
Again IANAL, but IMHO it would be something like Apache 2.0 or LGPL-[2? 3?] if libidn is used anyway.

@HoneyryderChuck
Copy link
Owner

I don't think that a license upgrades if a sensible non-idn2 fallback is in place. It's just not a license conflict.

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

Successfully merging a pull request may close this issue.

2 participants