Open machawk1 opened 6 years ago
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.
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., https://github.com/oduwsdl/ipwb/blob/68e8e1d5ea59585d5a8ee599e86834bdba3687c2/ipwb/replay.py#L24-L25
Since it's "easily be resolved", can I assume that you are going to "easily resolve it"? ;)
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"? ;)
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).
Even the surt
library is AGPL that we are still using.
Ok, then the problem is worse than originally reported.
Stemming from the discussion in https://github.com/datatogether/roadmap/issues/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