Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

For the past 6 months or more, I've been seeing many codes hosted at 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?

share|improve this question
I would also add that no site makes it easier to interact with code right away than github. Most sites hide the source-code behind several menus. Github also includes links to just about any other task you could right there on the project home without all the junk everywhere (looking at you sourceforge). – Xeoncross Sep 12 '12 at 17:11
I was wondering the same thing, so I went and signed up, and pretty soon I was sold, too. I switched all of my projects over, and got all my clients on board as well. – lorddev Sep 14 '12 at 6:28
because github is a nice place and git is better than cvs? – user1249 Sep 14 '12 at 13:42
I agree with @Xeoncross. As another example, with bitbucket, the default active tab is "overview" which presents you with metadata and a bunch of other noise. The "source" tab is the 4th over and doesn't stand out at all. What a usability nightmare. I'd be surprised if the people behind bitbucket actually enjoy using bitbucket. – wilmoore Sep 17 '12 at 18:37
Also note that github is one of the most popular places (together with topcoder) that technical recruiters are checking. – ierax Sep 17 '12 at 20:15

7 Answers 7

up vote 86 down vote accepted

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.

share|improve this answer
Also note that GitHub's feature set rapidly became far more attractive than any other DVCS hoster offered (including self-hosting). So, part of the answer is that GitHub is sexy. :-) – Martijn Pieters Sep 12 '12 at 10:50
@MartijnPieters: ...except for free private hosting, which BitBucket had been offering for ages. – Den Sep 12 '12 at 12:32
Other websites offer DVCS. In the particular case of SourceForge, I simply think the reason is that the website is utterly horrible, never mind the supported version control systems. – Konrad Rudolph Sep 12 '12 at 12:41
@Den Yea, I really don't know why BitBucket isn't more popular. It has private hosting and let's you choose between Git or Mercurial (which I like Mercurial a lot more) – Earlz Sep 12 '12 at 13:39
Github and Bitbucket operate on two different business models. Github offers almost its' full feature set for free and makes you pay for private repos (bar the free Bronze plans it gives to anyone with a .edu email address. Bitbucket offers both public and private hosting but charges you for the [hopefully] productivity-increasing extras. If you don't have a reason to hide you code, Github seems like the more logical model. I do think Bitbucket is coming around though -- I certainly like Sourcetree better than Github's native git GUI (not that I really use either).. – David Cowden Sep 13 '12 at 8:21

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
share|improve this answer
+1 for the network effects explanation. But I really think SourceForge was much bigger than Github before the sudden rampant migrations... and you almost sound like a Github employee... – Chibueze Opata Sep 12 '12 at 14:19
Additionally, consider the creation of the GitHub for Windows client - for the first time, as a Windows developer, I don't feel like a second-class citizen when it comes to using Git for source control, and GitHub is responsible for that. – Carson63000 Sep 13 '12 at 2:03

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.

share|improve this answer

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":

enter image description here

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.

share|improve this answer
+1 We all know that in the end, graphs are all that matter. – Xeoncross Sep 17 '12 at 18:51
It's also fantastic for finding the most maintained branch. I recently had to find which fork of a certain repository was actually maintained (non-trivial because the more up-to-date forks hadn't yet floated to the top of a google search). – tjameson May 4 '13 at 20:20
also, it seems github can show clone statistics, while I cannot find a single way to do that on sourceforge :( – Aquarius Power May 13 at 2:56

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.

share|improve this answer
With Google code, I can star issues, which lets the devs know which issues are important to the community and helps me keep track of progress. Github only seems to have anonymous following, which can lead to comment spam (+1, me too, etc). This is significant for popular projects with limited resources. – tjameson May 4 '13 at 20:25

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).

share|improve this answer

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.

share|improve this answer
Another IDE that added Git support is Visual Studio, in version 2013 and later. See for details – Bernard Vander Beken Mar 10 at 11:10

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.