The problem with SourceForge

SourceForge is dying. As it’s not anymore the most popular platform of choice for hosting open source projects, SourceForge started reacting very badly by adding shady ads to its site, and even mangles the downloads of the hosted projects by adding unsollicited adware, without a warning. See Ars Technica for a detailed description.

A number of projects have moved away from sourceforge after this. However, a lot of good projects may have lost their maintainer, and these projects may risk being lost if SourceForge dies or purges projects it judges “non-profitable”. On the other hand, GitHub is a saner and healthier alternative for hosting these projects.

What we do

ASFMirror is a collection of mirrors of such projects, on GitHub. Currently, the mirrored projects are:

This list is open to expansion: if you feel a project lacks a maintainership that could push the project elsewhere if sourceforge dies, you can send an email to <sfmirror AT indigo DOT re> so we just clone it here, or you can also clone the project yourself easily.

If your project was added here and you don’t want that, you can also drop us a line.

What content is mirrored of each project?

Currently, for each cloned project, we mirror its CVS (or SVN) repository and its website.

CVS/SVN

The CVS/SVN repository of the project’s code is converted to a git repository. If using CVS, There may be issues with CVS branches while mirroring.

Website

The website of the project, if hosted on sourceforge (url in the form http://<project name>.sf.net/) is mirrored. All pages are statically downloaded, meaning if the website was dynamic, like a wiki, or blog, we will only get a fixed snapshot. This is because we don’t have access to the site source or its database. We try to do the smallest notifications possible for it to work (a few links are converted). The modifications are automated, and may contain errors. The website mirror is done to a git branch (named “gh-pages”) of the project repo.

How to clone a project yourself?

This is the script we use to convert CVS to git. It relies on “git-cvsimport” or “git-svn”.

This is the script we use to import the project site to gh-pages branch. It uses wget.