3 ms·
Some of the strain here is around two very different meanings of the word "fork", but only a single feature with that name on GitHub: 1) When I want to contrib
by kylecordes 9y ago
Some of the strain here is around two very different meanings of the word "fork", but only a single feature with that name on GitHub:
1) When I want to contribute to a project, make some local changes and offer them back to the mainline, I fork. My fork is a pseudo-throwaway thing; it contains code that is hopefully destined either to make it back to mainline, or likely to be abandoned if mainline moves on in active development.
2) When I want to go my own way with a project, using it as a starting point for a new direction of development that may wander in a direction quite far from the original (it might get renamed, it might continue development of the original becomes abandoned, etc.), I also fork.
Numerically meaning 1 is surely far more common, so it makes sense for the GitHub features and permissions etc., to optimize for that case.
Meaning 2 is closer to the original idea of a fork, from open source vernacular long predating GitHub.
Naming is hard, and I don't blame them for picking a single name for these two technologically similar (but socially different) scenarios.
- jehlakj 9y agoI don’t know much of the historical details, but whenever I think of a fork, I think of processes. I think that GitHub’s official definition is just a simplification of what happens as a side effect.
- styfle 9y agoI don’t think GitHub actually labels #2 as a fork, but traditionally that’s been the meaning. They just needed a word to show that the repo is not original and is tied to an upstream repo. For example, when I wanted to “fork” a project[0] that was no longer maintained and not accepting PRs, I actually had to contact GitHub to “unlink” my repo so that I my repo could be standalone and utilize all the features on GitHub (can’t remember which features off the top of my head). [0]: https://github.com/styfle/geoslack https://github.com/styfle/geoslack
- brianpan 9y agoI think you're right. So my conclusion is....a fork on GitHub is no fork.