Latest WACUP beta release is build #8650 (September 10th 2021) | Latest WACUP public preview is build #7236 (March 11th 2021)


NOTE: New beta testers are not currently being added as I need to re-work the beta test program

If you've not already requested to be a beta tester & would like to then please send a PM to 'dro' to be added to the beta test group.

Note: requests to be a beta tester are processed in batches when new beta builds are released so please by patient of this process.

Author Topic: Winamp as an open source project + Winamp vs WACUP  (Read 1671 times)

YamiYukiSenpai

  • Newbie
  • *
  • Posts: 1
    • View Profile
Winamp as an open source project + Winamp vs WACUP
« on: September 22, 2020, 09:21:32 AM »
I read on Wikipedia that it's a proprietary freeware. I'm just wondering that, if that's still the case, will it ever become an open source project?

Also, is there a big difference between Winamp 5.8 & WACUP v.1.0? I installed the former on my work PC, so I'm wondering if an in-place upgrade work?

dro

  • Admin / WACUP Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 3187
    • View Profile
    • WACUP (Winamp Community Update Project)
Re: Winamp as an open source project + Winamp vs WACUP
« Reply #1 on: September 22, 2020, 04:15:07 PM »
Hadn't seen this here before I replied with https://www.reddit.com/r/winamp/comments/ixiir0/will_winamp_ever_become_an_open_source_project/g67xbmk/?utm_source=reddit&utm_medium=web2x&context=3 (though I've quoted it below in case that thread gets deleted in the future)

Quote
The 5.8 beta (leaked / "official") is "not an on-going project" according to their owners so it's a dead-end. Sure it probably works & there's changes that seem to have been kept with it that make it better compared to a patched 5.666 & earlier but its just an incomplete mess of a release.

WACUP (which uses differing amounts of the pre-compiled exe/dlls from the patched 5.666 release) is trying to add things that are wanted / needed to make a Winamp like experience better in the modern age whilst trying to maintain more of the Winamp spirit along with either better supporting certain plug-ins or providing updated / native reimplementations of them (e.g. where source code has been long since lost for them).

WACUP won't install over a 5.8 beta as per https://www.reddit.com/r/winamp/comments/ixiir0/will_winamp_ever_become_an_open_source_project/g67vsso?utm_source=share&utm_medium=web2x&context=3 (tl;dr - I don't support it as I don't want to).

As for officially open sourcing Winamp (for which it's mostly the modern skin engine that makes sense though that would need a hefty clean-up / re-write to resolve the issues it has), everything else can be replaced / reimplemented with time as I've shown with WACUP where around 80% of the dlls have been replaced.

The main thing to remember is that source code without a developer is completely useless nor does open sourcing something suddenly make things all lovely & wonderful in the world. Plus with the likes of webamp it's been shown that most don't care about how something is actually implemented, just that it loads the winamp skins which is why all of the other Winamp-clones with classic winamp skin support often suffice for people's needs.

I don't plan on making WACUP full open source at this time (I actually see doing that as something to do when I'm done with the project) & I know that some don't like that but they're not the ones who's been doing the coding that I've been at for over 4 years now on it. As it's mostly not going to help me when the things I need help with can already be done via new plug-ins (e.g. a decent in_midi replacement is something I'd love help with).

-dro

Redearth

  • Beta Tester
  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Winamp as an open source project + Winamp vs WACUP
« Reply #2 on: September 18, 2021, 07:39:29 AM »
As for officially open sourcing Winamp (for which it's mostly the modern skin engine that makes sense though that would need a hefty clean-up / re-write to resolve the issues it has), everything else can be replaced / reimplemented with time as I've shown with WACUP where around 80% of the dlls have been replaced.

The main thing to remember is that source code without a developer is completely useless nor does open sourcing something suddenly make things all lovely & wonderful in the world. Plus with the likes of webamp it's been shown that most don't care about how something is actually implemented, just that it loads the winamp skins which is why all of the other Winamp-clones with classic winamp skin support often suffice for people's needs.

I don't plan on making WACUP full open source at this time (I actually see doing that as something to do when I'm done with the project) & I know that some don't like that but they're not the ones who's been doing the coding that I've been at for over 4 years now on it. As it's mostly not going to help me when the things I need help with can already be done via new plug-ins.


Hi dro. Sorry if I missed this elsewhere. I've searched the forum, but I haven't found a "primary" thread about this except for https://getwacup.com/community/index.php?topic=670.msg4330

I'm okay with WACUP being closed-source. Winamp is a weird beast; it's proprietary and looks like that's just not changing. I'm just curious about the open vs closed source nature of this project. You haven't been able to re-write it except for parts and plugins to keep it relevant, So it sounds (and feels) like it's patchwork done pretty well.

I'm just curious about your statement, "source code without a developer is completely useless", etc. I agree with that, but can I ask why open-sourcing WACUP leave it without a developer? I don't imagine the source code is "pretty" in this specific case, but would you feel a decline in ownership to accomplish tasks that need to be done?

The reason I ask is not because I think it would necessarily make it a better program, but because it would at least allow developers are a peak into the work, whether to help or just to learn or offer advice. Again, WACUP is a different case than other music players, but would that stop you from continuing to work on it? Or is it quality control, and not wanting to have to deal with pull requests?


EDIT: Also, despite a reasonably long career, I've never worked on something where I didn't have the source code, so I have no idea of the insides. Is it mostly just plugins and DLLs? It seems like a potential monster to me. But again, no experience.
« Last Edit: September 18, 2021, 08:15:01 AM by Redearth »

