Winamp Legacy player source code
github.com
github.com
Note that you can't test or debug your patch, because that would mean creating a modified version of the codebase, which is prohibited. Just type that stuff straight in, directly from your fever dreams, unmediated by common practice. If it's good enough for the license, it's good enough for the code.
It's clear they don't want you distributing modified versions. The thing people are getting caught up on is "You may not create, maintain, or distribute a forked version of the software." They fail to define "forked" but they don't seem to have meant an undistributed modification.
Github is the one with the unfortunate naming here that goes against the already established meaning of fork. It really should be clone.
Section D.5
Whoever the user that is posting the content is agreeing to the terms of service. If they don't actually have permission to agree to those terms with the content, then where that liability falls will likely fall to a court, but I'm sure I would argue as a user who forked the content, that I was given permission via the TOS which has to be followed by the user posting the content.
TOS are not just fluff and paper, but legally binding. Granted, when there is a conflict between two conflicting requirements, it's never clear cut, but it's not just "GitHub will be mad."
That ToS is between wimamp and GitHub, not you.
You have to do the due diligence to get the permission from winamp.
You might be able to get away by suing GitHub and have them sue winamp. ..
It's not just a duty of copier to ensure they are granted a license. Legal stuff is never clear cut, but if someone agreed to TOS, it should be generally (that's a funny word that can mean anything) safe to assume that s/he does abide by it.
In this case, there is an obvious conflict and when there are two conflicting clasuses... that's fun for laywers.
Like, I get why they did it, but (as we can see) it resulted in this stupid terminology confusion.
Deleting your repository or changing its visibility affects that repository's forks. Deleting your repository or changing its visibility affects that repository's forks.
Sure, but this only matters for 'private' repos. See <https://docs.github.com/en/pull-requests/collaborating-with-...>.Github does some cute things behind the scenes to save space, but for all 'public' or 'internal' repos, what Github calls a fork is (from a Github user's perspective) identical to what happens when you run 'git clone' on your machine.
And most people will.
And they won't set their lawyers on any contributors.
And the world will go on.
Though it sounds like you might be misunderstanding things on purpose. (?)
2. Making changes: You are allowed to make modifications, but only for private use. Section 3 states: "You are granted the right to Modify the software for private use only."
3. Submitting pull requests: While the license doesn't use the term "pull request" specifically, it does encourage contributions. Section 4 states: "Contribution to Project: You are encouraged to contribute improvements, enhancements, and bug fixes back to the project. Contributions must be submitted to the official repository and will be reviewed and incorporated at the discretion of the maintainers."
However, there's a potential conflict here. The license prohibits distributing modified versions (Section 5: "No Distribution of Modified Versions"), which could be interpreted to include submitting a pull request, as that involves sharing your modifications.
In summary, this license: - Does not allow forking - Allows modifications for private use only - Encourages contributions to the official repository - Prohibits distribution of modified versions
Given these terms, you cannot fork the code in the traditional sense. You can make changes locally for private use, and you are encouraged to submit contributions to the official repository. However, the process for doing so is not clearly defined, given the restrictions on distributing modified versions.
If you want to contribute, you would likely need to submit your changes directly to the official repository without creating a public fork. The exact mechanism for this would need to be clarified by the project maintainers.
They probably don't mean it, but the standard, intended mechanism for submitting changes with git is patches sent via e-mail.
So, while you can send a patch to add a feature, you couldn't release that modified version on its own.
> No Forking: You may not create, maintain, or distribute a forked version of the software.
There is no meaningful difference between the words "patch" and "fork"; and the act of creating an edited codebase is explicitly disallowed.
If that isn't what they want, then they had better write more clearly.
To take a more practical example. Is there no meaningful difference between the dwm multimon patch files[1] and the full forked repo[2]? For context, lots of suckless software keeps extra features/addons in semi-offical out of tree patches files. The philosophy of suckless is generally to hardcode config options in source code and recompile instead of editing .rc files. This reduces the complexity of the code, so you end up with some very minimalistic easy to patch recompile and code. So it's a natural (if very esoteric) way of implementing plugins.
Obviously this is a bit contrived because all the suckless code is actually open source, so none of this matters to them. But I think it's fair to say that distributing the 7 .patch files at [1] wouldn't count as distributing a forked version of dwm. The patch files contain some context lines ripped straight from the main codebase, but not the main repo. Hell I'd even wonder if there's some kind of fair use argument for patch files. After all, often they boil down to a criticism of the codebase, saying that it's bad because it contains all the lines of code starting with '-' signs and really would be better if it had these extra lines of code after the '+' signs.
The license doesn't seem contradictory to me. Counter-intuitive, unclear, and paradoxical (in the most general sense of the word), yes. But not contradictory.
[0] Looks like the longest codes are 32 digits of hex long: https://archive.org/details/GameGenieSNESCodebookProgramming...
Before the ambiguity of language can get in the way, there has to be a coherent idea that you want to express in the first place.
This license explicitly contradicts itself. It says you are encouraged to contribute changes to the source, and you may not share changes to the source with anyone ever.
As for English, because of its plain nature, I have little trouble understanding someone who isn't proficient or who has a heavy accent, whereas languages with specific infections or tones might not have that kind of liberty.
Someone smarter than me can answer that.
I'll check again when an HN post comes out stating they've changed their licensing stance - Until then, closing this tab and forgetting about it ...
> Question: Now that WinAMP's source has been officially released, do you have any desire to hack new badass features in?
Answer: If I did have any desire, it would be extinguished by the license terms, lol. The terms are completely absurd in the way they are written, e.g. "You may not create, maintain, or distribute a forked version of the software." So arguably making any changes would be considered "creating a forked version." But even taking these terms as they are likely intended (which is slightly more permissive than how they are written), they are terrible. No thank you.
Forking is a fundamental feature of GitHub. Forking policy may only be set on private repos, but this is a public repo. The license doesn’t permit forking. There are already 6 forks.
Typically, copyright is not lost through selective enforcement (unlike trademark), but in this case the rights holder is making license violations both trivial and has full access to the list of violators. I suspect the courts will laugh them out of the room unless they vigorously defend their rights.
In that case, I certainly wouldn’t want to deal with it if I was GitHub. It is a terrible user experience, where a user clicking one of the most popular buttons on the platform suddenly becomes a legal problem.
As others have mentioned, GitHub has already covered that with their ToS. All public repos may be forked.
This is the source code for Winamp 3, which is a total rewrite of winamp 2 in C++. In my opinion, it was overcomplicated and over-architected. The original source code by Justin Frankel in C.
Yes there's a large part of winamp3 in there which was already long since open sourced properly in the aol era (unlike this heavily restricted licensing terms) but from what I remember when making the code deliverable the dedicated winamp3 repository was never provided (assuming my memory from 11yrs ago is still good).
-dro
We went all digital. We were ahead of our time.
The parties were in the basement. We'd lock the computer up in a spare bedroom - ran the wires and speakers out to the main basement area.
We used Winamp on shuffle.
Hours of music without a single skip, without us having to babysit the music.
Thank-you Winamp for the great memories.
Well I had a DAT recorder in 1993. Even a DAT walkman.
I assume what they mean is no physical media (storage) before the DAC, or something like that.
Note how the title nor the repository says "open source". I would have called this source available, not that "the source is now open".
I hope that they either remove the claim that it is a copyleft license, or relax the distribution restrictions to something like "If you distribute modified versions of this Program, you may not call the modified versions Winamp.".
The license file also says that it's "free" and ensures that we have the "freedom to use it":
""" The Winamp Collaborative License is a free, copyleft license for software and other kinds of works. It is designed to ensure that you have the freedom to use, Modify, and study the software, but with certain restrictions on the distribution of modifications to maintain the integrity and collaboration of the project. """
Looks like there's already pushback in the issues section [1] [2].
[0] https://github.com/WinampDesktop/winamp/blob/community/LICEN...
Wasnt one of the fun things with that player putting random skins on it? Or am I thinking of a different one?
And also fancy graphical visualizations of the music.
Since I met this beast, I never went back to anything else.
[0] https://github.com/WinampDesktop/winamp/commit/0a4b7d32d0906...
-dro
-dro
* Copyright 2000-2002 Dolby Laboratories, Inc. All Rights
* Reserved. Do not copy. Do not distribute.
* Confidential information.
*
* (C) copyright Fraunhofer - IIS (1998)
* All Rights ReservedI wonder if it can even build.
https://github.com/WinampDesktop/winamp/tree/3ab19235a69d96b...
- https://news.ycombinator.com/item?id=41060102
- https://github.com/WinampDesktop/winamp/issues/19#issuecomme...
But the restrictions on the source are interesting. To quote the license file:
* No Distribution of Modified Versions: You may not distribute modified versions of the software, whether in source or binary form.
* No Forking: You may not create, maintain, or distribute a forked version of the software.
* Official Distribution: Only the maintainers of the official repository are allowed to distribute the software and its modifications.
I'm guessing the "No Forking" clause means I can't release my own media player based on this source code, but the language is curious because they explicitly welcome contributions and for a project hosted on Github the standard way to do that is to "fork" the project into your own account.> By setting your repositories to be viewed publicly, you agree to allow others to view and "fork" your repositories (this means that others may make their own copies of Content from your repositories in repositories they control).
[1] https://docs.github.com/en/site-policy/github-terms/github-t...
So, essentially, winamp license means nothing. They already forfeited their right to deny you forking by posting it on GitHub.
When you click "fork this repo" in GitHub, that clones the repository, and re-publishes it under your username.
When you clone a repo to your system privately, that does not involve publishing. If this is their intended meaning of "fork", then this license must explicitly disallow cloning the repo!
The older, still in use today meaning is what happened when Oracle bought MySQL and ruined it. People forked it and now we have MariaDB. Basically, it means a fork in the code base and now there are two separate projects.
> If you set your pages and repositories to be viewed publicly, you grant each User of GitHub a nonexclusive, worldwide license to use, display, and perform Your Content through the GitHub Service and to reproduce Your Content solely on GitHub as permitted through GitHub's functionality (for example, through forking).
> If you set your pages and repositories to be viewed publicly, you grant each User of GitHub a nonexclusive, worldwide license to use, display, and perform Your Content through the GitHub Service and to reproduce Your Content solely on GitHub as permitted through GitHub's functionality (for example, through forking). You may grant further rights if you adopt a license. If you are uploading Content you did not create or own, you are responsible for ensuring that the Content you upload is licensed under terms that grant these permissions to other GitHub Users.
It would be weird to have a license that lets me create a fork in my own repo, but doesn't permit me to distribute it. If I create a fork of a public repo on GH, I require a license to distribute it because a public repo can be forked or downloaded by anyone. I can't them doing doing it. Therefore permission to further distribute is required for participation on GH.
Why?
The users that clone or fork your fork of the original repository are covered by the original repository's "license" GitHub grants itself, not yours.
"modified/derived version" vs "copy"
There is only 1 license, and it is issued by the WinAmp copyright holders. No additional license is created by hosting a repository on GitHub. The only (extremely theoretical) issue would be between GitHub and the WinAmp folks, if GH believed that WinAmp is violating its TOS.
At best they could invalidate the one license they control, but even that seems iffy
Whichever one runs up the attorney's bill the highest.
By creating an account on GitHub, you agree to this license. That seems like a pretty strong precedent for precedence.
I bet that they would disagree with you. This is an "all rights reserved" "source available" license. Given the redistribution restrictions, their assertion that it is a "copyleft" license is clearly false.
Amusing; there are already 6 forks on GitHub as of this writing.
This is like a park having a sign on the corner telling you to not step on the grass because it is privately owned but people go and make picnic there anyway
It's because techies instead of lawyers wrote it. The first and second restrictions overlap anyway, as it says you can't distribute a modified version in the first restriction, but then can't distribute a forked version in the second restriction. I'm not sure what the difference is, and courts don't like redundancy and will often invent reasons to interpret the phrases as meaning something different.
I got a $15 parking ticket recently and got it dismissed after I contested the ticket on the basis that the way the city regs were written, they used both "parking spot" and "parking area" and thus "parking area" cannot be synonymous with "parking spot," which altered the meaning of the reg they used to ticket me.
I think a "here is the copyrighted(with all that implies) source for you to compile on your machine" software distribution would be a great middle ground. but it is a thing you normally only see on large screwball enterprise contracts. because the normal practice of here is the compiled build artifact really sucks when trying to trouble shoot why it is not working on your machine.
In other words, by forking something on Github, you're not distributing anything; rather, the original org is now distributing an additional thing you made — your fork branch[es].
This is the source of many confusing things about the security of GH forks; and the source of some recent GH vulnerabilities.
Also, if you're curious, this isn't a meaningless "implementation-level distinction", as it has semantic implications for repo management: it means that the branch attached to a PR coming from a fork repo continues to exist in the base repo, even if the fork repo that that branch originated from gets deleted. Because that branch was always "in" the base repo to begin with; the PR just changed the branch's GH ACLs to make it accessible to the owners of the base repo.
(Really, the "fork repo" itself is an illusion — it's like a SQL view. There's only the base repo, which contains both regular branches, and user-fork-namespaced branches. This is in part why forks can't be private; they're just a view of resources in another repo, already security-controlled by that other repo; so they can't have their own additional security logic acting on those same resources!)
At this point there's obviously huge inertia in Github's early architectural decisions, but if you were building Github today, would it still make sense to go this route?
Regulated or not the use of "copyleft" still seems deliberately misleading to me - I don't think the restrictions you've listed are in line with the intent of the copyleft movement.
I'm tired of this whole "shared source" movement, it's disingenuous, and ruins the spirit of actual open source (let alone "copyleft").
Boo on Winamp. Shame. I'm still using 5.666 until I die. I won't use their newer stuff, because it's clear they're not doing it with love but just trying to find another captive market of nostalgia nerds.
They may have meant something else, but what it says now is “no forking.”
I'm not sure what to call a codebase that only grants you the (implicit) right to not be sued for reading the source and then getting inspired by it, though.
Alas going to radionony which has ended up becoming llama group after some funny business stuff going on was a mistake though some of the other options that I was aware of at the time weren't great either.
And I'm not defending aol either as there were things that I didn't like under their almost 15yr tenure of ownership but it was never condescending like this lot have been over the past 11yrs which their licensing terms have reinforced.
supplied by deadbeef\n\n\
cracked by rOn\n\n\
32kb cool intro by lone";
[0] https://github.com/WinampDesktop/winamp/blob/community/Src/W...Edit: Apparently it's an Easter Egg! Credit to bri3d for research
The actual compiled binary ends up with the same text you see linked there scrambled using XOR (you can see that on the other side of the #if 0) to avoid it appearing in the binary's strings verbatim.
It's unfortunately hard to find stuff from the Old Internet anymore (I recall this being discussed at length on the original Winamp forums), but there are some references to it here: https://www.neowin.net/forum/topic/366648-winamp-51/page/2/#...
There's a screenshot of the exact text from the source here:
https://eeggs.com/items/45636.html
And someone getting really confused about it on Reddit here:
https://www.reddit.com/r/winamp/comments/caukeo/installed_wi...
-dro
Winamp has announced that it is "opening up" its source code
Edit: HN search gives me this short thread: https://news.ycombinator.com/item?id=11289591
You can imagine how fast my head whipped around the first time I heard it.
I was personaly hopping a much more ordered and clean codebase.
> Waiver of Rights: You waive any rights to claim authorship of the contributions or to object to any distortion, mutilation, or other modifications of the contributions.
I waive the right to claim that I authored my contributions? Wait, what?
Why would I ever contribute to this project under this license?
https://github.com/WinampDesktop/winamp/blob/community/LICEN...
Yes. You can tell it was peak too because later versions got worse instead of better.
Spent so many hours looking at my custom Winamp skin and playing songs I'd downloaded from god-knows-where...
It's based on the winamp3 code, that Winamp did open source, and then the closed source parts are being re implemented.
Nice. Wonder how long will this version work?
If Winamp is broken on Windows N+1, it's Windows that is broken. If Winamp is broken on Wine, it's Wine that is broken.
I have Master of Orion 2, which came out when DirectX was in version 1.0. It technically executes in Windows 10, but the graphics are glitchy.
When they re-released it on Steam along with the MoO remake, they actually packaged the DOS version with DOSBox rather than release the Windows version.
Once you get to the early '00s, you can still find a lot of games that are broken, but the culprit is usually changes in hardware and driver behavior rather than Windows itself.
Take for example the first two Splinter Cell games. Certain shadows on them do not render on modern GPUs. The root cause isn't any changes Microsoft made to DirectX or Windows, but Nvidia deprecating a feature they relied on in their GPUs and their drivers not providing any kind of fallback. If you play these games on Windows XP with hardware from 2003, they run fine. But if you play them on Windows XP with hardware from 2007, they do not.
Wine fixes a lot of these games because it is already providing its own translation layer for graphics calls, and any GPU vendor-specific DirectX stuff gets translated into hardware-agnostic Vulkan. These same games are often easy to fix on Windows using DXVK (Wine's DirectX translation layer), or wrappers designed for late '90s and '00s games like dgvoodoo2.
The big elephant in the room is DRM, with popular solutions like StarForce being deliberately broken by Microsoft.
Sonique and Foobar2000 were also venerable players of that era.
There is also qmmp[1] for a Qt based player. And I think Audacious[2] still has a classic winamp interface, although it's not the default anymore.
It's not installed by default, but it's in the repos.
Nothing wrong with this, but I don't understand why people started arguing about open source. Because you get to look at the source?
Hopefully one day they'll actually Open Source it. I mean, they're trying to pretend it is, so why not just do it properly?
Guessing they probably started with a light theme then retrofitted a dark theme & rolled it out without realising it would regress the existing light theme.
Here is a screenshot of what I see if you're curious: https://imgur.com/a/eRchEn7
-dro
This is more significant (to me) than the iPhone 16 launch, I'll pay for people who can port this to Linux (Gnome) and Mac OS.
However, I wanted to draw your attention to "are you asking the right question" because there's a very real chance that the things you actually love about Winamp would not carry over to any such ports, since it's not "recompile and get the Winamp on Windows experience" - they would be Gnome and macOS apps, behaving similar to other such apps
> No Distribution of Modified Versions: You may not distribute modified versions of the software, whether in source or binary form.
> No Forking: You may not create, maintain, or distribute a forked version of the software.
It's basically "look but do not touch". I don't see why this was necessary for something that's basically abandonware by now, and is mostly of historical interest.
...
750Mb later: WTF?
[tippety tappety clickedy clackedy]
Oh.... they vendored everything, including a bunch of external x86 binaries. 32- and 64-bit. FFS.
But also - I sure hope they got the licensing correct for those parts...
They rolled their own license but couldn't be bothered to read GitHub's ToS.
"collaborative" license, "opened to the community", "enabling the entire community to participate in its development", "global collaboration" but you have to grant them perpetual rights and waive your own, you're not even allowed to fork lol.
Seems like they're only looking for unpaid workers.
I feel like this whole release is just a PR stunt to remind us that winamp still exists. They don't actually want any help, nor do they want to give anything to the community. They just want to get into gossip, so the spectacular chaos with releasing certificates and 3rd-party proprietary code actually helps for publicity.
The license was always going to be restrictive & focused on what only benefits them as they would never want any clones, etc to be able to make use of it. Also the terms when I look at it from an ex plug-in dev stance seem to prevent any new / updated plug-ins from being built with the plug-in api headers which afaict would fall under their license & surplanting the prior one (no idea if they've changed the in-file stuff or not as I cannot look at their code to avoid issues with work my own player).
"You are granted the right to view, access, and study the source code of the software. You are granted the right to Modify the software for private use only."
"No Distribution of Modified Versions: You may not distribute modified versions of the software, whether in source or binary form."
"No Forking: You may not create, maintain, or distribute a forked version of the software."
A better choice for the title would have been "Winamp Legacy player source code is now available".
>its source code was opened to the community
I find it hard to believe that any serious person would argue that "code that is open to the community" ≠ "open source code".
I think it's realistic to assume that the developers who wrote the README, and the lawyers who wrote the license didn't talk to each other much when making decisions about how much freedom users were going to have with the code.
> The [license] is a free, copyleft license
And then proceeds to not be a free, copyleft license.
This pretty clearly seems like they're trying to squat on the terms "copyleft" "free software" and "open source" while weasel-wording their way out of it — "open washing", as someone else in the comments called it, seems to fit. This smacks of someone who wants to use the words, and to have you feel like they've used the words, but without having to actually do the things the words would mean, spoken genuinely.
EDIT: looks like the title’s been corrected!
What you're complaining about is free source code, which this probably is not.
I wonder if anyone there still has the source to the failed Linux Alpha. It crashed all the time, but it did exist, for a very short while.