so re this:
https://www.pandastrike.com/posts/20150610-thought-experiment-github-community-view
@bkeepers's response was this:
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>I think it’s fundamentally a question of governance, which GitHub has been agnostic on thus far. @gilesgoatboy
— Brandon Keepers (@bkeepers) 10 March 2016
I disagree. I think GitHub's made some very specific assumptions about governance:
- Governance exists
- The people who use the project are in communication with the person who originated the project
- The originator has any opinion at all about what the project does next
- If you create code which other people adopt and modify, you have an obligation to settle any disagreements they have amongst themselves, and an obligation to pay attention to them in the first place
- If your repo is more widely-used and current than the originator's repo, but GitHub users can't discover your repo and always end up at the originator's repo, that's not a user interface problem, it's a problem with the governance of the originator's repo and (somehow) with yours as well.
Number 5 doesn't describe me, and I take the assumptions in number 4 with a big grain of salt.
But, if my thought experiment revealed any kind of problem with GitHub, I think that problem would be that GitHub calls this agnosticism in the first place. (If I understand correctly, @bkeepers works for GitHub.) This is not agnostic. This is a set of assumptions about social obligations, social roles, and therefore governance.
GitHub's awesome, but I think this is indeed a subtle problem in its design assumptions, and it's the kind of subtle problem which evolves into a glaringly obvious problem as a user base gets bigger. I'd need to be a time traveller in order to tell you definitively whether or not it will ever become a big problem. However, it was a tiny problem years ago, and it's a small problem now. I don't think that's a good sign.
With new capabilities come new paradigms. When CVS was new, I couldn't imagine using a non-locking repository. After I did it for awhile, it became second nature.
Is your proposal the answer? I dunno. I'm not terribly good at predicting the future. It may be that the next step forward would be to implement what you could of it outside of GitHub, but pointing to the the GitHub forks. Try it and see if it works, both technically and socially.