Github looks great. I would like to share code in open source projects there. But with so many projects in sourceforge maybe more people will find my work there.
Where will you host your next code repository?
Github looks great. I would like to share code in open source projects there. But with so many projects in sourceforge maybe more people will find my work there.
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!
Yours Truly,
Alex (https://github.com/alevchuk)
I would and do put my stuff on github. I have moved projects from bitbucket and google-code and get more patches, bug reports and users on github. (Though I do like bitbucket and mercurial).
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.
@neilfws - what about the UCSC browser? must be more than just bioinformaticians using it to get 500,000 page hits day: http://moma.ki.au.dk/images/10yrGraph4.gif
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?"
jhc, I thought that github was only user focused myself, but looked into this more as a result of this thread on BioStar and found it is not the case. See more about GitHub 'organizations' https://github.com/blog/674-introducing-organizations, e.g. https://github.com/bioperl/
GitHub can support projects with user roles. See more about GitHub 'organizations' https://github.com/blog/674-introducing-organizations, e.g. https://github.com/bioperl
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.
Therefore, my next code hosting service is that provider that has to most functionality to comply to ORC guidelines. Currently, I have to live with GitHub, SourceForge, Google Code, and Bitbucket.
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.
Some practicalities:
Not to that extend. But NBIC the Netherlands Bioinformatics Center has its own SVN, with bug tracker, mailings lists and such and strongly encourages the use of that by funded projects. NuGO tried to achieve high visibility by having everything on their website, but did not extend that policy to code. Repositories for larger projects do in fact make sense. In Open PHACTS we decided keep things that belong to existing projects where they are, but describe and link to stable versions in a central repository, indeed to prevent redundancy.
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
Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
+1. My projects on github have been indexed by google really quickly. Which means good visibility ;)
Thanks very much for the suggestions and keeping this topic open. I asked it here because the projects are focused to Bioinformatics. It is great to see the interest in GitHub and intend to start using it!
+1. Github is the best choice for open-source projects hosting.