News for hackers. Stuff that matters.
Re:Winamp Legacy player source code by ndiddy on Tuesday September 24, 2024 @10:37AM (#41636939)
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.
Re:Winamp Legacy player source code by tsukikage on Tuesday September 24, 2024 @11:07AM (#41637343)
Open an issue and type your patch into the description.

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.

Re:Winamp Legacy player source code by cormorant on Tuesday September 24, 2024 @12:56PM (#41638515)
No, it says: "You are granted the right to Modify the software for private use only. You may make, run, and propagate Covered works that you do not Convey, without conditions, so long as your License otherwise remains in force."

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.

Re:Winamp Legacy player source code by IntelMiner on Tuesday September 24, 2024 @07:57PM (#41642255)
I believe the parent commenter was being deeply sarcastic with their suggestion
Re:Winamp Legacy player source code by Novosell on Tuesday September 24, 2024 @10:44AM (#41637037)
The Github ToS gives users the right to fork any public repos.
Re:Winamp Legacy player source code by wang_li on Tuesday September 24, 2024 @12:05PM (#41638032)
On Github. Doesn't give them a license to fork it to their workstation.
Re:Winamp Legacy player source code by simoncion on Tuesday September 24, 2024 @01:53PM (#41639145)
One of the many bad things that Github did was to name the button that does the `git clone` action `Fork`.

Like, I get why they did it, but (as we can see) it resulted in this stupid terminology confusion.

Re:Winamp Legacy player source code by bastardoperator on Tuesday September 24, 2024 @02:04PM (#41639276)
A fork is a linked copy, a clone is just a copy. They are not the same.

  Deleting your repository or changing its visibility affects that repository's forks.
Re:Winamp Legacy player source code by sakjur on Wednesday September 25, 2024 @12:52AM (#41643808)
Forks predate GitHub and have another almost opposing definition that sets up for a confusion here. By that lingo forks go their own way (like a fork in the road) independently of the upstream and clones are copies of an upstream.
Re:Winamp Legacy player source code by bastardoperator on Wednesday September 25, 2024 @03:10AM (#41644527)
I agree it does...

  fork() creates a new process by duplicating the calling process.
Thats similar to what happens on git providers, you create a new repo by duplicating it, and the repo is linked aka child.

Many forks do go their own way. You can choose to pull from upstream or completely ignore it.

Re:Winamp Legacy player source code by simoncion on Thursday September 26, 2024 @10:29PM (#41665699)

  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.

Re:Winamp Legacy player source code by otteromkram on Tuesday September 24, 2024 @01:53PM (#41639149)
Fork, then clone. Simple as.
Re:Winamp Legacy player source code by kadoban on Tuesday September 24, 2024 @08:20PM (#41642380)
It's not clear that Github's ToS can do such a thing, is it? What gives them the right to overrule the license from Winamp to me?
Re:Winamp Legacy player source code by yincrash on Tuesday September 24, 2024 @09:12PM (#41642648)
```Any User-Generated Content you post publicly, including issues, comments, and contributions to other Users' repositories, may be viewed by others. 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).```

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.

Re:Winamp Legacy player source code by codetrotter on Tuesday September 24, 2024 @09:01PM (#41642593)
Because Winamp agreed to the ToS of GitHub by uploading their code to GitHub.
Re:Winamp Legacy player source code by j16sdiz on Tuesday September 24, 2024 @10:17PM (#41643042)
The legal system don't work that way.

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

Re:Winamp Legacy player source code by ronsor on Tuesday September 24, 2024 @10:58PM (#41643279)
Re:Winamp Legacy player source code by kadoban on Wednesday September 25, 2024 @09:11AM (#41647106)
Is the ToS a contract? Even if it is would the remedy to Winamp breaking it be modifying the license Winamp provides?
Re:Winamp Legacy player source code by ronsor on Wednesday September 25, 2024 @10:41AM (#41648093)
Yes, every ToS is a contract. As for the most appropriate remedy, that's for a court to decide.
Re:Winamp Legacy player source code by kadoban on Wednesday September 25, 2024 @09:13AM (#41647123)
Doesn't that just mean that Github should be mad at them? Doesn't seem obvious that it actually gives me a license to do anything.
Re:Winamp Legacy player source code by mnau on Thursday September 26, 2024 @09:26PM (#41665385)
Pretty much all open source projects on GitHub rely on section D.6 of GitHub TOS (when you submit PR, it's licensed under project license and you have a right to do so).

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

Re:Winamp Legacy player source code by kadoban on Friday September 27, 2024 @02:15PM (#41673881)
Any project I've been involved in has its own explicit license, that allows such things (really allows much more, I don't touch anything closed source).
Re:Winamp Legacy player source code by neycoda on Wednesday September 25, 2024 @08:26AM (#41646592)
A repo's license doesn't overrule GitHub's policy.
Re:Winamp Legacy player source code by joshribakoff on Wednesday September 25, 2024 @10:00AM (#41647638)
The implication of this is not what you think. Basically github can go after Winamp and say they violated GitHub terms that is it. Just because winamp violated GitHubs terms of service does not mean they lose their copyright rights
Re:Winamp Legacy player source code by kadoban on Wednesday September 25, 2024 @09:16AM (#41647168)
Seems a lot like that would be the other way around, copyright law overrules random company's policy.
Re:Winamp Legacy player source code by joshribakoff on Wednesday September 25, 2024 @09:58AM (#41647619)
So someone steals my source code and posts it on GitHub, now i no longer have copyright rights? The duty is on the copier to ensure they are granted a license.
Re:Winamp Legacy player source code by junon on Wednesday September 25, 2024 @10:01AM (#41647643)
That's obviously not the case. GitHub even has their DMCA takedowns public. You can't redistribute copyrighted material unless it's under a license that allows for it.
Re:Winamp Legacy player source code by mnau on Thursday September 26, 2024 @09:34PM (#41665419)
Open source projects on GitHub rely on D6 section of GitHub TOS. That is the part where a user declares that when s/he makes a contribution to a project, s/he does so under repository license. Also that you have right to do so (e.g. when you are on employer clock, your employer must agree).

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.

Re:Winamp Legacy player source code by 0x0 on Tuesday September 24, 2024 @10:42AM (#41637004)
I guess you could format a diff patch file locally and paste it as a text comment in an issue in their repo...? :P
Re:Winamp Legacy player source code by chrisfinazzo on Tuesday September 24, 2024 @10:42AM (#41637010)
As @rollcat said, I suspect this means that people can contribute modifications, but that they cannot be distributed outside of the official sources.

So, while you can send a patch to add a feature, you couldn't release that modified version on its own.

Re:Winamp Legacy player source code by amiga386 on Tuesday September 24, 2024 @11:17AM (#41637454)
Didn't lame do that for years? It was distributed as a patch you could apply to the patent-encumbered MPEG "dist10" reference source code (which as far as I can see, did not even have an explicit license, the distribution only includes disclaimers of warranty)
Re:Winamp Legacy player source code by chrisfinazzo on Tuesday September 24, 2024 @11:21AM (#41637503)
Not sure...

Someone smarter than me can answer that.

Re:Winamp Legacy player source code by thomastjeffery on Tuesday September 24, 2024 @10:57AM (#41637200)
That still contradicts the license as written.

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

Re:Winamp Legacy player source code by sramsay64 on Tuesday September 24, 2024 @12:03PM (#41638019)
There is in other areas of copyright law, like romhacks and action replay codes. Romhacks seem like a very grey area but generally don't get DMCAed when they distribute large binary patch files of the original roms. And "Lewis Galoob Toys, Inc. v. Nintendo of America, Inc." would imply that the dead simple 16 byte[0] "patch files" in the form of game genie codes are legal.

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

[1] https://dwm.suckless.org/patches/multimon/

[2] https://github.com/garybgenett/.dwm

Re:Winamp Legacy player source code by chrisfinazzo on Tuesday September 24, 2024 @11:22AM (#41637514)
English is a stupid language ¯\_(ツ)_/¯
Re:Winamp Legacy player source code by thomastjeffery on Tuesday September 24, 2024 @11:39AM (#41637736)
You can't blame this one on English.

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.

Re:Winamp Legacy player source code by hunter2_ on Tuesday September 24, 2024 @11:52AM (#41637895)
It seems like the intent is to encourage giving changes to exclusively the maintainer, and that forking in this context refers to distribution beyond a private communication between the change proposer and the maintainer.
Re:Winamp Legacy player source code by TeMPOraL on Wednesday September 25, 2024 @03:34AM (#41644690)
Which, this being a git repo, makes perfect sense, as despite the impression GitHub gave to a whole generation of developers, Git was designed with a different contribution workflow in mind: one of sending patches by e-mail. Cloning the repo locally, making changes, formatting a patch, and sending it to the maintainer, seems to be perfectly withing bounds of both intent and text of the license.
Re:Winamp Legacy player source code by otteromkram on Tuesday September 24, 2024 @01:56PM (#41639181)
Not really. Legalese is vague on purpose because not every situation can be rigidly defined.

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.

Re:Winamp Legacy player source code by Spivak on Tuesday September 24, 2024 @10:44AM (#41637026)
Because there are two definitions of fork. One is the button that says fork in Github which is really cloning the repo into your account. Then there is fork meaning "fork the project" which is actively developing and distributing an alternative lineage of the project, likely under a different name. You can use Github's PR workflow, it's fine.

Github is the one with the unfortunate naming here that goes against the already established meaning of fork. It really should be clone.

Re:Winamp Legacy player source code by vel0city on Tuesday September 24, 2024 @11:19AM (#41637474)
You don't need to fork a repo to create a branch.
Re:Winamp Legacy player source code by hunter2_ on Tuesday September 24, 2024 @11:57AM (#41637952)
If the permissions on the repo (in GitHub, not git) are such that you lack permission to create branches, then you must first clone (local git terminology) / fork (hosted on GitHub terminology) the repo so that all the permissions are yours.
Re:Winamp Legacy player source code by owaislone on Tuesday September 24, 2024 @01:25PM (#41638862)
I guess they mean "fork" in the broader Open Source sense when you fork something to create your own version of it and take it on a different path or do things differently like like NeoVim forked Vim. GitHub uses the term "fork" merely to create a copy of the repo for contributions.
Re:Winamp Legacy player source code by lifthrasiir on Wednesday September 25, 2024 @01:29AM (#41643966)
The problem here is, of course, that the definition of "forking" is missing from the license. It is evident that two reasonable definitions for "forking" exist in this context (however you feel about Github's takeover of the term) and will continue to confuse potential contributors until fixed.
Re:Winamp Legacy player source code by londons_explore on Tuesday September 24, 2024 @03:40PM (#41640120)
They expect people to simply ignore the license.

And most people will.

And they won't set their lawyers on any contributors.

And the world will go on.

Re:Winamp Legacy player source code by heyoni on Tuesday September 24, 2024 @05:49PM (#41641307)
That’s not good enough. You can’t put out an open source project and expect to control the community around it to that degree.
Re:Winamp Legacy player source code by justinclift on Tuesday September 24, 2024 @06:17PM (#41641562)
Well, it's not an Open Source project. So there's that. ;)
Re:Winamp Legacy player source code by curtis3389 on Tuesday September 24, 2024 @07:35PM (#41642129)
Actually this is open source. This is what the term refers to. What you mean is that it's not free (libre) software, which is most certainly is not. They do not respect you and your rights: https://www.gnu.org/philosophy/open-source-misses-the-point....
Re:Winamp Legacy player source code by bdowling on Tuesday September 24, 2024 @07:42PM (#41642172)
When people who care about open source talk about "open source", they often mean the Open Source Initiative definition. https://opensource.org/osd
Re:Winamp Legacy player source code by curtis3389 on Tuesday September 24, 2024 @07:48PM (#41642202)
sigh OSI was established specifically because they just wanted to share code and didn't care about GNU's 4 freedoms, so don't be surprised when the proponents of open source give you projects you can't even fork.
Re:Winamp Legacy player source code by bdowling on Tuesday September 24, 2024 @08:43PM (#41642499)
I'm not surprised. In this case, however, it doesn't even meet the OSI definition because it doesn't allow distribution of modified versions.
Re:Winamp Legacy player source code by chungy on Tuesday September 24, 2024 @08:55PM (#41642563)
OSI was established specifically because companies got queasy over free software's quasi-religious rationale behind the "four freedoms" and wanted something that sounded a lot more pragmatic while effectively being the same thing.

Don't get facts twisted, it was never "if you happen to peek at the code, it's open"; it's the full freedom backing behind it. That's exactly what the OSD is about, which was linked int the parent, if you bothered to read it.

Re:Winamp Legacy player source code by curtis3389 on Tuesday September 24, 2024 @09:33PM (#41642770)
We're probably just talking past each other. The reason GNU comes off as religious is because they frame the whole issue in terms of human rights and moral imperatives (it is wrong to hide the source and we have the right to share). OSI prefers to frame it in terms of capabilities and transactional relationships (it's a win-win!).

The OSD is compatible with GNU licenses; I've read it before. That doesn't change the reality that by reframing the issue from rights to abilities, the OSI created the very environment where Winamp can be released as "open-source" while making forking illegal.

If you want a good look at OSI's commitment to the OSD, take a look at their Open Source AI initiative: https://opensource.org/deepdive https://opensource.org/deepdive/drafts/open-source-ai-defini...

They are directly complicit in propagating the lie of open-source AI. If you can't inspect how it was made, including the actual training the data, you don't have the ability to understand how the AI was made. The choice of the lumber is part of how a chair is made.

Without the "I have the right to know what my computer is doing", there is nothing backing point 2 of the OSD. Without "I have the right to share", there is nothing backing point 1.

Re:Winamp Legacy player source code by justinclift on Tuesday September 24, 2024 @08:03PM (#41642290)
You might want to read the WinAMP license that you're claiming is Open Source.

Though it sounds like you might be misunderstanding things on purpose. (?)

Re:Winamp Legacy player source code by sneak on Wednesday September 25, 2024 @12:52PM (#41649375)
Google does it with Go, Microsoft does it with VS Code. Open source cosplay, with or without an OSI-approved license, is rampant.
Re:Winamp Legacy player source code by xupybd on Tuesday September 24, 2024 @05:59PM (#41641402)
1. Forking: The license explicitly prohibits forking. Section 5 states: "No Forking: You may not create, maintain, or distribute a forked version of the software."

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.

Re:Winamp Legacy player source code by TeMPOraL on Wednesday September 25, 2024 @02:11AM (#41644179)
> 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.

Re:Winamp Legacy player source code by SuperNinKenDo on Tuesday September 24, 2024 @08:22PM (#41642390)
Anybody know whether this would preclude patches that contain none of the project's own source code?
Re:Winamp Legacy player source code by userbinator on Wednesday September 25, 2024 @12:42AM (#41643763)
Does anyone else notice the irony of enforcing a license on software whose widest use was probably to play pirated music?
Re:Winamp Legacy player source code by MaxGripe on Wednesday September 25, 2024 @03:48AM (#41644830)
Personally, I use Winamp to play FLAC files from CDs I own and to listen to streams from DI.fm
Re:Winamp Legacy player source code by Karellen on Wednesday September 25, 2024 @06:31AM (#41645807)
Winamp existed before piracy was well-organised, or even bandwidth-feasible for many people. A lot of people will have used it to play rips they'd made of their own CDs.