top | item 41636804

Winamp Legacy player source code

717 points| gjvc | 1 year ago |github.com | reply

328 comments

order
[+] ndiddy|1 year ago|reply
I'm curious how they expect people to contribute to the project. Section 4 of the license says "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, the restrictions in Section 5 ban forking the code or distributing modified versions. This means that the standard Github "fork the repo, make your changes in a branch, and send a pull request" workflow for submitting changes would violate the license.
[+] davidpfarrell|1 year ago|reply
The best thing we can do for the future of the project is to NOT engage with the project at this time ... Even just cloning the project into your private workspace to review / compile is giving more engagement than their current licensing stance warrants.

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 ...

[+] lacedeconstruct|1 year ago|reply
The author justin frankel (also wrote reaper the DAW absolute legend) had this to say 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.

[+] nicholashead|1 year ago|reply
I remember hanging out in #mpeg3 on EFNet many many years ago and becoming an acquaintance of Justin Frankel while he was working on this. I had made a skin and even a few tray icons for him to use in the app, and some of them are in here. I can't remember 100% which ones were mine, but the punchlabel one definitely was. My name is in the credits too: https://github.com/WinampDesktop/winamp/blob/0695744fd658c42...
[+] DisposableMike|1 year ago|reply
I wonder if you would have linked this credits page had you been assigned the title "BREAST EXAMINER" OR "NUDE SCENES" like some others, haha
[+] abtinf|1 year ago|reply
They are either going to have to submit a ton of DMCA requests to GitHub and get their own repo taken down by GitHub, or they will be at risk of losing their copyright and will take it off GitHub themselves.

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.

[+] thomastjeffery|1 year ago|reply
> 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.

[+] dt3ft|1 year ago|reply
410 forks currently.
[+] thefourthchime|1 year ago|reply
I have a little history with Winamp. I wrote a popular plugin for it back in the day.

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.

[+] aantix|1 year ago|reply
Back in the summer of 1999 while I was in college, we were the first house to use MP3's at our parties. Most houses used a CD disc shuffler which usually consisted of a bunch of scratched and smudged discs, so their music skipped all the time.

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.

