I hope I'll see a new rise of decentralized solutions. For now I'm frightened of the monopolism here.
I hope I'll see a new rise of decentralized solutions. For now I'm frightened of the monopolism here.
I speak from experience, having built a crawler and search engine that extracts changelogs from open source projects on Github, parses them, and provides an API for changelogs. [1] I probably never would have built this project if the only thing that had been available to me was bare git repos. It's the github API that makes this search engine possible.
The side effect of the Github "monopoly" is that Github can afford to provide a decent API that makes it possible to do things that simply aren't feasible if you are facing a non standard collection of bare git, svn, mecurial, etc repos.
First, git is decentralized by default. GitHub has very little secret sauce here; most, if not all, of their cool git tricks are actually pushed upstream into the git client to benefit everybody. For remote management, I can run `git init --bare` in any directory on any ol' ssh box I want and then set it up as a remote and get the same exact `git push` experience. Or use any of the strategies that git supports for interacting with remotes.
So GitHub chose a great decentralized tool as their foundation, and then got the community UX right. There's easy permissions management, easy SSH key management and instructions, issue and PR tracking, easily-accessed discussion, etc. GitHub is 95% about community and 5% about easy repo management, IMO.
That said, they're no longer the only player in town. They're the most universally understood, but you can easily set up a GitLab CE server on your own hardware if you want the same thing for free, but there are management costs associated with that.
I think the other critical reason GitHub is associated with open source software is that, after all, it's 100% free for open source software. You get all the above features for free if you don't discriminate about who can see and clone your code. GitLab will give you free private repos, but in my opinion I think GitHub takes the better stance here for the Open Source world. "You want free tools? You have to either pay up or share."
They never were. Before github everything was on sourceforge.
GitHub's secret sauce was to use dark patterns meant to accelerate the network effect working in their favor.
Specifically:
1. Quietly kill patches as the main currency in open source
2. Redefine "pull request" to mean "the thing that happens when you click a certain button on github.com"
The end result is that collaborating with GitHub-hosted projects is made arbitrarily difficult unless you're also hosting your work on GitHub.
At the same time it's better to have a working project and having the satisfaction of shipping than going in circles trying to appease everyones definitions of open source.
If I created a website for you to turn a user's facebook activity statistics into a T-Shirt I would hope that you don't think it is contributing to facebook's monopolism of social media.
Nowhere does this project say that "GitHub = open source" and I'm not sure why you're harping on it here. In fact, this project can even include private (ie. non-open source) commits, making your point even more irrelevant.
Then if I can't find it that way, I begrudgingly head over to Google.