On Tue, Sep 18, 2012 at 10:53:03AM +1000, Tim Cuthbertson wrote:
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.
I found it something of an annoyance to have had to create a GitHub account in order to contribute to some free software projects. A federated pull request protocol used between all the code hosting/collaboration sites would be excellent, but due to the commercial interests providing/supporting these services this is unlikely to happen. As for GitHub itself, it by no means replaces Git. In fact, as a developer, you can do very little with GitHub without using Git. The mechanisms offered by GitHub may be the preferred way to contribute to many projects, and perhaps mandated by a few, but this is at most a mild annoyance for those who would prefer to use other hosting/collaboration services or none at all. I see no major software freedom issues for free software projects using GitHub; the data being worked with is the (public) source code and nothing particularly special is being done to that data (cloning, branching, merging, etc). It is therefore not a problem that GitHub itself is not free software (though GitHub have liberated many free tools and libraries, which is good). There are similar sites/services that run on free software. I think free software advocates should stick to those where possible, and in all other cases not let the details of where or how to contribute get in the way of actually contributing to free software. Regards, Fraser
_______________________________________________ Free-software-melb mailing list Free-software-melb@lists.softwarefreedom.com.au http://lists.softwarefreedom.com.au/cgi-bin/mailman/listinfo/free-software-m...