ReadWriteWeb

GitHub: A Social Network for Programmers

Written by Josh Catone / April 11, 2008 10:42 AM / 9 Comments

Git is a decentralized version control system created by Linus Torvalds that is used by a number of open source projects, most notably perhaps the Linux kernel. GitHub is a new hosted Git repository service that's being called a "social network" for programmers and with good reason. It also already has some high profile projects of its own on board: Ruby on Rails, Capistrano, Merb, Prototype and Scriptaculous, among others. "[GitHub is] the way SourceForge should have been," gushed one beta tester.

Git decentralizes version control by giving each developer a local copy of the development history, and then changes are copied from repository to repository. Because Git makes it simple to fork and merge code, it makes the system ideally suited to collaborative development projects. But what really sets GitHub apart, is not that it uses Git, but how elegantly it pulls everything together around a set of core social networking ideas.

Though GitHub is a pay service with a business model aimed squarely at commercial development shops in need of a secure, hosted, version control system, the company also offers a generous free package that would be suitable for many open source projects.

GitHub really comes together for most users when you start talking about the social features. Every user and project has a profile (here is one for co-founder Chris Wanstrath, and here is one for the Ruby on Rails project) which tracks progress and participation. Users and projects also have public activity feeds which display activity on public projects such as commits, comments, forks, etc.

Users have the option to follow specific developers or projects to keep tabs on their activity.

Some might wonder what the point of a centralized host for a decentralized, open source product really is -- i.e., is not Git meant to be installed locally? As Peter Cooper points out, "If you just want one reason why Github is relevant, it’s because the Web interface provides the connection BETWEEN hosted projects and the forks of them. Hosting your own Git repository is not hard [...] but co-ordinating efforts of forking and merging amongst people you don’t personally know is tough. With a system like Github, it becomes a lot easier."

In other words, what makes GitHub special is the social aspects. With so many high profile projects already on board, it's easy to imagine GitHub could be the next SourceForge.

Comments

Subscribe to comments for this post OR Subscribe to comments for all ReadWriteWeb posts

  1. Thanks for the reference, Josh. GitHub and the guys behind it are great. I hope they do well.

    Posted by: Peter Cooper | April 11, 2008 12:06 PM



  2. GitHub is awesome. It comes with very new concept and is excellently done. I swear by GitHub. I am proud to be one of the earliest users of GitHub. Every feature of GitHub is awesome and provides great value. I hope GitHub becomes of of the most respected code repository hosting service and social programming network.

    Posted by: Ani Wadghule | April 11, 2008 9:34 PM



  3. ""[GitHub is] the way SourceForge should have been," gushed one beta tester."
    You mean SourgeForge should have been closed source and a pay-mostly service? If that is what the gusher meant then yeah!

    What about a little [whole] truth in reporting.
    It is a paid service unless your project is open source.
    It is not clear if you can download projects without signing up first. So higher barriers to entry than SourgeForge or Freshmeat or google code or http://repo.or.cz are gushingly better?
    Why do we all have to have a uncritical circle jerk everytime someone puts up a rails based app with big fonts and icons?

    I realize that since it is now going to host rails that people are losing their minds in an orgasmic frenzy of github love but
    please some thought, some critique, some feature comparison, some answers to why is it better for devs and/or project users?, something better than mindless cheerleading...

    Posted by: Ann E. Mouse | April 12, 2008 3:05 AM



  4. Ann, have you used GitHub at all? If not, then your comment is just as meaningless as is mindless cheerleading.

    > "It is a paid service unless your project is open source."

    That's very clearly stated in the article. so I'm not sure why it falls under your call for "truth in reporting"

    I *wish* that GitHub was open source and free for everyone everywhere all the time. It's not, but it rocks, so I bought an account. I hope Chris and company make a bazillion dollars on it. I could use SourceForge or others instead, but they're awful compared to GitHub, so count me in on the "orgasmic frenzy of GitHub love!" :)

    Signed, an Actual GitHub User.

    Posted by: Jack Baty | April 12, 2008 5:22 AM



  5. Ann, it is indeed possible to get a copy (or clone to keep to the jargon) of projects on github. On the project page you'll find a Public Clone URL, which is all you need to clone the project.

    I agree that a more balanced review would be nice. Sometimes it's a bit too easy to get caught up in the fanboyism of the latest and greatest technology.

    Posted by: Jacob Atzen | April 12, 2008 5:41 AM



  6. What I find most interesting about GitHub is that it's a truly niche social network in that people not in the niche will completely be baffled when they visit it. It's so in tune with the culture and practices of the Ruby developer world to the point of being remarkable because it demonstrably enhances the users' experience in a way no one (but the GitHub team) could have imagined.

    Signed, Yet Another Paying GitHub User

    Posted by: Luigi Montanez | April 12, 2008 7:38 AM



  7. @Ann: In addition to what Jack said in comment #4, I also want to point out that the quote you pulled from the post was a quote from a user testimonial on the GitHub page -- i.e., you were ascribing an outside quote (clearly marked as such) to the author of this post (uh, me). That's not really a fair argument, don't you think?

     Posted by: Josh Catone Author Profile Page | April 12, 2008 7:47 AM



  8. 4. "Ann, have you used GitHub at all? If not, then your comment is just as meaningless as is mindless cheerleading."

    I hadn't used it because I couldn't find the list of projects without creating an account. Why is the link to the project list buried at the bottom of the page in a block of plain text with several other links? The message that user interface design sends is - "we don't care about public users"

    6. "a truly niche social network in that people not in the niche will completely be baffled when they visit it."

    Wha? Who who has used Google Code would be "baffled" by GitHub? Now that I found the project list, it looks exactly similar to the features of SourceForge or Google Code, except that it uses git. - a way to watch projects, a wiki, code repo, rss, mailing list, etc.

    7. "the post was a quote from a user testimonial on the GitHub page"

    Right, I tried to indicate that by putting quote marks around your quote marks and referring to that person as "the gusher" to differentiate them from you.

    Still hoping someone points out (other than using git and linking to other paid commercial services) why GitHub is so much better than Google Code - and if using git is the main reason, what happens if/when Google Code starts allowing git as a repo option on Google Code?

    Posted by: Ann E. Mouse | April 12, 2008 2:16 PM



  9. @Ann, even if Google Code added git support, I'd still much prefer GitHub because of its social networking qualities. For instance, I can subscribe to an RSS feed that includes all the activity of my own projects, forks of my projects, and other projects that I'm interested in. This enables me to effortlessly keep my finger on the pulse of all the projects I'm involved with or interested in.

    Another slick feature is the network graph. It aggregates all the work that has been done in forks of your repo. In essence, it acts like a TODO list of code that you can pull back into your own repo. Here's the network graph for merb-core: http://github.com/wycats/merb-core/network (drag the main area to the right to see the whole graph).

    Being able to comment on commits is also pretty sweet: http://github.com/rails/rails/commit/162c7c1908946cfb48c201cfc5a4976a33c8bff1#comments

    Posted by: meekish | May 9, 2008 11:24 AM



The ReadWrite Real-Time Web Summit
RWW SPONSORS


FOLLOW @RWW ON TWITTER

ReadWriteWeb on Facebook



TEXT LINK ADS