this post was submitted on 24 Sep 2024
140 points (99.3% liked)

Open Source

31378 readers
178 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] BrikoX@lemmy.zip 11 points 2 months ago (1 children)

You have to make a fork aka copy and modify to contribute via pull requests. The license is fundamentally broken.

[–] sweng@programming.dev -4 points 2 months ago (2 children)

Yes, but that has nothing to do with Github TOS. It does not require you to accept or even allow pull requests.

[–] chebra@mstdn.io 6 points 2 months ago (1 children)

@sweng @BrikoX No, the TOS "just" says that by making the repo public you are granting all github users the right to fork it. So that right has already been granted.

[–] sweng@programming.dev 2 points 2 months ago (1 children)

The TOS actually does not say you are granting users permissions to fork in the usually understood sense. The TOS gives you permission to copy, which Github calls "forking" even though it isn't.

[–] chebra@mstdn.io 7 points 2 months ago (1 children)

@sweng

> you agree to allow others to view and "fork" your repositories

How did you come to the conclusion that this does not grant the permissions to fork? It's literally in the sentence. Where else did you find the definition of "forking", if not here? This is what Github defines in the TOS, this is the label on the button in github UI, so clearly this is also what winamp means when they forbid "forking" and that means it's against the TOS. There is no other "forking".

[–] sweng@programming.dev 2 points 2 months ago* (last edited 2 months ago) (1 children)

I got it from the TOS:

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

They explicitly define it as making copies. There is no mention of being allowed to modify said copy. Also note the quotes around "fork", since it differs from the usual definition.

E.g. wikpedia (https://en.m.wikipedia.org/wiki/Fork_(software_development) defines it thusly:

In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software.

(Emphasis mine)

[–] chebra@mstdn.io 0 points 2 months ago (1 children)

@sweng But what else would "forking" mean? As you said "in the usual sense". This is the usual sense - making a copy of the repo on github = forking.

[–] sweng@programming.dev 4 points 2 months ago (1 children)

I edited my reply to include the definition from Wikipedia, but there are of course many other sources.

[–] chebra@mstdn.io -2 points 2 months ago (1 children)
[–] sweng@programming.dev 2 points 2 months ago (1 children)
[–] chebra@mstdn.io -2 points 2 months ago (1 children)

@sweng

Look, I can't help you if you don't even read the things you are posting. 🤷‍♂️

[–] sweng@programming.dev 3 points 2 months ago (1 children)

How about you continue reading a bit further, until you hit the word "and".

take a copy of source code from one software package and start independent development

(emphasis mine).

Github defines "forking" as just copying, while normally it is understood as copying + further development (creating a "fork" in the development history, hence the name).

[–] chebra@mstdn.io 1 points 2 months ago (2 children)

@sweng No need, I can instead continue reading the "license" and see the word "or".

> You may not create, maintain, or distribute

They disallow creating copies. Plus other things, but already creating the fork by either definition is disallowed. Not to mention, wikipedia is not a legal document while the TOS is, the double-quotes are used because that's the first time a new term is used, followed by its definition, and that the license is likely using Github's definition, not wikipedia's

[–] sweng@programming.dev 0 points 2 months ago

An article exactly about how Github misuses the word "fork": https://drewdevault.com/2019/05/24/What-is-a-fork.html

[–] sweng@programming.dev 0 points 2 months ago* (last edited 2 months ago) (2 children)

Why on earth would the license use Github's very niche definition? "Forking" as a software concept has been around for decades longer than Github or it's "fork" button has existed.

Also, how about reading the full psragraph?

You may not create, maintain, or distribute a forked version of the software.

(emphasis mine). It only does what you think it does if forking = copying. Which it doesn't.

Question to you: Github provides a button labeled "Download ZIP" for downloading a .zip-file containing the source. If I press that button, am I in your opinion creating a fork?

[–] chebra@mstdn.io 1 points 2 months ago (1 children)

@sweng

> Why on earth would the license use Github’s very niche definition?

Maybe because it's ON GITHUB??

[–] sweng@programming.dev 0 points 2 months ago (1 children)

Thst's not at all how it works. The definitions made in the TOS do not "leak" out of said TOS (unless the TOS specifies that, which it does not).

[–] chebra@mstdn.io 1 points 2 months ago (1 children)

@sweng It's much more likely that the term follows the github's definition, because it's on github, rather than the wikipedia's definition, because why would it? You keep hanging on one word in a wikipedia article, let me fix that article and maybe we can stop this nonsense discussion.

[–] sweng@programming.dev 0 points 2 months ago* (last edited 2 months ago)

Can you fix dictionary.com as well?

Computers. to copy the source code from (a piece of software) and develop a new version independently, resulting in two unique pieces of software

https://www.dictionary.com/browse/fork

[–] chebra@mstdn.io 1 points 2 months ago (1 children)

@sweng And to your question: I'd say no, downloading as zip is not a fork, either by github TOS (because they say the copy must be in a repo) nor by the license, because they specifically define the term "Modify", and saying that an exact copy is ok, as long as you don't distribute it or "fork" it - which is exactly why "fork" here means the "Fork" button of github.

Do you think that Download ZIP = fork? It sounds to me like it doesn't fit the wikipedia definition either, so what's your point?

[–] sweng@programming.dev 0 points 2 months ago (1 children)

So you also agree that copying is not forking as it is commonly understood?

Do you then claim that the license refers ro "fork" as defined in a specific service's TOS (without referencing said servixe at all)?

Otherwise I don't see how you can come to the conclusion that "forking" in the license does not also necessify modification (which is what the common meaning is).

[–] chebra@mstdn.io 1 points 2 months ago (1 children)

@sweng I simply don't agree that your "common" definition is really the "common" one. Fork is a fork if you created a copy in another repo. Immediately in that moment, even without a new commit. Clearly that's what the "Fork" button does. Not zip, that's not a fork. Nor a private copy, unavailable to anyone else. This fits both the definition from the license, and the TOS, and all instances of "forking" that I've seen before.

[–] sweng@programming.dev 0 points 2 months ago (1 children)

Tying "fork" to "repositories" is nonsense, because software forks have existed longer thsn e.g. git.

How do you define "repository", such that it makes sense? Is it only Git repositories? Any version control system? How about a .zip-file placed on an FTP server?

[–] chebra@mstdn.io 1 points 2 months ago (1 children)

@sweng Look I don't have that much time to split hairs about inconsequential things. All I'm saying is that if someone says "Don't do ABCD" and you click a button on the same page that says "Do ABCD" then that's clearly the same ABCD they were talking about, no more action necessary, no outside definitions necessary. Have a good day.

[–] sweng@programming.dev 0 points 2 months ago

The point is, it's not at all clear, because Github has it's own definition of what "fork" means. I'm honestly not sure why it's so hard to grasp.

[–] BrikoX@lemmy.zip 2 points 2 months ago (2 children)

I'm not sure if it's spelled out in the ToS, but there is no way to prevent pull requests on public repos, it's a functional requirement.

[–] chebra@mstdn.io 2 points 2 months ago

@BrikoX @sweng

It's in the linked issue, spelled out alright:

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

[–] sweng@programming.dev 1 points 2 months ago

Just because you can do something, does not mean you are allowed to.