Comment by hu3
5 months ago
I torn on where the line should be drawn.
If the code is different but API compatible, Google Java vs Oracle Java case shows that if the implementation is different enough, it can be considered a new implementation. Clean room or not.
That whole clean room argument makes no sense. Project changed governance and was significantly refactored or reimplemented... I think the maintainers deserve to call it their own. Original-pre MIT release can stay LGPL.
I don't think this is a precedent either, plenty of projects changed licenses lol.
I keep kind mixing them up but the GPL licenses keep popping up as occasionally horror stories. Maybe the license is just poorly written for today's standards?
> plenty of projects changed licenses lol.
They usually did that with approval from existing license holders (except when they didn't, those were the bad cases for sure).
No. Because they couldnt have done any of that refactoring without a licence to do so, and that licence forbids them from relicencing it.
Ok since this is not really answered... Hypothetically, If I'm a maintainer of this project. I decided I hate the implementation, it's naive, horrible performance, weird edge cases. I'm wiser today than 3 years ago.
I rewrite it, my head full of my own, original, new ideas. The results turn out great. There's a few if and while loops that look the same, and some public interfaces stayed the same. But all the guts are brand new, shiny, my own.
Do I have no rights to this code?
2 replies →
Hmm are we in a ship of Theseus/speciation area? Each individual step of refactoring would not cross the threshold but would a rewrite? Even if the end result was the same?
1 reply →
Afaik you can do whatever you like to GPL licensed code, you do not need a license to refactor it.
I understand you need to publish the source code of your modifications, if you distribute them outside of your company.
3 replies →
So effective, LGPL means you freely give all copyright for your work to the license holder? Even if the license holder has moved on from the project?
What if I decide to make a JS or Rust implementation of this project and use it as inspiration? Does that mean I'm no longer doing a "clean room" implementation and my project is contaminated by LGPL too?
4 replies →
Governance change or refactoring don’t give you a right to relicense someone else’s work. It needs to be a whole new work, which you own the copyright to.
Which is what happened here? The maintainers did a rewrite, apparently, but it's not enough!
No, that defeats the entire purpose of GPL licenses