I find GitHub rather ironic. Git was created in the first place to pick up the pieces after the BitKeeper debacle [1]
BitKeeper is/was a proprietary VCS platform, which enticed in developers by providing a free (gratis) version for FOSS projects. Sound familiar? When the "no reverse-engineering" terms were inevitably broken, access was revoked and many Linux kernel developers who'd come to rely on BitKeeper found themselves out of luck.
Torvalds et al wrote Git to replace the functionality of BitKeeper. Not only did this give those devs who'd come to rely on DVCS something to use (IIRC, Torvalds himself sent/received patches via email; a workflow which is well supported in Git), but it would ensure that no one entity could have too much control over Linux (and other FOSS) development.
Then GitHub came along, a proprietary VCS platform which enticed in developers by providing a free (gratis) version for FOSS projects, and quickly overtook previous alternatives like Gitorious, and became a single entity with too much control over FOSS development.
Whilst I admire GitLab's work, since Gitorious went away I'm reluctant to advocate such a single point of control/failure again. I now host my git repos on my own server[2], with a static HTML interface generated by git2html[3] (with a few tweaks [4]). Patches are welcome by email.
Much of Githubs success with FOSS where the API's, tools and simplicity of putting up new repos.
These days package managers such as Node's npm/bower, Sublime text packages, PHP's Composer rely on the accessibility of this central place for code access.
I'm worried that without a central place for FOSS code, the community of FOSS projects will fragment and some may become unaccessible when they are needed. Either by running out of hosting funds, getting hacked or becoming unmaintained.
Searching for FOSS projects will become more difficult and it would be harder to get any idea of how often the projects is updated or even how "popular" it is.
These aren't new problems though; the same arguments apply if you replace "repos" with "Web sites" and "GitHub" with, say, "GeoCities" or "Tumblr".
Package managers certainly aren't tied to sites like GitHub; for example, I host my own Composer packages ( https://packagist.org/users/warbo/ ). Unfortunately each package does tend to get tied to a particular Web address, but there are sporadic efforts to overcome this (e.g. https://wiki.debian.org/DebTorrent )
If you consider GitHub to be a "central place for FOSS code", which represents the unfragmented community, and serves as the only neccesary search engine and update notification system, then I regret to inform you that you're mistaken. FOSS has been around far longer than GitHub, as has the Web. The community is incredibly fragmented, although pretty much all communicate via a combination of Websites, email, IRC and RSS feeds. GitHub has only ever been a rather recent fragment of this; although it would still be a great loss if all its projects were deleted overnight.
Like everything else on the Web, the current "solutions" are search and archiving on a massive scale. Perhaps P2P technologies like IPFS and magnet links will be (part of) a more scalable alternative going forward.
Don't get me wrong here, I host a Gitlab server myself and pull other projects into that instead of relying on Github, I'm just saying that it IS a problem that Github is so central at the moment and it will have consequences if it goes down or start to charge for FOSS.
Of course Open Source have been around and will continue to be around, I'm talking about those FOSS projects that have only a single or a few developers with no company backing it. It takes effort and time to even share a project and if it is not easy and free - some might not consider open sourcing their projects at all.
I'm looking forward to a new P2P layer that works like the web, but is more transparent and encrypted. Perhaps using tech like WebRTC? Webtorrent that is built on it is already impressive - The only issue is that it loads the whole file in RAM for both seeders and leechers.
Edit: On topic: I've been meaning to move to Gitlab but Github still has a strong pull on me. I have a really good profile there which is useful when I look for work, and the barrier of entry to contributing to other open source projects is immeasurably great. Github has actually made open source fun.
The recent developments are extremely worrisome though. I was hoping we'd get some more years from Github before they turn awful... thankfully, the tie-in only goes as far as the profile itself, there are excellent backup[1] and conversion tools which have been recently linked on HN - and of course, there's Gitlab.
Apparently the site owner has blocked everyone from Finland and possibly Estonia as a protest after "an incident at the border" since summer 2015: https://voat.co/v/whatever/comments/754757
Maybe the developers of FOSS just want to use the best tool for the job. Maybe they are opening up their work because they want others to be able to contribute to it and Github happens to be the most effective way of soliciting contributions.
> ... when open source projects opt to use Slack as their chat platform instead of IRC; it's [sic] sends the signal that FOSS is good enough for us but not good enough for them.
It couldn't possibly be because Slack is better than IRC?
I mean, come on. Sometimes there is a better closed-source alternative. I don't know why FOSS attracts these people that think all closed-source software is literally the devil or whatever, but if you're not using the best tool for the job you don't have the best interests of the project at heart. For most use cases, Slack is objectively better than IRC. For a minority, IRC is better.
The dogma from the FOSS community is a large part of why many people are not involved in it at all.
Gitlab is quite impressive. I've dropped bitbucket for it. I still love github, I find its best use case for me is a great repository of code samples(I've also contributed to several projects ); the social aspect is valuable (to me) because generally the most starred projects are of the highest quality, it's a valuable vetting process.
The curse of the growth hacking is this: there's a fixed number of top developers and hackers on this planet. Once you've crossed that number, the next new user's input decreases the signal to noise. This happens everywhere. (not pointing any fingers to not get down votes... :-)
I run a gitolite[0] instance on my server. It's great so long as you have another way to deal with issues and love the terminal. Access control is a breeze.
I feel like Gitlab is heavy. Gogs is neat, but incomplete. If you don't need/want bloat, gitolite works well.
Okay too much GitHub hate going on these days. It's just impossible to have that unnoticed. I really hope there are no politics behind those articles ( or their publicity ).
BitKeeper is/was a proprietary VCS platform, which enticed in developers by providing a free (gratis) version for FOSS projects. Sound familiar? When the "no reverse-engineering" terms were inevitably broken, access was revoked and many Linux kernel developers who'd come to rely on BitKeeper found themselves out of luck.
Torvalds et al wrote Git to replace the functionality of BitKeeper. Not only did this give those devs who'd come to rely on DVCS something to use (IIRC, Torvalds himself sent/received patches via email; a workflow which is well supported in Git), but it would ensure that no one entity could have too much control over Linux (and other FOSS) development.
Then GitHub came along, a proprietary VCS platform which enticed in developers by providing a free (gratis) version for FOSS projects, and quickly overtook previous alternatives like Gitorious, and became a single entity with too much control over FOSS development.
Whilst I admire GitLab's work, since Gitorious went away I'm reluctant to advocate such a single point of control/failure again. I now host my git repos on my own server[2], with a static HTML interface generated by git2html[3] (with a few tweaks [4]). Patches are welcome by email.
[1] https://en.wikipedia.org/wiki/BitKeeper [2] http://chriswarbo.net/git [3] http://hssl.cs.jhu.edu/~neal/git2html/ [4] http://chriswarbo.net/git/git2html/