# Hosting site for a small scientific library

For my research work I have been developing a small C++ library aimed at facilitating the communication between C++ computational codes and Octave/Matlab (when the latter is used for post-processing purposes).

I would like release such a library under GPL on some free hosting site such as Sourceforge or Github.

Honestly, though, I'm lacking in experience to choose which site better suits a (small) library as mine.

On one hand, github looks to me more immediate, on the other hand, Sourceforge is a reference site for scientific codes, many of them are hosted there.

EDIT: I enlarge my question.

The library I am talking about is a small project ($\approx 15K$ CL, currently in a private repo on bitbucket), almost personal, which followed 2 years of boring technical requests by my supervisors and 6 months of code design (mostly by trial and error).

After some inquires I noticed that sourceforge has a nice mechanism allowing one to make statistics about visits of the project page and downloads, thus people (users) just downloading the lib to use it (if ever any) can be somehow counted.

Github, on the other hand, looks way easier from the point of view of developers (here I mean someone that is interested also in analyzing,extending,forking the code).

-
I have a couple clarifying questions to ask :) What version control system are you using? Are you interested in making the entire history of your code available, continuing development, and accepting contributions from other users? Are you interested in receiving citation credit when the software is used for academic work? What factors do you think will be the most important when choosing a hosting site? –  Aron Ahmadia Nov 4 '12 at 17:56
@AronAhmadia, Sorry for the late reply. I will expand my question answering to your questions ASAP. –  Acorbe Nov 5 '12 at 9:06
Take a look at software.ac.uk/resources/guides/… –  David Ketcheson Dec 14 '12 at 20:35
@DavidKetcheson, it seems to have the answers I need, thanks –  Acorbe Dec 14 '12 at 20:39

Whatever site is better will depend on your own appreciation of it.

Although it might be tempting to promote whatever system I prefer personally, I believe that the correct choice has more to do with your personal preferences and style of working...

How many developers work on your project? How often will you be updating it? How likely is it that somebody will want to fork it? What revision system are you more comfortable with? Which user interface do you prefer?

Honestly, both SourceForge and Github are mature sites and both offer some awesome tools. But if you're not comfortable using them, then however amazing other users may say they are, they will be of limited benefit for you.

Both sites are equally good, they just choose to do things differently. They are both well referenced by search engines and downloading software from one is just as easy as from the other

I would strongly suggest you look at both and see what you're most comfortable with. Again: Which site is better will strongly depend on your own style of working and personal preferences.

-
Sidenote: as of 2012, most people are using GitHub or moving there. –  Juanlu001 Nov 4 '12 at 7:53
@Juanlu001: That's an interesting claim, do you have a source for it? In any case though, if you're just not that into git, then you'll probably be more comfortable using some other site. –  Pedro Nov 4 '12 at 13:01
@Juanlu001, May we consider "users" for a second? I do agree with your point when considering people developing codes because into computational science. What about people that are more into math and that - occasionally - write codes? –  Acorbe Nov 5 '12 at 12:23
@Juanlu001: Sorry, that doesn't cut it. The number of commits has more to do with how the underlying revision management system works. Do you have any numbers on the number of new projects started, or downloads, per month? Kudos, though, for openly admitting that you had no data whatsoever to support your original statement. –  Pedro Nov 5 '12 at 20:05
@Pedro, I see your point and in fact I would like to correct and clarify myself. Talking of number of users, it is not true that most people are using GitHub: according to GH home page there are ~2.5 M users, and in SF according to sourceforge.net/blog/sourceforge-myths there were ~3.5 M users in late 2011. OTOH, some worthy scientific projects like NumPy, SciPy and matplotlib have migrated to GitHub lately with great rejoicement, but the latter is another subjective statement that I find no way to support. –  Juanlu001 Nov 5 '12 at 21:41

Go for Github.

The publication model of Github is the future. Github's model of forking, pull requests, and merging is very close to the model of scientific publishing. Many scientific communities are using Github to host data and code of their research projects. There are open access journals that use Github as their sole means of submission and publication. Plus, you will get a better Google ranking and thus more prospective users. Sourceforge is slow and mainly hosts dead projects. Many actively maintained projects have moved from Sourceforge to Github in recent years.

-
That's what I will likely do. My inquiries are driving me exactly to this point. –  Acorbe Nov 13 '12 at 9:03

Google code is another option as they offer svn/git/hg and almost everyone has a Google ID.

Whatever site you choose I would recommend putting a tarball somewhere right at the top (some sites already do this) as most people are not familiar with revision control and departmental servers across universities often run a 5 year old OS which if one is lucky may have svn installed.

-

Yet one other option is to use Bitbucket. It is very well compatible with Mercurial (Hg). My personal experience with Hg is that it is a simple yet powerful version control system. I believe it is much more suitable for personal software development. For large groups, I would also suggest git and consequently github. Still, I'm pretty satisfied with bitbucket and its features. I started the project with a private repo (where you can have infinitely many, including a project for your thesis and scientific papers, as well) and when the project was mature enough - I converted it to a public release.

If you are not familiar with version control, especially in Mercurial, I suggest HgInit. A colleague of mine showed me this page when I first wanted to start to use revision control. I found it useful.

-
I agree. Hg in my opinion has a smaller learning curve as opposed to git. –  stali Nov 9 '12 at 16:52