[+] abetusk|1 year ago|reply
A perversion of the term "open". The licensing terms do not allow redistribution or resale, which is a condition of "open source" (as it's commonly accepted).

Note how the title nor the repository says "open source". I would have called this source available, not that "the source is now open".

[+] lofaszvanitt|1 year ago|reply
The only music player that wasn't annoying. Just did its job with a streamlined interface, without the clutter and clunky graphics that competitors thought was the way to go.
[+] sumtechguy|1 year ago|reply
> without the clutter and clunky graphics

Wasnt one of the fun things with that player putting random skins on it? Or am I thinking of a different one?

[+] mihaaly|1 year ago|reply
My 'favourite' nowadays is Tidal. Those botchers cannot make a stable playback experience, also the UI is full of user hostile elements, approaches, and malfunctions. If I was in the position of hiring, those coming from Tidal had no chance.
[+] xeyownt|1 year ago|reply
Indeed, and I even found better now: cmus.

Since I met this beast, I never went back to anything else.

[+] ThrowawayTestr|1 year ago|reply
Checkout Tray Player if want a minimalist music player for Windows.
[+] sionisrecur|1 year ago|reply
Funny, the latest commit is "Removing code which is not open"[0], which means they are infringing on someone else's licensing terms by keeping it in the git history.

[0] https://github.com/WinampDesktop/winamp/commit/0a4b7d32d0906...

[+] tecleandor|1 year ago|reply
Ha! They've been quickly pulling some other things in the last hour or two, like a bunch of files with this header...

  *           Copyright 2000-2002 Dolby Laboratories, Inc.  All Rights 
  *                Reserved.  Do not copy.  Do not distribute.  
  *                     Confidential information.
  *
  *           (C) copyright Fraunhofer - IIS (1998)
  *                All Rights Reserved
[+] Asmod4n|1 year ago|reply
If you want a free copy of the SHOUTcast server software, they illegally share that code in their repo ..
[+] eminence32|1 year ago|reply
Open sourcing is always good, because maybe you can learn some things by reading it. Also, Winamp Legacy is a fairly important piece of software, so having an archive of its source is a great thing.

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.
[+] xx_ns|1 year ago|reply
This seems to go against GitHub's own ToS[1]:

> 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...

[+] grishka|1 year ago|reply
It feels like they wanted to make sure that no one distributes a modified "Winamp" that isn't built from the official sources, which makes sense, but they went too restrictive on it. The usual way to go about it is to say "if you want to maintain and distribute your own fork of this product, you must change the name and the logo to make sure it doesn't infringe on our branding". Telegram does this for its client apps, for example.
[+] bityard|1 year ago|reply
> No Forking

Amusing; there are already 6 forks on GitHub as of this writing.

[+] KPGv2|1 year ago|reply
> 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.

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.

[+] bastardoperator|1 year ago|reply
Looks like someone just removed 180K lines of plugin source code from the repo too. Checkout from here: 7ce05499ff0508f9eb06f7194407f676de7d72f4
[+] sva_|1 year ago|reply
Seems like 37 madlads have already pushed the fork button.
[+] somat|1 year ago|reply
It's not open source. however I like it. I wish closed source licenses were more of a thing. as it is, our software tends to fall under two two extremes very liberal open source. closed build artifact only. with very little in the middle.

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.

[+] proto-n|1 year ago|reply
I'm not sure forking the repo would create a forked version of the 'software' if the fork's sole purpose is to develop a pull request. But I guess it's somewhat ambiguous langauge, and better safe then sorry when it comes to lawyers (which I'm not).
[+] lucideer|1 year ago|reply
Yeah the license self-refers as "copyleft" (an unregulated term afaik), and they have been very careful to avoid usage of the term "open source" rather preferring to say things like "the source is open".

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.

[+] revscat|1 year ago|reply
The language is pretty clear to me. I understand what you’re saying, and suspect that this is an honest oversight on their part, but as it currently reads forks are prohibited.

They may have meant something else, but what it says now is “no forking.”

[+] panzi|1 year ago|reply
Yeah, I wouldn't call that an open source license. It's something like Microsoft's "shared source", as I expected/feared.
[+] sidewndr46|1 year ago|reply
This license prohibits maintenance. If the official copy had a single bit that prevents it from compiling on your local machine, you cannot make that change. Only the "maintainers of the official repository" are permitted to do that.
[+] merb|1 year ago|reply
Ianal but the license also prohibits fair use cases, which probably might circumvent the granted license.
[+] klaussilveira|1 year ago|reply
I can't comprehend such a restrictive license on abandonware. And from the the looks of it, not very well written abandonware.
[+] qrush|1 year ago|reply
This really whips the llama's ass
[+] comprev|1 year ago|reply
The source code itself appears to come from a cracked version [0]

   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

[+] bri3d|1 year ago|reply
This is a weird Easter Egg that's been compiled into real, genuine, uncracked Winamp release builds for a very long time.

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...

[+] skandl|1 year ago|reply
Weird, how does that even work? Does cracked mean its' been decompiled? It's strange because it includes other stuff like build scripts, etc that wouldn't be in released binaries..
[+] benmmurphy|1 year ago|reply
its probably an easter egg
[+] voidfunc|1 year ago|reply
Bizarre license reeks of a company that doesn't know what to do with their own highly regarded software but is desperate for the community to give them free improvements that they can later monetize.
[+] grandpoobah|1 year ago|reply
You know what source code I'd like to see? ICQ and MSN and/or Windows Messenger.
[+] f1shy|1 year ago|reply
I was expecting to see some comment about the quality of the code. How clean (or not) it is.

I was personaly hopping a much more ordered and clean codebase.

[+] blendergeek|1 year ago|reply
Everyone is commenting on the distribution terms. But the Contributions section is just as bizzare.

> 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?