Where will you host your next code repository?
This question is not directly related to Bioinformatics but I ask the moderators to keep it open because source code hosting is an important aspect of this field especially.
I used Sourceforge, Github, and other open source code hosting provides...
GitHub is by far the best. It provides many great tools, such as pull requests. These don't exist anywhere else. You can do code review and bug tracking effortlessly.
I doubt that any of the hosting providers will bring you good traffic. Popularity will primarily depend on your project and will not depend on where the project hosted. However having an environment that facilitates collaboration will likely help your project to be that best it can be.
Thanks for the up-votes!
In terms of finding bioinformatics code, the social aspect of github makes it more likely that I will see new projects; if one of the 30 coders I'm following starts following a new project, I'll see that and at least check it out (so to speak). So if you put a project that has something to do with bioinformatics up on github, it's more likely to get noticed--and by people who can and will contribute to or use your project. And the site is simple enough that non-technical people can use it. I've never been able to get a biologist to use trac.
Github is excellent; my personal favourite with many features.
That said, I think that making your code available is more important than precisely how you make it available. Use a repository (Github, Sourceforge, Google Code, Bitbucket), or host locally (lots of web apps are available to interface with your version control system), or just stick it on a simple website for download. Just get it out there.
In terms of people finding it: advertise widely in the right places (twitter, mailing lists, a blog). Discovery basically comes down to "am I Google-able?"
It depends, of course, on your revision control system (git, mercurial, svn, etc.) IMO, and assuming that a distributed control system (such as git) is the best choice, GitHub is the current winner in terms online functionality and community. I enjoy a lot the
Hosting of source code is one aspect of a good (bio)informatics library, but other aspects are equally important. If we put this question in perspective of top notch scientific computing, we, or course, match the hosting service with requirements against a journal like the Open Research Computation (ORC). The journal wrote up a number of guidelines, organized in four categories ('support' not one of them (yet); e.g. on documentation for where and how users can file bug reports): Code and License, Documentation, Testing, and Example data. A good hosting service should help the project with fulfilling these requirements. For example, most hosts discussed here provide the means to comply with OSI-license requirements.
However, I am not aware any of them have built-in support for DOAP yet, or FOAF, or any other ontology allowing linking to the project semantically. SourceForge is furthest in terms of functionality, but also doesn't have an app yet for automatic building, such as Jenkins, which will help the project comply to some of the ORC guidelines, such as providing executables as well as testing.
Meanwhile, I have started a Google Docs spreadsheet to summarize compatibility of with ORC guidelines. Contributions are welcome!
Ping me if you like to contribute, and I'll explain what the various meanings are of columns and values.
I would also vote for Github and Git in general. I love the lightweight branching.
The other cool thing is gist which lets you put up 1 file scripts and keep up-to-date the same way as a full fledged repository. I find this is really useful for sharing code between co-workers/collaborators and I've even used it with non-computational (read biologists) for keeping track of text-data (like genes or regions of interest). Since there is a simple text-editor built into the website anyone can edit it with ease. And since its a git-repository there can be branches, revisions, etc. without any hassle of e-mailing lists around.
Google project hosting.
Here's the link to create a new project: http://code.google.com/hosting/createProject
It's the most collaborative. You'll have your code online, your friends added to the project and a couple wiki pages describing your goals all up within an hour. That's 50 minutes of writer's block, 5 minutes typing, and a maximum of 5 minutes setting up/figuring out the site.
- Check with your funding agency, or whoever is paying for your work first. They might have ideas of their own or an obligatory or preferred repository, or whatever.
- A large part of the strength of Open Source projects is that they become stronger through collaboration. So check with collaborators as well. What you are doing could in fact become part of a larger project in which case it might make sense to use the same repository or even to start integrating right away.
I use Github, and it's possible to purchase a private repo if you are not ready to distribute your code, or it's a private project. www.github.com
Another free alternative, with a superior UI in opinion, is bitbucket. www.bitbucket.org