Someone saying "please use Github" doesn't (usually) mean they only want, specifically, Github. It means they want a tool with visual forking and merge trees, a code browser that can easily reference different branches and tags, basic issue tracking in a way that can be linked to specific commits and merges, and so on.
Honestly, at the point that Mr. Wong mentioned "no need to ever touch a bloated web browser" it felt more like ranting against ~these goddamn stupid casuals who can't even bother to use the command line!!~, not about actually bothering to even try and understand what the person was requesting.
Yes, the command line has its place.
Yes, some of us like GUIs even though we can do CLIs.
And using a tool that simplifies some of the trickiness of software development (filing issues, code reviews, etc) is a pretty welcome tool in my bag of tricks. An open source issue tracker is fine, but with his negative attitude towards web browsers, I assume any web-based tool that attempts to get in his software development process would be met with some level of disdain.
edit: You will probably argue why you want to use git but don't want to use a shell. Please don't. If you really want to learn something, try git in a shell for a year (consistently learning, not just getting stuff done with minimal effort). If you start to use `git log` more often than any gui tool, if you merge, fork, and `rebase -i` without thinking about it, then make a decision. And if you reached that point and still think git can live without a shell, please (seriously) come back here and tell us about it.
One thing that git stinks at is line-by-line code review, for example. While I don't necessarily think GitHub is especially good for that, it does do the job in a much simpler way. (Yes, I'm aware of the practice of mailing patches for review, but you're not going to convince very many people that it's better than a GUI-type thing. It also doesn't address stuff like automated pre-review and pre-merge integration test runs, etc.)
† actually I wish Gitlab, Bitbucket and Github would support that, in an interoperable way.
Because it's DVCS, the code already exists on the author (and likely dozens of other users') machines. With the change of a remote GitHub as a source host can be effectively replaced.
When it comes to the non-source-hosting capabilities of GitHub, sure they're proprietary but they too can be replaced. GitHub has gained dominance in the open source community because it's very good at what it does. If it ceases to be the best place to host open source projects, people will stop hosting open source projects there.
That being said, the authors of awesome open source projects have zero obligation to put their stuff on GitHub if they don't like it. They just might miss out on contributions of members of the community who don't want to jump through extra hoops.
The alternative to using the CLI is not Github. He dislikes the fact that a large % of new users of git are wholly dependent on a proprietary service.
This is a very understandable attitude if you are involved in the 'older' open source communities, where people still care about free software in the freedom sense, and do not simply treat open sourcing as a PR advantage.
Understand this: If you require contributors to your project to use Github/similar services, these users are filtered by those who are willing to accept an unreasonably coercive ToS - and yes, most ToSes of American cloud companies are coercive.
It is not a condescending attitude towards people. It is a deep caring for the principles of software freedom - freedom for both users and the people who make the software.
Besides that, nobody would be required to create an account on Github to contribute. The primary repository could be hosted right where it is, with Github available as another avenue of contribution and communication.
It seems like a hollow argument to malign Github just because it wrapped something useful in its own right (Git) with a set of tools that raise its usefulness enormously (Github). And if you end up having an issue with Git, if you've got a local checkout it's 100% Git compatible and you can migrate it anywhere you'd like.
Is that not a practical reason? Why should OSS be behind a ToS?
Hosting on Github wouldn't diminish the ability for people to contribute to Unicorn via the same channels they do now. It would just make it more convenient for the many people who already use it.
For smaller projects the cost to migrate from older services like Google Code or even from Bitbucket to Github (or sometimes from Google Code to Bitbucket) is not trivia. I think one reason why Django still use its own system (Trac) rather than going for full Github is the difficulty to migrate old issues over.
So if the reason is "because we have a solid process in place" it is understandable. But actually, running your own system is also a lock-in but you just happen have full control of the system. You are lock in because you are still using that one software which may or may not continue to exist in a few years. If next decade you decided you don't want mailman to run your mailing list, instead you want to use MailFooBar, you will need to prepare migration. The only advantage is you control your stack, your data. Github can shut down next year all the sudden and you can lose everything (this is particularly true and dangerous for people whose software development cycle depends on small start-up services out there).
I think the attitude is a bit strong to potential contributors, even though I can see the reason why it's bad for an established project to consider any migration. It's a personal preference. If you are the main author and you don't want to move, you don't have to move. I don't have time to manage a full system. Heck, I don't have any open source code that is popular enough warrant me to think about running a mailing list or a buildbot farm. Github is perfect for me for just tracking and sharing code with the world.
This is entirely false, if github shuts down tomorrow you don't lose everything. In fact, most likely you don't lose anything, since the git repo on your computer has everything. This is the only reason I use Github, myself. It's not like the old days of Sourceforge hosted CVS servers where you didn't actually have access to your data.
I'm not against github (in fact i like it very much) but issues does seem to impose a little lockin.
I bet the number is almost zero. Source code is one thing, but the history of discussion? That worth something.
Also, sometimes some repos just don't exist on your computer anymore or out of sync because you done work on multiple computers. Or if your computer is stolen.
Not to mention that this question leads directly to the "how to build a successful business on OSS" question, which is itself of direct interest to many here - and that question is itself entwined with questions of ethics and law (copyright and trademark law, contract and employment law, ethical questions of balancing proprietary and community code and access, etc.).
Furthermore, if this is as important as implied, wouldn't that Github repo become an important source of progress for the project, without infringing in any way on Eric's desire to NOT use (or depend on) Github?
What is the proprietary communication tool which seems a must for git to work?Are they referring to SSH?or Something else am not aware?
I'm also not a fan of github's monoculture (or for that matter, of git's -- i rather like mercurial). I've only got one or two open-source projects out there, but I've encountered the "you are aware of github, right? why are you using <insert anything else>" mindset before.
Ideally, git or mercurial or some dvcs gains the ability to track messages and issue tracking within the repository allowing multiple frontends (such as github) to make use of a common backend model. But until then, while github is nice, I think it shouldn't be a necessary requirement for running a project, merely a sufficient one. Homogeny breeds fragility, and all.
It's likely not the only one out there though.
"bogomips"
Cheers that's helpful.