Why SourceForge Lost

July 7th, 2011

A few weeks ago there was an article about how GitHub surpassed SourceForge as the #1 hosting site for open-source projects. Why did that happen?

Firstly, it's not entirely because GitHub's front-end is nicer or that Git is more flexible than SVN. These are commonly cited reasons, but for people to leave in droves, there has to be pain and unhappiness. Something has to be broken.

What you're really seeing is a fundamental fight of ideas. SourceForge is based around the idea of hosting open-source projects. GitHub is based around the idea of hosting open-source code. GitHub won.

Here are a few reasons why.

People outgrow SourceForge. SourceForge's idea is simple: you've just started an open-source project, but don't want bother doing the boring stuff (buying web hosting, creating a website, hosting binaries, setting up SVN, etc.) So you sign up, provide a few details, and bam, you've got a nice-looking little site for your project.

A SourceForge landing site

The problem is that this doesn't last. Using a SourceForge page as your project's homepage is fine in the early days. But once you get big enough, it's just not enough. The URL is long and doesn't seem permanent; the landing page is modular and boring, and it doesn't really convey that much information about your project. It looks like every other SourceForge project page.

So, virtually every popular open-source project will eventually leave the SourceForge nest and build their own site. This is Pidgin's:

Pidgin's new homepage

Just by looking at the two you can see the obvious advantages. Pidgin's site is bright and attractive; it has a catchy, easy-to-remember domain name (pidgin.im), and the developers can add whatever features they want to it without waiting for them to come down from the SourceForge Gods. Which leads us to the second issue:

SourceForge's services are all commodities. What's the problem with a download host, a forum script, a screenshot gallery, and a mailing list? They're all services that have hundreds of free implementations online, and SourceForge has to be better than all of them just to stay compelling.

SourceForge forces your entire community to be coder-centric. At first this sounds like a great idea -- after all, many of your early users are probably coders. But for any major open source project to reach the mainstream, it has to specifically reach outside the programmer bubble (think of Firefox, or Ubuntu). How can you do this, if interacting with your site in any meaningful way (reporting bugs, commenting on forums) yanks people away from what appears to be your site, and makes them sign up for something called "SourceForge"?

Now let's look at GitHub.

Big Github logo

GitHub isn't a project host. It's a developer's mecca. There are some project-like features, but they're for developers only. Most GitHub projects end up setting up their own HTML site early on, leaving the GitHub area for developers. Let's face it, if you're not a developer and you're on a project's GitHub page, you're lost.

Here's why that's better.

  • Code-based communities get more useful as you grow, not less. With project sites, the bigger you get, the more likely you'll need a custom-built site to handle your needs. With code, though, modularity sort of saves you as you get bigger. Having pull requests, easy community forking, news feeds, and so on makes handling a big project easier -- cooking up your own solution would just make it harder to get new developers on board.

  • Code-based communities are naturally stronger. There really aren't that many network benefits of shared project hosting. (You can comment at the Pidgin forums without signing up. Yippie!) But creating a community based solely around coding and creation creates much stronger ties. One reason people come to GitHub because it's a good place to find developers to work on your projects.

  • GitHub can get away with weaker side offerings. Don't like GitHub Issues? Just set up BugZilla on your own server and enable integration. Want to put a video on your SourceForge homepage but they don't support that? You're screwed.

By avoiding the trap of trying to be your only community, GitHub has ensured that developers will have little reason to leave. GitHub is a developer-only paradise, and they should keep it that way.

© 2011 Phillip Cohen