dro

  • Admin / WACUP Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 3187
    • View Profile
    • WACUP (Winamp Community Update Project)
Re: Winamp as an open source project + Winamp vs WACUP
« Reply #3 on: September 29, 2021, 03:04:42 PM »
Quote
I'm just curious about the open vs closed source nature of this project. You haven't been able to re-write it except for parts and plugins to keep it relevant, So it sounds (and feels) like it's patchwork done pretty well.
Patchwork is a decent way of describing large aspects of things though it's not helped with how things have naturally developed over time. WACUP started out as a plug-in pack of some of my key existing plug-ins before evolving into providing replacement dlls / plug-ins for some of the Winamp 5.666 ones.

As part of that second stage I'd also started to make a loader program that'd allow me to inject what's become the WACUP core dll into the original Winamp 5.666 main program (which shows as winamp.original once WACUP is running) to be able to do live patching of some of the code within Winamp's program file which was initially to help change some behaviour that couldn't be done via existing subclassing & apihijacking methods (overriding some of the OS api calls) which were things I'd been using since 2003 when I got into making plug-ins.

I've also done binary patching of the original program file (e.g. disabling some of the anonymous stats collection) for things that it's just simpler to always prevent that code from the original program file to run.

The live patching / subclassing / apihijacking is what's then allowed for much more of what has become the patchwork replacement of things with the core along with replacement of more of the supporting dlls / plug-ins from 5.666 for WACUP provided ones. It was once I'd started doing much more of that at which point I changed the 'P' from pack to project & WACUP moved towards the end goal of being Winamp compatible with using Winamp to run.

In hindsight, if I was going to start out with making WACUP as it's own thing then I wouldn't have done things as I have since I'm now having to spend a lot of time essentially re-doing what I'd done so it doesn't then involve live patching but the piecemeal replacement of things has however had the benefit of better ensuring that plug-in compatibility is far more complete compared to what other players offer (they only offer a limited plug-in api & typically cannot support behaving general purpose plug-ins).

Quote
I'm just curious about your statement, "source code without a developer is completely useless", etc. I agree with that, but can I ask why open-sourcing WACUP leave it without a developer? I don't imagine the source code is "pretty" in this specific case, but would you feel a decline in ownership to accomplish tasks that need to be done?
I don't think I've said open sourcing WACUP (which I'm not ideologically aligned with doing) would mean there's no developer, it'd just more likely mean I'm no longer around / involved. I just don't have much faith in the many eyeballs thing that's always thrown about with OSS & how it's going to make software massively better since there's nothing to stop someone offering to make for example some of the input plug-ins that still need to be replaced but there's either not the interest either because of my stance on things or that it doesn't appeal to those that might be able to do it.

Another thing is I just don't want to do project management which especially accepting things on the WACUP core would bring & it's hard enough managing myself let alone others. The other thing is that the scope of what WACUP is doing probably could do with more people working on it for some aspect but there's no way I'd be able to financially compensate them since what I manage to bring in is massively below minimum wage & is just lucky I live a frugal lifestyle to stretch it out nor can I expect them to follow the unhealthy amount of time I do put into this (not helped that I personally think I'm a slow coder).

Quote
WACUP is a different case than other music players, but would that stop you from continuing to work on it?
In comparison to other media players which don't seem to have this same level of demand to be OSS, they're typically a few people at most with more often just being 1 core dev doing the majority of the work.

In some respects keeping it to how I'm doing it at that moment also makes it simpler to keep to the vision that's wanted as even from my days when I was working on Winamp proper I didn't agree with the way that it was trying to be taken for which I'm instead with WACUP trying to go in the direction of what I think Winamp should have gone i.e. embrace it for what it is instead of trying to change it more into an iTunes analogy whilst taking the time to look at how people are using it & make sometimes breaking changes where it's going to be more beneficial (this is something that the skinned ui massively hinders at times).

Maybe if I was more aligned with everything is OSS & that's the way to do it then I might've gone that route but there's also a bit of pettiness on my part in not wanting some of my plug-ins to be OSS as it would've allowed Winamp's current owners to then grab them for which I don't want to happen (e.g. JTFE). I do get that it seems conflicting as I'd also not go down the GPL route (which I know would resolve that assuming license compliance) as I don't like the nature of GPL whereas a zlib/bsd-like licensing being more how I prefer to do things which I know is at odds with my prior comment.

Not that it probably matters as they've made it obvious they don't care nor want to invest in the original program whereas I think there's still the scope of that vs going the everything is just a web app wrapped in electron as I'm seemingly a tech dinosaur but it's what I know & generally provides the end result that I want.

Quote
Is it mostly just plugins and DLLs? It seems like a potential monster to me. But again, no experience.
A large part of what is Winamp is plug-ins & dlls but there's also the loader program (aka winamp.exe) that manages & brings it all together. Its the replacement of that (the loader) which is where the patchwork nature of things is the most obvious & has caused some WACUP builds to be painful to use but it's ultimately time & perseverance & past experience since I spent over 7years just working against pre-compiled files before eventually working on Winamp so doing WACUP has been a bit like going back to those before times.

I do appreciate it's hard for me to fully convey what I'm doing at times but something that was always part of what I tried to do with my plug-ins was to make them seem like they were native & doing WACUP is ultimately taking what I did for them & stepping things up a few levels. So as long as what is provided works then it probably doesn't matter too much how I've done things (as I doubt most care about patching techniques & the problems between cdecl, stdcall & fastcall conventions) & just that it works preferably without any crashes.

Hopefully that all makes some sort of sense to what you're asking.

-dro