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

Licensing issue of ipwb's MIT w/ imported GPL libs #382

Open
machawk1 opened this issue Mar 13, 2018 · 6 comments
Open

Licensing issue of ipwb's MIT w/ imported GPL libs #382

machawk1 opened this issue Mar 13, 2018 · 6 comments
Labels

Comments

@machawk1
Copy link
Member

Stemming from the discussion in datatogether/roadmap#79, ipwb is MIT but uses some https://github.com/webrecorder/pywb modules, the latter being GPLv3.

There have been numerous discussions in this repo of decoupling ipwb from pywb, so that horse need not be beaten any further, but is there any issue of an MIT package using a GPLv3 package?

/cc @ibnesayeed

@machawk1 machawk1 added the Meta label Mar 13, 2018
@ibnesayeed
Copy link
Member

Yes, as per my understanding there is an issue in the way it is being distributed right now. Using a GPL component enforces the whole thing to be released under a GPL-compatible license. This has happened because we started this project in a very rushed time of the hackathon where we wanted to get something working in the least amount of time without paying too much attention to other aspects. However, this issue can easily be resolved by utilizing warcio which is released under MIT-compatible Apache 2.0 license.

@machawk1
Copy link
Member Author

However, this issue can easily be resolved by utilizing warcio which is released under MIT-compatible Apache 2.0 license.

That would solve the issue for the WARC-related functions we use from pywb but there is other reuse, e.g.,

ipwb/ipwb/replay.py

Lines 24 to 25 in 68e8e1d

from pywb.utils.binsearch import iter_exact
from pywb.utils.canonicalize import unsurt

Since it's "easily be resolved", can I assume that you are going to "easily resolve it"? ;)

#380 is an outstanding related issue.

@ibnesayeed
Copy link
Member

I can see that the binary search function need to be implemented as well, but that would be a bitesize task that could be a good way to engage some new WS-DL members in this project.

The SURT implementation exists outside IPWB, but unfortunately that is under an AGPL-3.0 license. Our best bet would be implement a simple SURT library and release it under MIT. That could be another good task for newcomers while we can elaborate on how it can be done.

Since it's "easily be resolved", can I assume that you are going to "easily resolve it"? ;)

#AfterABD ;-)

@machawk1
Copy link
Member Author

For the most part, we have moved to using the Apache 2.0-licenses warcio instead of importing parts of the pywb module. An outstanding issue that prevents this ticket from being closed is that we have copied pywb's unsurt function for use in ipwb directly without needing pywb as an explicit dependency. While credit is maintained, this seems like an approach that exacerbates the license incompatibility issues between ipwb (MIT) and pywb (GPLv3).

@ibnesayeed
Copy link
Member

Even the surt library is AGPL that we are still using.

@machawk1
Copy link
Member Author

Ok, then the problem is worse than originally reported.

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

No branches or pull requests

2 participants