On Mon, Sep 17, 2012 at 11:10 PM, Ben Finney <ben+freesoftware@benfinney.id.au> wrote:
Howdy all,
I've never been much of a user of Git, but I appreciate that the most popular DVCS is free software.
The worrying part is that most people who *say* they're using Git are using Github. I have heard rumblings that Github is problematic: it's non-free compared to Git being free, it's centralised where Git is federated, it requires users to use protocols that are incompatible with Git.
In short, it undermines and defeats most of the benefits of a federated free-software tool.
Here is an article by someone who has decided after a long usage to switch from Github, for these reasons and more.
The problem is that github is most emphatically not git. If a person using git (and therefore send-email) wants to collaborate with someone using github, one of the two of them has to give in and use an interface they deliberately decided not to use. There’s no way around it: github does not supplement git, github replaces git. Deciding whether to use github versus just git is an either/or proposition.
I'm a big user of git and github, and I don't particularly like the places where github tries to improve upon stuff that git already does - mainly pull requests (I can't actually think of any others). Having said that, it's obvious why they had to create them - pushing patches into someone's mailbox and saying "there you go - figure it out" is hardly in line with their intent to make git easy for the masses. But the above quote is simply not true. I don't like pull requests, so I can (and do) just use `git remote`, `git pull`, `git merge` from my local box, and push the results up to github as a dumb repository. It works just fine, and it's just plain git. Granted, github *discourages* people sending emails-with-patches-attached - you can still do it if you want, although many folks users will look at you funny. I would discourage using send-email as well, for the record. Now, some people will tell you the only way to push changes *to them* is to send them a github pull request, which I always find baffling. But that's no different from me telling my contributors that they must send me a smoke signal with their diffs - it's the fault of the maintainer for requiring that, not the service for providing it.