3

We are currently writing a piece of software. In it, we want to use the Disconnect.me tracking services list. The list is licensed under the GPLv3. Our code will generally only run on servers, but we plan on releasing it under the MIT license. The tracker file will not be distributed with the software, but the setup script will automatically download it from the official source. It is then read and parsed in our software, and used to match URLs against it.

Leaving aside the issue that licensing datasets under the GPL is discouraged (since it was not our decision), what are the consequences for our final code? Since the file in question is a JSON data file, I am not sure how the different forms of linking vs. fork-and-exec apply to it. Is this "modularized enough" that this use would be acceptable, or does this use already make the whole system a combined work and thereby require licensing the whole thing under the GPLv3?

  • 1
    I think it's important whether the list should be interpreted as data or code. You can freely process GPL data with non-GPL programs. If the list is code, the question is whether you are merely running this code, or whether you are linked with this code. Since the list seems like an ordinary data set and does not explicitly encode instructions such as “if you see domain example.com, then block it”, it seems you could process the list without restriction, as long as you satisfy the GPL regarding distribution of the list. – amon Jun 5 '17 at 11:23
2

There's a difference between "mere aggregation" - distributing multiple pieces of software together on the same media - and a single program that depends on multiple parts. The GNU FAQ admits that this difference is fuzzy and may depend on the interpretation of a court.

Nevertheless, you can stay relatively clear from this by separating the dataset from the non-GPL code as far as possible. Some possibilities include:

  • Making your code function without the dataset
  • Distributing separately, e.g. separate download links on your website for your software and the dataset

The only hard requirement is that you do not further restrict user rights on the GPL part, that is, make sure the GPL part is always available under that license.

Fortunately, since your code is under a GPL-compatible license (MIT), you can:

  • Release the whole thing as GPL, and simultaneously,
  • Release your code, sans the GPL data, as MIT

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.