The obvious alternative is using git through a mailing group like Linux has been doing for years. I say obvious because it's the workflow for which git was built in the first place. ;)
It's amazing to me that git's power to easily manage distributed software development been lost/forgotten with Github. You don't need a web interface to contribute code. Linux is doing just fine.
You just need git and some sort of communication tool to distribute patches, email being the most powerful, flexible, and ubiquitous I've seen.
> You just need git and some sort of communication tool to distribute patches, email being the most powerful, flexible, and ubiquitous I've seen.
I would say that having a private NNTP server (one requiring an account to post) would also work in lieu of email. In fact, it would be better than email because it would allow new members to easily browse list archives. At least gmane already does something like that for some mailing lists.
Git can do that as well with a --bare repo on any $5 virtual server. The whole setup only takes a few minutes, and Github's doing that in the backend anyway. :)
Then up it to $10 and host identical copies across EC2 and Linode or Digital Ocean. Set up a git hook to automatically push from your primary to your secondary server, keeping both up to date. You now have better uptime than Github (100%, more or less) for less money than Github charges and greater control.
Yeah, but GitHub does this for, like, a hundred thousand projects. That's a lot of repeated effort if every project is going to do this themselves. For private repositories, sure, but I'm thinking of GitHub as an infrastructure provider.
It's amazing to me that git's power to easily manage distributed software development been lost/forgotten with Github. You don't need a web interface to contribute code. Linux is doing just fine.
You just need git and some sort of communication tool to distribute patches, email being the most powerful, flexible, and ubiquitous I've seen.