seatgeek / fuzzywuzzy

Fuzzy String Matching in Python
http://chairnerd.seatgeek.com/fuzzywuzzy-fuzzy-string-matching-in-python/
GNU General Public License v2.0
9.21k stars 874 forks source link

Licensing question- StringMatcher.py rewrite and MIT license #247

Open tedivm opened 4 years ago

tedivm commented 4 years ago

In a previous thread is says-

Thats because we mistakenly vendored something that was GPL - fuzzywuzzy/StringMatcher.py - and no one has stepped up to rewrite it. Because GPL2 is viral, the whole thing became GPL2, so thats about it.

Does this mean that if someone does rewrite the StringMatcher.py library you'd be willing to release this as an MIT project? If so I would be willing to take this on.

maxbachmann commented 4 years ago

@tedivm For exactly this reason I recently wrote RapidFuzz which implements similar algorithms to FuzzyWuzzy but under a MIT License, since FuzzyWuzzy was MIT Licensed before they added their Levenshtein components.

I am not quite sure whether Fuzzywuzzy can still change the license easily since they had quite a few contributions afterwards as well, that they licensed only under the GPL, or whether they would have to ask all these contributors.

tedivm commented 4 years ago

Awesome, thanks for sharing @maxbachmann!

graingert commented 3 years ago

Because GPL2 is viral, the whole thing became GPL2, so thats about it.

the GPL2 is not viral you can just stop using the copyrighted work

Fuzzywuzzy can still change the license easily since they had quite a few contributions afterwards

this would be the best option

tedivm commented 3 years ago

@graingert I don't really care about the nitpicking and only included that quote because it came from one of the contributors to this project. I simply wanted to know if making a PR around licensing would be welcome, and considering I never got a real response it's pretty obvious it isn't.

Everyone in this thread has already taken your advice, stopped using this project, and moved on to the rapidfuzz library.

medecau commented 2 years ago

As a previous contributor I am against my work in this repository being licensed with anything GPL*. My contributions were made with the understanding that I was contributing under an MIT license. Do not take my silence in this or other discussions as accepting of a license change.

tedivm commented 2 years ago

If this project changed licenses without the consent of a contributor then the license change was done illegally. This whole project should probably be avoided due to that alone.

In a previous project I ended up using RapidFuzz and it works great, without people having to steal other people's contributions and relicense them.

tedivm commented 2 years ago

@medecau - as another note, if you really are annoyed enough about this you can issue a DMCA notice to github since this is a straight forward copyright violation.

maxbachmann commented 2 years ago

@medecau @tedivm FuzzyWuzzy was originally licensed under the MIT licence and then started to use python-Levenshtein which is GPL licensed. Some people claimed, that this means, that the whole project has to be licensed under GPL. I actually doubt that this is the case, since it was always a optional dependency. So it should probably be up to the user whether he uses it with python-Levenshtein and therefor under GPL.

I do not really see an issue with the re-license, since the MIT license is compatible with the GPL -> the original MIT licensed implementation is now used as part of the now GPL licensed version (possibly it would be required to add the original MIT license in some place). I agree however, that this kind of silent license change on a project that is widely used is a big problem for any downstream users, since this suddenly makes the library unusable in their project.

medecau commented 2 years ago

@tedivm it was definitely changed without my input. I don't think it is illegal though, just a shitty move. I feel very wronged about it though.

It is my belief that DMCA would do nothing here. Issuing a DMCA take down on an Open Source Project sounds like an even shittier move. I shook my head as I read that suggestion. I love OSS. Why would I do that to other contributors/maintainers?! Yuck.

RapidFuzz looks solid, I am now sponsoring @maxbachmann.

@maxbachmann, appreciate the explanation, I understand re-licensing is allowed from MIT/BSD/others to GPL*. But that change should have had input from all contributors not some internet randos.

My contributions have been licensed as GPL without my consent.

maxbachmann commented 2 years ago

@medecau I agree, that it is a super annoying change for anyone using the library, since the GPL is significantly more restrictive. I just wrote a quick pr for thefuzz replacing python-Levenshtein with RapidFuzz (https://github.com/seatgeek/thefuzz/pull/10), which makes it faster and could be MIT licensed again. Let's see what SeatGeek thinks about this.

RapidFuzz looks solid, I am now sponsoring

Thanks :smile:

tedivm commented 2 years ago

@medecau - your call on how you want to handle it, but relicensing without consent is definitely against the law (it's a copyright violation). That's why newer versions of the GPL have a clause in it explicitly allowing upgrades (so if someone releases their code under the GPL they give permission to the upgrade).

In your case they violated your copyright twice- once when they changed their license without your consent, and the second time when copied your code over into the new repository and removed all attribution to you. Very sketchy on their part.