- Notifications
You must be signed in to change notification settings - Fork 1.5k
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. |
Iirc licenses don't magically change like that. Any author of a GPL dependency can choose to go to court and enforce the application of the GPL (which might result in more software being released under GPL), but they don't have to. Nevertheless I'd love to see this in court 🍿 |
KingDuckZ commented Sep 26, 2024
@morsik thanks for clarifying, though I don't think "poisons" is the right term here Here's what I'm being told:
|
morsik commented Sep 26, 2024
@KingDuckZ I don't know either, I'm non english-native and I found that term ("GPL-poisoning") years ago and it fits pretty nicely to what GPL does - or rather - how it poisons other software licenses in a specific ways :D |
nukeop commented Sep 26, 2024
While FSF claims that this GPL also affects linking, it has never been tested in court, and it's not clear or definitive that it would hold up. A license might not have the power to require that. In fact there's precedence (Google v Oracle). |
KingDuckZ commented Sep 26, 2024
Well I'd say "poison" has a negative connotation in most languages, being it something that is toxic and potentially deadly and all the rest. GPL is good for freedom, so I wouldn't associate something that is good for the larger audience with something that is toxic and dangerous. I'm sure there are better ways to express what you meant to say in a less derogatory way @morsik |
@nukeop "Google vs. Oracle" was about using public APIs and recreating code from scratch just based on exported APIs names. Here in European Union we call that "interoperability", and it's given to us by law. This is clear copyright infringement because Winamp used actual GPL source code in it's engine. Not just exported API/headers for which code was recreated from scratch by Winamp devs. So that's not a precedence, as it was entirely different case. |
Aerocatia commented Sep 26, 2024
@morsik GPL is a distribution license not a user license, so what users link with on their own does not break the license. @nukeop It does, because the area of issue is that Winamp was released with all of this incompatible code in one package. How a user runs a GPL program after getting it is not restricted by the license. You can have a GPL media player load incompatible plugins and not break any license, it would only become a problem if you tried to release it as one product. (You have to make people get the incompatible stuff separately to respect the license) |
morsik commented Sep 26, 2024
@Aerocatia: oh lol thanks... I've never considered this :D So my mystery finally solved! |
Aerocatia commented Sep 26, 2024
@morisk yeah people often misunderstand this. Here is a source for future reference. https://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins |
3doplayer67484 commented Sep 26, 2024
there's so many violations of the GPL at this point they might as well relicense the whole thing to BE GPL |
Aerocatia commented Sep 26, 2024
It would be the easiest way out of this mess. |
morsik commented Sep 26, 2024
@3doplayer67484 @Aerocatia not really, as there are other parts/libraries in this which are not GPL-compatible 🤣 |
KingDuckZ commented Sep 26, 2024
It needs cleaning, it'd be good to have an official fork to begin with, so that
|
LWSS commented Sep 27, 2024
eh does this really matter? The software's about dead right? This just proves that most people ignore licenses and paste away. If you release your code to the public, it's basically public domain until you take them to court. It's also meaningless unless they're a big company like Sony or Cisco, and you have legal resources. |
ReinventingTheSquareWheel commented Sep 27, 2024
@morsik >it fits pretty nicely to what GPL does - or rather - how it poisons other software licenses in a specific ways @nukeop >While FSF claims that this GPL also affects linking, it has never been tested in court, and it's not clear or definitive that it would hold up. A license might not have the power to require that. In fact there's precedence (Google v Oracle). @Aerocatia >GPL is a distribution license not a user license, so what users link with on their own does not break the license.
@LWSS >This just proves that most people ignore licenses and paste away. If you release your code to the public, it's basically public domain until you take them to court. It's also meaningless unless they're a big company like Sony or Cisco, and you have legal resources. -- |
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.