- Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Winamp (the closed source product) contained modified GPL code, violating the GPL #265
Winamp (the closed source product) contained modified GPL code, violating the GPL #265
Comments
Imagine if this was the case all those years, and they exposed it by open-sourcing it now. That'd be better than a Seinfeld episode. |
I'm cloning this huge-ass repo now to see if they modified any sources beyond pruning out what they didn't need. It would be pretty ironic for them to release under this weird-ass closed license, but then expose themselves as violating the GPL. |
giantplaceholder commented Sep 26, 2024
If needed, here's a copy of the initial state of community branch at the day of the original publication: |
Oops. Someone at winamp realized it an hour ago, and removed the sources from the community repo: it still exists in main though: |
@kallisti5 Here you go, a permalink |
davidbitterlich commented Sep 26, 2024
This won't happen. They don't care about the fact that their license is bullshit, that their license is in conflict with GitHub's ToS and that they violate various licenses. They even distributed protected code from Dolby and others... |
LightYagami28 commented Sep 26, 2024
I go to write a DMCA |
Alright, I checked the source code between their vendored copy of libdiscid, and the upstream one: Here's the only addition they made to libdiscid (i'm omitting the 10's of thousands of prunes / removals of stuff they didn't use): diff -Naur libdiscid-0.6.2/include/discid/discid.h /home/kallisti5/Code/winamp/Src/external_dependencies/libdiscid-0.6.2/include/discid/discid.h
--- libdiscid-0.6.2/include/discid/discid.h 2017-01-29 06:49:03.000000000 -0600
+++ /home/kallisti5/Code/winamp/Src/external_dependencies/libdiscid-0.6.2/include/discid/discid.h 2024-09-26 11:49:35.129688303 -0500
--
#endif
-#define DISCID_VERSION_MAJOR 0
-#define DISCID_VERSION_MINOR 6
-#define DISCID_VERSION_PATCH 2
-#define DISCID_VERSION_NUM 602
+#define DISCID_VERSION_MAJOR @libdiscid_MAJOR@
+#define DISCID_VERSION_MINOR @libdiscid_MINOR@
+#define DISCID_VERSION_PATCH @libdiscid_PATCH@
+#define DISCID_VERSION_NUM @libdiscid_VERSION_NUM@
#ifdef __cplusplus
extern "C" {It's ✨ technically ✨ a GPL violation, but not a massive one. |
WAIT! Another contender appears!
The header mentions including a full copy of the GPL license (which they didn't do) vcedit.c / vcedit.h seems to be a much older version of: |
FSF guys are known to really whip the llama's ass on the technicality, so... yeah. (Edit: Otherwise, they won't have the case for enforcing their licenses. Just like how copyright enforcement works.) |
Just to call out.. I wouldn't care, or be interested in picking things apart if they just open sourced it under "some" (namely any) somewhat open-source license. The whole "this is our thing, you can look but not touch unless you want to work for us for free" just rubs me the wrong way. 😆 |
New addition: |
MichaelAgarkov commented Sep 26, 2024
From what I see the code is littered with copyright violations. How dumb do they have to be to publish this? |
And more: https://github.com/WinampDesktop/winamp/blob/community/Src/Plugins/Encoder/enc_lame/BladeMP3EncDLL.c (GPLv2 or later, no LICENSE or COPYING is present) |
A lot of people seem to feel the same. It wouldn't have triggered my morbid curiosity enough to fetch dependencies and do recursive diffs if there weren't any copyright troll clauses in their license, specifically. From how it's worded, if you use your own unpublished code snippet to contribute to Winamp, they will obtain the copyright for your code, and then they may attempt (emphasis on "attempt") to sue you if you publish your own version elsewhere later. That's just wrong. |
It's absolutely possible they could have "used GPL code", and mentioned it in an about window (and linked to the GPL code they compiled the application with), so every reference of GPL may not be a violation of the GPL... however I'm not seeing anything fitting that in the source code. |
Linking is one thing. Including modified versions of GPL-licensed code in your commercial product - or even shipping unmodified GPL-licensed code without a copy of a license or with a license header removed - is another. Moreover, including parts of the GPLv2-licensed code in your product whilst licensing the product itself under proprietary restrictive license is legally dubious at best. |
And if they haven't bothered to read the very first point of T&C (include the source code in its entirety, as well as the copy of the license text), I wonder if they would have taken that extra step of mentioning it anywhere. |
Oof, one more I found (permalink)
In the previous version of README.md, they specifically mention that they take and modify all of their dependencies for their builds, listing almost every single one. Curiously, the only dependency that was not mentioned here was libdiscid, which is under LGPL and the only one that has an additional baggage coming with modification. Its source code was certainly modified like others. Coincidence or admittance of guilt? |
KingDuckZ commented Sep 26, 2024
I have received confirmation from user DiffieHellman on IRC liberachat #fsf that as per what's been said so far:
So as I understand, this should solve #16 and #6 as the real licence of Winamp is GPLv2. If I'm correct, then this is free software and this whole discussion about the bad licence is moot. It may still be necessary to strip away the Dolby stuff and the rest of the copyrighted code. User DiffieHellman also asked me to remind you all:
I can only +1 that. Thank you all. |
Relicense from WTFPL to GPLv2 to attempt resolving WinampDesktop#265
nukeop commented Sep 26, 2024
Linking against GPLv2 libraries doesn't require releasing your own code under GPLv2.
No, you don't understand how licensing works. |
KingDuckZ commented Sep 26, 2024
@nukeop I advise you ask the friendly people on #fsf, I'm not the expert here. But I'll admit that yes, I think the difference between GPL and LGPL is that if you link to the former you have to be GPL-compatible as well, no idea if I'm right or not. My code is usually all GPL so I rarely face this problem. |
@nukeop you're wrong -> https://www.gnu.org/licenses/gpl-faq.en.html#GPLStaticVsDynamic GPLv2 poisons also linked application, both dynamically or statically linked. And I know that also because on our project we had this problems for many years, and technically we're moving that problem to our players (as it's q3engine-based game) and the players technically violate that license and load custom game modules which are not GPL[1] LGPL allows linking though, and you mistaken GPL with this one. [1] if anyone interested why players (non)intentionally violate GPL license on our game is... it's fork of Enemy Territory: Wolfenstein which had it's own SDK license from closed-source times, but later released as GPLv3 - so it's dual licenced, but since our game is GPLv3 fork and old mods use old ET SDK license, technically those two are not compatible, so legally speaking, players can't load ET SDK-licensed mods with GPLv3 game engine. Altough this topic was never solved because mods are not even dynamically linked, but dynamically loaded, so... maybe I'm mistaken now?! But apparently I'm correct according to FSF. I think similar issue would be with any Q3engine-based game later released as GPL. |
LennyMcLennington commented Sep 27, 2024
@ReinventingTheSquareWheel the user is not empowered to relicense other people's code. The user may be empowered to delete all of the proprietary Winamp code though, and be left with the original GPLv2 project only. The user can only ignore restrictions on the GPLv2 software only, since they are granted a license to it directly from the original licensor. They can't ignore restrictions on the "work based on the Program", if there are restrictions, because that is not how copyright works. Is Winamp in violation of GPLv2? Probably yes. However, unless action is taken by the owner of the copyright, it doesn't really mean anything. And it doesn't mean you should in turn potentially put yourself in legal trouble by violating Winamp's copyright. |
ReinventingTheSquareWheel commented Sep 27, 2024
@LennyMcLennington >the user is not empowered to relicense other people's code.
-- |
LennyMcLennington commented Sep 27, 2024
@ReinventingTheSquareWheel GPLv2 does not automatically license "works based on the Program" to GPLv2, it just stipulates that by not providing the source code under the terms of GPLv2 you would be in violation of the license. So no they are not putting the correct license in place. |
ReinventingTheSquareWheel commented Sep 27, 2024
@LennyMcLennington The GPLv2 doesn't just not allow restricting the program itself - works based off the program (derivative works) are not allowed to be restricted either; 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. |
LennyMcLennington commented Sep 27, 2024
@ReinventingTheSquareWheel if actually paid attention to the wording you'd notice:
It does not grant a license to use the "work based on the Program" under those conditions, because the licensor of the GPLv2 Program cannot "automatically" license derivative programs. All they can do is stipulate that derivative programs would be in violation by not making the source code available under GPLv2. I am not saying that Winamp is not in violation of GPLv2, I am saying that it doesn't automatically make Winamp's source code GPLv2. |
KingDuckZ commented Sep 27, 2024
I just found this, looks pertinent to me: https://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem
That's the most relevant part imo, but please do read the whole paragraph. @LennyMcLennington as I understand, and I'm no expert by all means, GPL applies first. Adding the WCL is the "relicensing" part and it cannot be done. Code is GPL because it incorporates other GPL code and it cannot be changed even by the copyright holders. I already expressed my thoughts at length in the other thread, but if this wasn't the case then what would be the point of Qt offering a dual licence, for example? |
@KingDuckZ That is not how GPLv2 works. If you read my comments I explicitly stated this to try and explain the situation to you: Is Winamp in violation of GPLv2? Probably yes. GPL does not "apply first". If you actually read the license you would most likely understand this, but in general that is how copyright works. |
KingDuckZ commented Sep 27, 2024
I read your comments @LennyMcLennington and I also read the gnu.org paragraph and it contradicts your opinion. It's very clear: "The GPL says that any extended version of the program must be released under the GPL if it is released at all" |
That is not in contradiction with what I said. "The GPL says that any extended version of the program must be released under the GPL if it is released at all" is exactly right. However, the "must be released..." does not mean "is automatically released...". It simply means that if you release it and the release is NOT under the terms of the GPL, you are in violation of the GPL and then the owner of the copyright has the right to take legal action against you IF THE OWNER WISHES. Anything after that is decided through the legal system between the parties that are actually involved with the copyright violation, not by wannabe copyright vigilantes. |
Except that it's the holder of the copyright and not the owner. Either way, that means that effectively you could take my GPL code that I wrote, take advantage of the fact that I most likely won't have the means to legally sue you in whatever jurisdiction you are, put it into your MIT project and negate anyone who's not willing to risk a DMCA from you the right that I wanted to grant when I applied the GPL to my own code - effectively making the GPL optional to respect. Surely that can't be right. You might do that in a project that will live within a given Country and language only (think public transport app) so I might never realise, or I might be dead. I doubt what you're saying is correct. |
LennyMcLennington commented Sep 27, 2024
That is right, that is how copyright law works. If you can't enforce it then it might as well not exist. Luckily organisations such as the Software Freedom Conservacy exist to help people with taking legal actions against such violations. |
@KingDuckZ also, "owner of copyright" is a common term that is used everywhere, I think even by the FSF, so not sure what you're trying to prove by trying to bring in semantics where it doesn't even apply. Example: https://www.gov.uk/guidance/ownership-of-copyright-works |
KingDuckZ commented Sep 27, 2024
I think what you're referring to is a different case, where a company refuses to release code for derivative GPL code. In that case you as a user don't have the power to break into their office and take the code yourself and thus need to go through a legal path, but if the code is out there, be it WCL, MIT or whatever, that sounds like a different case to me |
@KingDuckZ I am not referring to a different case. If the code is out there, that does not mean the code is magically GPL. You can read the wording for yourself and try to point out to me where it says the code is automatically GPL (not that it would be legally enforceable anyway if it did say that). It says that it would be a violation to NOT do it, doesn't mean it is AUTOMATICALLY the case. The violation is between the violator and the owner of copyright, or "copyright holder" if you really insist on me saying that even though the terms are equivalent. Copyright vigilantes don't get a say in it. If the owner of the copyright is okay with their code being used in this way, then nothing will even come of it. YOU are not the person who gets to decide that, the person or people who own the copyright of that GPLv2 code decide. |
ReinventingTheSquareWheel commented Sep 27, 2024
@LennyMcLennington >is a common term that is used everywhere, I think even by the FSF |
@ReinventingTheSquareWheel Okay, I'll say copyright holder instead then. Anyways, the GPL is a "hack" of the copyright system and it is only as powerful as the copyright system is. The rights of other people's creations cannot be "automatically" decided by the copyright holder of a work that it may be derived from. That can be done by a court order, if the copyright holder whose copyright was violated wants to take action, not by a wannabe copyright vigilante. |
It is worth using the correct terms regardless of what mainstream wants you to use, @LennyMcLennington. Either way, I don't think the current copyright holder of Winamp would benefit much from suing someone who applied the GPL to Winamp. Like I said in the other thread earlier today, defendant would have a pretty strong defence in their hands. Yeah sure Winamp could hire better lawyers than what the defendant could afford, they could hire a killer for all we know, we're not discussing the law of the jungle here |
nukeop commented Sep 27, 2024
Arguing semantics in a case like this when it matters very little and the distinction is meaningless, and only argued by a small minority of zealots. Stallman-style pilpul that distracts you from the core of the issue, and the issue is that you misunderstand how GPL is applied, to what, what is the relationship between GPL-licensed code and derivative works, and how each party is allowed to act. |
nukeop commented Sep 27, 2024
Those terms are not correct, the correct usage is copyright owner = copyright holder. The terms you're using are the ones that you prefer, but it doesn't make them "correct". |
@KingDuckZ okay, whatever you want to say at least be honest: this is not "automatically" GPLv2, you would be violating their copyright. You can say "I don't think the copyright holder of Winamp would benefit much from suing anyone who applied the GPL to winamp" but that doesn't mean you are not violating their copyright. So do not mislead people into thinking that they are not breaking the law by doing this. That is the problem I had with your original comment and why I said you were putting out terrible legal advice. You also wouldn't really have a good defence, because you are acting as a vigilante in a case where there has been no legal action taken by the people who actually own the GPLv2 code, and Winamp have not been asked to cease and desist. That may or may not change in the future, but as it stands this is a terrible assumption to make. Also, I would like to point out that it would be trivial for them to take down any repositories that illegally "relicense" from WCL to GPL via a DMCA takedown request to GitHub. They don't need to go through some expensive legal process for that much, because GitHub will comply with their demands. |
ReinventingTheSquareWheel commented Sep 27, 2024
@LennyMcLennington Okay, I finally came to the realization why copyleft works so well.
|
KingDuckZ commented Sep 27, 2024
@LennyMcLennington there must be a misunderstanding here because I'm not giving legal advice and I've never claimed to know the absolute truth, I just say what I believe, and from the sources I've posted I still believe that Winamp is effectively GPL regardless of what the current copyright holders think. Would I advise anyone to fork it? Not really, I mean, I can see how they'd expose themselves to grey area litigation, so if you do then make sure you're 100% anonymous, just to be extra safe. Do I think Winamp would win a legal battle if there was one? Nah, they screwed up, sorry Winamp. In all likelyhood tho, Dolby and the rest of the closed-source crowd will make them want to stay as far as they can from lawyers and judges for the rest of their lives. Do I care? From a free software perspective yes, GPL has a reason to exist and this projects has shown that these people are the lowest of the low by infringing on it and then asking for help to the community they stole from. From a user perspective or a coder I don't care at all, I thought Winamp was dead 20+ years ago, it's never been available for my system anyways and I doubt I'd switch to it. I'm just here for the GPL talk really, and the only advice I can give is reach out to the FSF if you want a more definitive answer, take precautions if in doubt. Even better, if you want to contribute go to a music player project that respects its users and contributors and help them instead. |
nukeop commented Sep 27, 2024
No, it doesn't mean that. That means that in order to lawfully acquire a license, they must release their software under the relevant version of the GPL. What is being explained to you and others and you're stubbornly refusing to accept, is that it doesn't mean that any software that integrates a GPL-licensed part is automatically released under the terms of GPL. |
nukeop commented Sep 27, 2024
Ok, then you believe wrong. |
KingDuckZ commented Sep 27, 2024
Also @LennyMcLennington please ignore the troll |
Dude ignores me, then specifically clicks my messages to see what I posted. This is a special kind of denial. This is a classic internet tactic where you call someone who proved you wrong a "troll" so that you can easily cope with the thoughts that you were wrong on the internet and it's been documented. |
@KingDuckZ you talk an awful lot about what you "believe" and not a lot about what the GPLv2 license actually says. I'm getting pretty frustrated with you constantly making totally unsubstantiated claims and dodging whenever I ask you to show evidence so I'm gonna repeat myself and ask you again straight up: If the code is out there, that does not mean the code is magically GPL. You can read the wording for yourself and try to point out to me where it says the code is automatically GPL (not that it would be legally enforceable anyway if it did say that). It says that it would be a violation to NOT do it, doesn't mean it is AUTOMATICALLY the case. The process of resolving the violation is a process which happens between the violator and copyright holder. Copyright vigilantes don't get a say in it. You can read the wording for yourself and try to point out to me where it says the code is automatically GPL. Go on, do it. Otherwise you should stop telling people that the license of this software is GPLv2 when it clearly is not. Copyright law doesn't work like that either way, so if it DID say something like that it would still not be the case, but the creators of the license know this which is why there is no such unenforceable wording. So go on, show me the wording. I bet you haven't even read the license. |
nukeop commented Sep 27, 2024
You're going to be seriously disappointed where he mutters something about you being a troll and flees the thread. |
Smart ideas were running after him, but apparently he was faster. |
So wait, the closed-source Winamp contained modified GPL code?
This...
Sure as hell looks like...
However, the sources are modified from the originals. (namely files missing / pruned, etc)
Y'all may want to just re-license as MIT ASAP as a gesture of good faith ... I'm just saying.