thisisparker / xword-dl

⬛⬜⬛ Command line tool to scrape crosswords from online solvers and save them as .puz files ⬛⬜⬛
MIT License
145 stars 31 forks source link

Clarify project license #61

Closed davide125 closed 1 year ago

davide125 commented 1 year ago

I couldn't find any reference to what license this project is distributed under. Could you please clarify that, and ideally add a LICENSE file to the repo for future reference? Thanks!

thisisparker commented 1 year ago

Do you have any suggestions or requests? I'm inclined to use the Unlicense for this unless there's a good reason not to.

davide125 commented 1 year ago

Thanks! Unlicense would work fine, and is an approved license for inclusion in most Linux distributions (you can see the list for Fedora at https://docs.fedoraproject.org/en-US/legal/allowed-licenses/ if you're curious). Within the Python community, MIT is also a pretty common choice for a permissive license. From my standpoint, anything permissive would be ok.

danielpunkass commented 1 year ago

@thisisparker Historically the conventional wisdom I've seen has been to use a more explicit license than unlicensed, or public domain, because these do not count as legal licenses, and thus have unwanted consequences (or absence of consequences) in some jurisdictions. In short: an unlicense may cause a default restrictive ownership license to apply even if you didn't intend it.

If your intention is to grant liberal permission to use the source code in both commercial and noncommercial, closed and open source contexts, then MIT would be a good choice.

danielpunkass commented 1 year ago

While I'm being fussy about it, you might need/want to go back and get the approval from anybody who contributed to the project that they are willing to grant the license you choose for their contributions. Otherwise you might not be able to legally assert that any given license applies to the whole source base.

thisisparker commented 1 year ago

We're MIT now! Thanks for the nudge!

danielpunkass commented 1 year ago

I've looked a little more closely at the licensing implications for xword-dl, and I think there is an issue with uniformly declaring that the project as a whole is MIT. This is because it depends upon two libraries, html2text and Unidecode, which are GPL3 and GPL2 licensed, respectively.

This means that a built version of xword-dl is not licensable as MIT because it inherently carries the viral licensing requirements of the underlying GPL2 and GPL3 licenses.

So it might be worth clarifying in the license that the xword-dl portion is itself MIT licensed, but that some of its dependencies bring a GPL license with them.

If these libraries could one day be replaced with MIT-compatible licenses, that would be ideal.

danielpunkass commented 1 year ago

I started evaluating non-GPL alternatives and I think for the Unidecode dependency we might be able to switch to https://github.com/anyascii/anyascii. It's a liberal BSD-style license and seems likely to accomplish the gist of what we're using unidecode for. I'll open a pull request with work in progress if I get there.

danielpunkass commented 1 year ago

The https://github.com/TeamHG-Memex/html-text project looks like a potential replacement for html2text. I'll evaluate and add that to the PR #90 I created, when I get it integrated. If nothing else my "no-gpl" branch might serve as a pure MIT alternative for people who are conscientious about possible license violations, while you evaluate whether to incorporate the changes or not.