Why are many programmers moving their code to github?

For the past 6 months or more, I’ve been seeing many codes hosted at sourceforge.net as well as other hosting sites “Move to GitHub”. A mere Google Search with the phrase “Moved to Github” returns several results containing the text moved to github. This is very confusing for me, and I’m wondering, why exactly are people moving? Does it mean that GitHub is better or is there some special advantage I’m not seeing?

7

This is a symptom of a wider migration towards distributed version control systems.

Some websites which traditionally hosted non distributed VCS (eg Codeplex & SourceForge) were a little slow in adding support for DVCS (eg Git or Mercurial). So, people who wanted to use DVCS for their project were forced to migrate their projects over to the providers which supported them (eg Github or BitBucket). Github was one of the first to offer DVCS support and so naturally a lot of people migrated their code there in order to take advantage of it.

Those other websites are only now starting to catch up to DVCS (Codeplex for example now supports Mercurial & Git), but they are still a way behind in terms of features such as forking and submitting pull requests. To really take advantage of DVCS Github and Bitbucket are still the best options.

12

Project hosting is infrastructure. Infrastructure exhibits network effects, which means that infrastructure gets more useful the more people are connected to it. (In particular, the usefulness is O(number_of_connections), which means that for any individual member it is O(total_members) and for the whole system it is O(total_members^2)). This, in turn, leads to an effect called natural monopoly, which means that it is natural for such a system that only one competitor will survive, since the usefulness is maximized when everybody uses the same system.

So, it makes sense to join the market leader, which is GitHub. There are more repositories, more users, more branches, more revisions, more everything on GitHub than on SourceForge, Google Code and CodePlex combined.

The interesting question is, of course, if network effects mean that the market leader automatically obtains a natural monopoly, how was GitHub able to break SourceForge’s?

And the answer is, by being so disruptive that the pain of joining a much smaller infrastructure was worth it for the early adopters:

  • GitHub was the first to offer Git hosting with a feature set comparable to that of SourceForge (or at least that part of SourceForge that most people used)
  • GitHub was cool, from a UI standpoint: slick, modern Web UI
  • GitHub was cool, technology-wise: Ruby on Rails, Sinatra, Erlang, node.js
  • GitHub was Web 2.0, with its focus on Social Coding, and Users over Projects

2

I think one of the reasons is different audience: sourceforge is primarily for hosting applications, probably the most prominent feature of a project page is a link to the compiled executable (or some other download). In other words, it’s targeted at users, not developers.

On the other hand, github is primarily for hosting source code, the most prominent feature of the project page is directory listing of the master branch. It’s targeted at developers (either wanting to modify or use code from a project), not users.

I think this is one of the reasons why developer-targeted tools and libraries are moving to github.

Sourceforge also offers Git, but Github just does it better (for now).

  • Their pull request system works nicely (much better than Gitorious for instance)
  • Their recently-upgraded notification is very convenient.
  • They show the code right away

Their killer feature, in my opinion, is the “Network graph”:

Difference with gitk: it also shows you what is going on in other people’s branches (without having to pull their branches), which is very important when collaborating.

3

GitHub is simple, easy-to-use, easy to get started with, powerful and looks great and is Web 2.0-ish.

I use GitHub, and I find it remarkably easier to use than SourceForge, which had its power hidden behind a series of menus and required fairly elaborate operations to get anything set up. And I’m a programmer.

In addition, I think there is one more powerful feature: whether its an individual wanting to publish their first open-source project somewhere, or teams that want to collaborate on a commercial (private) project, GitHub “scales” perfectly well for almost all use cases.

End of the day, I think its about human psychology. Is the product easy to use, easy to start using, inexpensive (or free) … does it look good and is it something I would recommend to my friends? For GitHub, I would answer yes to all those questions.

1

You’ve also got to take into account some pretty smashing features offered by github that I’ve yet to see mentioned.

  • github pages with github flavored markdown
  • github mobile app
  • github eclipse plugin
  • github for mac
  • github jobs
  • github for windows
  • github ticketing/bug tracking system
  • github developer api which allows for seamless third party
    integration
  • frequent UI updates/enhancements (you can literally see the changes
    from one day to the next i.e. search text box now dynamically expands
    on focus, watch became the new star button, etc.)
  • github gists (good
    for utility scripts, short code snippets, etc.)
  • seamless github integration via hub

Other sites may have these features but I’m pretty sure no site out there has them all.

These guys are practically everywhere…slowly dispersing their technical goodies throughout the web and desktop alike. They’re only getting bigger and better as we speak and they hire the finest of engineers (they even managed to steal Phil Haack from Microsoft…go figure).

One additional reason that may be drawing additional developers to GitHub is that developer tools are starting to embrace git, and platforms like Eclipse now have Git support built in out of the box (applies to the packages for Java, C++ Developers, etc), making it take less steps to get your project uploaded to GitHub.

1

To be honest, the most important thing of Git for myself when I see it:
1. Network Graph or Should I call the History(also commenting)
2. Branch and Pull Request
3. It’s more powerful, really, I would say it’s so feels like I have a secretary holding all my work, and I can told that sec to wrote down anything for me, the change, everything!
4. It’s easy to rollback

Just it. Feels sexy using it

2

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật