I want to start an open source project, but the rise in hosting sites leaves me a little paralyzed with choice. I know a little about several:
Does anyone have any experience with these sites or some other cool code host? Any recommendations?
The following list and my criteria are totally subjective and someone else may choose different sites and has different things that are important. But I hope my list gives some help for choosing a good platform for hosting your software. I talk here only about my personal experiences with the platforms, someone else may share other experiences in other answers.
An source-hosting-platform consists for me mostly for three features: Version-Control, Bugtracker and a possibility to provide downloads. All entries listed here match these criteria. But especially the bugtracker is of varying quality in these different platforms. Also many sites offer additional features, that may be useful.
There are no special support for different operating systems, as wrongly stated by another answer. That shouldn't influence anyones decision.
Sourceforge is the grandmother of open-source hosting platforms. It has many features, like Mailinglists, a Wiki, Forums, support for many version-control-systems, a shell-server, statistics and much more. Sourceforge is one of the few platforms that allows to submit issues anonymously. Since 2001 the software behind Sourceforge became Closed-Source, before it was open-source. In my opinion the main project-site gets fast too crowded. Too much information at once is a little bit confusing. The UI can be used without Javascript for normal users, but project-admins will need Javascript for some functionality, especially for file releases. Sourceforge allows to access all sites via https. Sourceforge has advertisements on the sf-sites (the site it hosts for you is fully under your control and contains no ads, except you put them there). The killer-feature are without a question the hosted apps. If you dislike the (mediocre) issue-tracker from sourceforge - deactivate it and use Trac or Mantis. You can also deactivate the forums and use phpBB. Wordpress, Mediawiki or different project-management-tools are other options. Hosted apps are a great addition.
Sourceforge is no good start for beginners, because it's so complicated and the interface so cluttered. But if you miss certain features, you may be right on Sourceforge. You have a shell, you can setup your own websites for the project, you have access to a vast amount of hosted apps. Mailinglists are also an feature only few sites are offering.
As Sourceforge put its interface-software under a propietary license, some sites took the older open-source-version and started own hosting services. That means the sites have the older features of Sourceforge, but developed a little itself from that.
These two hosting-sites are build around the features of distributed version-control. That's why the sites can handle different branches for a project. The issue-tracker of GitHub needs Javascript to work, with BitBucket it works without Javascript. If activated the issues look somewhat confusing, but it works. An account is needed to create new issues.
GNA! and Savannah both use the same software, I tested GNA some time ago. Both are hosting-platforms of the GNU-project, but also non-gnu-projects are allowed, if they conform to free licenses and can run on a completely free system (for example: Windows-only-program are not allowed, but multiplatform Linux/Windows-programs). Interesting is, that GNA also allows Documentation- and Organization-projects. GNA supports releases, projectsites, issue-tracking, news. Nice feature is, it hosts the GPG-key of project-members. Clean UI, seems a good choice. I would have tested it, but I never got the e-mail for validation of my account, so I wasn't able to use. Hopefully a temporary problem. GNA hosts more than 1000 projects.
The hosting-platform from Google. It has the nicest and cleanest interface of all contestants. It has a Wiki, Downloads, an issue-tracker and supports subversion and Mercurial. Projects get tags and you can search for the tags. Google restricts the licenses you can choose, but as the accepted licenses are very common Open-Source-Licenses, that seems no big problem. The problem for me was that you need a google-account. So Google can gather much data from the different services they have and can combine all the data for you as a user. Even worse: Every user who wants to submit a bug has to sign on for an Google-account. Google might be not evil, but I don't want to give them the chance to become evil. Besides that the platform looks very good.
Launchpad is the platform of Ubuntu, but it can be used by everyone. It has many function, but the downside of this is, that the usage of the platform can be confusing. Launchpad provides you an OpenID. You can add your GPG- and SSh-keys. It is easy to use external version-control, launchpad can mirror many VCS into an internal bazaar-branch. It has special support for translation. Additional to the bugtrackers users can submit questions for you to answer. Launchpad supports multiple branches for a project.
Launchpad can easily mirror external version-control-system. That's why it can be used additionally to another hosting-site.
Origo is created by the ETHZ, a well-known university in Switzerland. Origo has a clean UI, supports Wiki-sites, Forums, a blog and releases (no mailinglists). The issue-tracker is simple in the usage. The supported version-control is Subversion. Origo support software-and non-software-projects and also Closed-Source-Projects. Origo has some basic social-networking abilities like friends.
Tigris has a nice website, supports Subversion and has also releases and mailinglists. The issue-tracker is overcomplicated in my opinion. Tigris is restricted to only projects, that create tools for software-developers.
CodePlex is Microsoft's open source project hosting web site. Codeplex has a somewhat crowded User Interface, but it is clearer than Sourceforge. Seems to be used strongly for .Net-Development.
HUGE GitHub [1] fan. It only takes a day or two of regular use to get used to Git. Of course it takes months to get really good at it, but the basic functionality really isn't that hard.
GitHub [2] (well, Git in general, but GitHub even more so) makes forking and branching so easy that open source becomes truly a social activity. Much more pleasant than all of the bickering back and forth about commits in SVN.
[1] https://github.com/I don't think there's a single "best" site, so I think the two most important things to consider in choosing an open source project hosting site are:
What development capabilities you want (such as source control type)
Which has a user audience that best matches your software (for example what operating system does your project software run on)
There are dozens of different open source project hosting sites, but the four major ones (in terms of site traffic, users and projects) are: CodePlex [1], Google Code [2], GitHub [3], and SourceForge [4].
While many sites have good development features, I would recommend first considering one of the major ones since they have a much larger user base and so in all likelihood your project will get more downloads and contributions if hosted on one of them. They will also help with things like the search engine rankings of your project since their domains generally have the highest importance with the search engines.
Here's a good "cheat sheet" decision tool for picking among the four major sites:
If your software runs on Windows, then CodePlex [5] has the most Windows oriented user base, and also has some Windows only features none of the other sites have (for example, Live Writer and ClickOnce support).
If you want to use Git, then GitHub [6] is the obvious choice. SourceForge also offers Git, but very few Git users pick SourceForge over GitHub.
If you want to use Mercurial, then CodePlex [7] offers the best Mercurial support among the four. Though BitBucket [8] is another good site for Mercurial support that's more popular among Linux and Mac users.
If you want to use Subversion, then Google Code [9] offers the best Subversion support. Though the other three do offer Subversion support as well.
If you want to use Team Foundation Server, then CodePlex [10] is the only site which offers it.
If you want to use CVS or Bazaar, then SourceForge [11] is the only one of the four that offer them. However Launchpad [12] is a good site for Bazaar support.
Here is more info on each of the four major sites with key comparison information about their development capabilities and audience (alphabetical order):
Development Capabilities - CodePlex is the best choice if you want to use Mercurial or Team Foundation Server for source control, although CodePlex also offers support for Subversion clients. CodePlex is the only site that offers Team Foundation Server, and provides better Mercurial support than either Google Code or SourceForge (e.g. only CodePlex runs the latest version of Mercurial while the others are multiple versions behind). CodePlex also has the largest number of .NET developers so if you're project is written in .NET and you're looking for other developers to join your project then it's the best place to find them.
Site Audience - CodePlex has the highest concentration of users running Windows, so if your project software runs on Windows then it's the best place for your project to find users. CodePlex also does a good job of promoting projects through things like its project search and directory, RSS feeds, search engine indexing, etc.
Development Capabilities - GitHub is the best choice if you want to use Git for source control, although it also offers support for Subversion clients. GitHub offers better Git support then SourceForge since Git is really the core of what GitHub is about. GitHub was the first of the four sites to support a DVCS (distributed version control system), although all four now offer a DVCS option. GitHub also has the largest number of Ruby developers, and a large number of JavaScript developers, so if you're project is written in those and you're looking for other developers to join your project then it's the best place to find them.
Site Audience - GitHub probably has the largest Mac user base of the four sites, as well as a strong Linux user base. It has the smallest number of Windows users of the four sites. GitHub does a good job of promoting projects with it's project search and repository list, trending repositories, search engine indexing, etc.
Development Capabilities - Google Code is a good choice if you want to use Subversion for source control, although it also offers support for Mercurial. SourceForge also has good Subversion support, but between the two, developers tend to prefer Google Code over SourceForge. Google Code has a very large number of Java and Python developers, so if you're project is written in one of those and you're looking for other developers to join your project then it's the best place to find them.
Site Audience - Google Code has a pretty balanced audience, but does very little to help promote projects. Ironically, their project search is not very good (e.g. search for "blog" and not a single blogging software project shows up in the first page of results). Generally out of the four sites it will offer the least benefits in getting project downloads.
Development Capabilities - SourceForge is the best choice of the four if you want to use CVS or Bazaar since it's the only one that offers them, but is also a good choice for Subversion. Although SourceForge is the most criticized by developers of the four sites for site quality and reliability issues.
Site Audience - SourceForge has by far the largest user audience with over 20 million visitors a month, and the largest number of Linux users, but generally has a lot of users of all types. However because the site hosts hundreds of thousands of projects the audience is very diluted so can make it difficult for new projects to get downloads. SourceForge does offer good project promotion features such as project search and category browsing, popular and active projects, etc.
Besides the four major sites, Wikipedia offers a good list [17] of various other open source project hosting sites with some information about things like features and popularity.
[1] http://www.codeplex.comlabel:blog
. - DMan
GitHub [1] is the clear winner in my book. Even if you don't know git, it's easy to get the basics down, and they have a good selection of guides available.
[1] http://github.comNotepad++ has moved from sourceforge.net to tuxfamily.org in 2010 because Since January 2010, SourceForge has complied with US law to deny site access from 5 countries (Cuba, Iran, North Korea, Sudan, and Syria).
If you are creating a globally accessible project, then move away from sourceforge to some other code-hosting providers.
Codeplex [1] and Google Code [2] are my favorites.
Assembla [3] is another option that seems to be gaining popularity.
EDIT: This answer is pretty out-dated. I'd go with github [4] now for sure.
[1] http://www.codeplex.com/I've tried 2 project hosting sites:
I'm now mostly using BitBucket.
[1] http://bitbucket.orgI have used both Sourceforge and Google Code, and would have to say that using Google Code was more intuitive, although I do agree with Mnementh's comments about Google accounts.
There is a good comparison list at ibiblio [1] showing many of the options available.
There is also a page on wikipedia [2] with some information as well. Have a look at the discussion page for comments and experiences.
[1] http://www.ibiblio.org/fosphost/exhost.htmA list of software hosting sites that support git [1], with a short description of each site, can be found at Git Hosting [2] page at git wiki. This list can be seen as completion for a well written and descriptive list given by Mnementh
The options for a software hosting site that supports darcs
are being collected at
Which public hosting sites for darcs projects are there?
[3].
I wouldn't necessarily call this the best site, but GNU's Savannah [1] is worth a mention, simply because of the importance of GNU in the history of free software. Savannah hosts non-GNU projects too, as long as they conform to the Free Software Foundation's guidelines.
[1] http://savannah.gnu.org/I've used Google Code for small-ish projects and enjoyed the experience: the UI is clean and helpful, and the basic bug-tracking and Wiki elements seem well-implemented, although our team didn't use them extensively. There's a 100mb limit, but we found it only seemed to apply to ASCII/text data; we uploaded more than that in images and there was no complaint.
I've never hosted anything on SourceForge, but many times I've tried finding both code and documentation there and I've found that to be more difficult than it should.
I also like Assembla as it has integration with Trac [1] built in out of the box which is pretty nice.
[1] http://trac.edgewall.org/I've never used Google Code, but I do agree that the SF UI is a bit archaic.
Google Code is very nice.
I've had really good experiences with DevjaVu. They basically give you a full Trac install with SVN. The only issue I've found is that their free account is rather limited, and anything outside of that is expensive.
Google Code prohibits commercialization. Meaning if you plan to latter offer your software in dual license terms, than you can not host it with Google. If you are fine with this, no problem. Do read the ToS of any host you would choose and let us know which one you choose and the reasons for the choice. Thanks.
If you want your project to succeed, it is important to be part of the right community. E.g., tigirs.org for developer tools, mozilla.org for firefox stuff, dev.java.net for general Java development, eclipse.org, netbeans.org, etc. If you don't qualify for one of those, then try SF or Google Code so that people can at least find you. If you don't care about people finding your code, then just keep it on your own harddisk.
I would like to add that google code compares much better to sourceforge - google code has a clearer interfaces, and much faster access. Yes, google code is feature complete - does not seem so because of the bias that sourceforge's cluttered face produces. The forum related activities can be handled through google groups - using google groups for software forum is a convention of all google projects.
I have used both sourceforge and google code, and now am heavily inclined towards google code. To me sourceforge seems to be degrading everyday, while google code is improving everyday.
Well, personally I use both Google Code and CodePlex.
IMO the problem with SourceForge is the high learning curve for admins and users and the complexity of some features.
I recently moved to Google Code - it takes a few minutes to get up and running, and it's very easy to use for both admins and users. It's also popular enough that people probably passed its learning curve on someone else's project.
I like to use Bazaar, so I host the code on Launchpad, and use use bzr-svn to keep the svn repository on Google Code updated - everyone knows svn, bzr is more niche. It's possible to do the same with Git + GitHub + git-svn or Mercurial + Bitbucket [1]/ freeHG [2] + hgsvn [3] (hgsvn is not near the level of git-svn or bzr-svn, but good enough to keep a read-only svn mirror).
[1] http://www.bitbucket.org/This is a great resource of information. I have been looking for a review on project hosting. Right now, the main ones I use (limited to 2 links...still a newbie):
http://create.msdn.com/en-US/ - Not really a host, but a community for XNA devs http://www.codeplex.com/
I've only used Assembla when dealing with Project Hosting Sites, a year ago after using it for a couple months, I decided to host my projects myself. This has many advantages such as:
On the other hand, this has disadvantages like:
It's up to you. Most of the time, I feel comfortable hosting on my own.
Hey, I almost forgot. These days almost any technology has it's "open source" or "free" version, so you would be able to host any kind of project.
Github is free and is where the Linux source is currently managed. It actually has relatively few ads and allows other people to run derivative projects of yours if they choose. They can then request that their modifications be placed into the main project.
I have had a good experience hosting a tiny project on CodePlex. The interface, while not the most beautiful in the world, is intuitive to use. The version control with the Subclipse plugin for Eclipse worked flawlessly.
I've only used google code, but I am more than happy with it. +1