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

tests/sample_files/native/*.native: normalized #172

Merged
merged 2 commits into from
Dec 15, 2020
Merged

tests/sample_files/native/*.native: normalized #172

merged 2 commits into from
Dec 15, 2020

Conversation

ickc
Copy link
Collaborator

@ickc ickc commented Nov 30, 2020

c.f. jgm/pandoc#6888

Do not merge yet!

By commit 243af31, the pandoc/test/tables/*.native are copied to panflute/tests/sample_files/native/*.native. But it suddenly occurred to me there's a licensing issue here. Since pandoc is GPLv2+ we can't just copy their files here, which is BSD-3-Clause License.

A few possible ways to resolve this:

  • I checked the commit history in pandoc, all the 3 native files are committed by @tarleb, so may be it is sufficient to ask tarleb for permission to dual license it for panflute?
  • In general, pandoc/test would be a gold mine for anyone writing anything supporting pandoc in anyway (such as a 3rd party pandoc-types, parsers, etc.), so dual licensing everything in pandoc/test would be very useful as many of these 3rd parties are not licensed under GPL. This requires a broader discussion and probably need the consent from everyone contributed in pandoc/test directory so it is of broader scope than here. But may be it is good to keep that in mind.
  • If nothing changes from pandoc's side, I can create a similar set of test cases since I need them in pantable anyway.
  • IANAL but if I understand it correctly, we cannot say only panflute/tests/sample_files/native/ are licensed in GPLv2 because GPL requires the derived work be in GPL in its entirety.

c.c. @jgm about the licensing issue.

@sergiocorreia
Copy link
Owner

I think the easy solution would be to add a LICENSE.md file in the folder that states that the license of those three files is GPL3. There's nothing that prevents files with different licenses in the same git repo, as long as it's documented.

@ickc
Copy link
Collaborator Author

ickc commented Dec 1, 2020

See one of the bullet:

  • IANAL but if I understand it correctly, we cannot say only panflute/tests/sample_files/native/ are licensed in GPLv2 because GPL requires the derived work be in GPL in its entirety.

@ickc
Copy link
Collaborator Author

ickc commented Dec 1, 2020

I think if you can make sure when you distribute it you don't include those test files then it isn't required to be GPL.

I checked the pip installed version and those tests aren't there so probably it is ok.

@ickc
Copy link
Collaborator Author

ickc commented Dec 1, 2020

I think the story is still a bit more complicated than that, what if people are installing from the GitHub repo?

e.g. you can pip install git+....

Or, like in Arch Linux's AUR: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=python-panflute, they link to https://github.com/sergiocorreia/panflute/archive/2.0.5.tar.gz, and here the tests are in the archive.

May be I'm overly careful but unless someone can clarify legally this is ok, putting it in a grey area is not a good thing. Asking @tarleb to dual-license or at worst rewriting those test cases are easier and safer.

@sergiocorreia
Copy link
Owner

See one of the bullet:

  • IANAL but if I understand it correctly, we cannot say only panflute/tests/sample_files/native/ are licensed in GPLv2 because GPL requires the derived work be in GPL in its entirety.

WRT this point, it seems derivative doesn't mean panflute, but it means translating the file, adding to it, etc.

See for instance:

https://opensource.stackexchange.com/questions/1579/when-is-my-project-a-derivative-work-in-an-interpreted-language

Further, GPL3 explicitly grants everyone the license to distribute the file, as long as the license text remains (see sections 4 and 5)

@ickc
Copy link
Collaborator Author

ickc commented Dec 1, 2020

Yes, but see my 2 scenarios above that the distributed archive included the test files. Not from conda/pip where most people likely to obtain panflute, but there's no guarantee how people obtain panflute, especially through the GitHub auto archive itself.

@jgm
Copy link

jgm commented Dec 1, 2020

Asking @tarleb for permission to dual license these files is the best approach.

@tarleb
Copy link

tarleb commented Dec 1, 2020

File planets.native has been created by @kysko and released into the public domain. It is based on a table on MDN; their contents is licensed as CC0.

I hereby release the tables students.native and nordics.native under CC0.

@ickc
Copy link
Collaborator Author

ickc commented Dec 1, 2020

Thanks everyone. I will use that in pantable as well.

It is good to merge now as it is a trivial change. (It makes testing slightly easier as we can expect round trip identity.)

Copy link
Owner

@sergiocorreia sergiocorreia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there anything blocking merge?

@ickc ickc merged commit 7bebaf3 into sergiocorreia:master Dec 15, 2020
@ickc
Copy link
Collaborator Author

ickc commented Dec 15, 2020

Is there anything blocking merge?

Just your approval :) This repo is set up in a way that only if it is reviewed by someone it can be merged to master. Probably because you are the owner then you can override it, but I can't.

@ickc ickc deleted the native branch December 15, 2020 23:12
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 this pull request may close these issues.

4 participants