There are many things to think about in the early stages of an open source software project. Some of the most important relate to how that project will be managed, including where to host the version control system, how to set up the mailing lists, and so on. A hosting website can help you with many of these decisions by providing these and other basic features, as well as several more advanced features, that will help you to manage your project efficiently. Many hosting websites offer their services free of charge to software project that hold an open source licence.

SourceForge is one of the best-known hosting sites for free and open source software development projects. As of February 2009, more than 230,000 software projects and more than 2 million users have registered on SourceForge, making this hosting site the largest collection of open source tools and applications available online.

SourceForge offers the basic hosting services that any open source software project needs, such as mailing lists, a source version control system and an issue tracker. It makes the process fairly easy by enabling some of its services by default. SourceForge also provides many other services, ranging from web analytics to code review and even a service for URL shortening - an enormous array that can be confusing to new users. This guide discusses some of the most commonly used services and is intended to help you to get started.

Hosting services overview

Some of the hosting services SourceForge offers are provided by means of so-called hosted applications. These are widely used third-party open source applications such as Mantis, which SourceForge offers to its users as a service via its website. For you as a user, there are a couple of benefits to using these. Firstly, you will be able to use the full functionality of such an application without having to manage an installation of it yourself. This means that upgrades and security updates are arranged automatically. Also, you can use all of the applications via your SourceForge account, so you don't have to worry about managing separate logins for every application.

Below is an overview of all the third-party applications that SourceForge offers, grouped according to their purpose. You can find more information on the SourceForge website.

Function

Application

Blogging

WordPress

Bug tracking

MantisBT, Trac

CMS

phpWebSite

Forum

phpBB

Guestbook

AN Guestbook

Idea brainstorming

IdeaTorrent

Image gallery

Gallery

Microblogging

Laconica

Project management

!dotProject

Surveys

LimeSurvey

Task management

TaskFreak!

URL shortening

sfurl

Version control management

Subversion, Git, Bazaar, Mercurial

Web analytics

Piwik

Web-based Code review

Codestriker

Wiki

MediaWiki, Trac

All of these applications can be activated on the website via an opt-in procedure, making them fairly easy to use. SourceForge offers many more services besides these hosted applications; a complete list can be found on their website.

In the next few sections we will focus on the most commonly used services, explaining how to get started on SourceForge by creating a project and setting up some basic services.

Creating the project

It is quite easy to create a new project on the SourceForge website. This is done by clicking on the menu item 'Create Project'. When you click on it, you will be asked to log in. You therefore have to create an account with SourceForge first. Alternatively, you can use an OpenId account.

After login, if you have used the 'Create Project' link, you will be redirected to a page where you are required to provide the basic details of your new project. This first screen is shown in the screenshot below.

RegisterProject_1.JPG

The following fields have to be filled in:

Name

The name of the project can be chosen freely.

Project identifier

Besides choosing a name, you will also need to choose a project identifier. This has to be unique within SourceForge and will be used to determine the url of the project, i.e. what people will have to type after http://sourceforge.net/projects/. We advise you to use the name of the project for the url if possible. This will increase the visibility of your project, because search engines such as Google give higher ranking to pages that have the main topic of the webpage processed in the title.

Description

Think of a simple, concise description that explains what your project does in one or two sentences. People that go to a website usually decide from the first two sentences whether they are interested in finding out more, so it is important that these sentences provide a clear and accurate description. You can then add a paragraph containing more detail about the project.

To make sure that your project will be found by users who search for new software, it is useful to fill in all the categories that relate to the project. SourceForge uses the so-called Trove system to categorise the software. The following main categories are available:

Hosted features settings

After you have created your project, SourceForge automatically enables a couple of their services for you. These and all the other services can be managed from the menu item 'Project Admin' > 'Feature Settings', as shown in Figure 2.

RegisterProject_2.JPG

Make sure that you go through this list to check whether you will be using all of these services. We advise you to disable those that you will not be using. This will make the layout of your project on SourceForge cleaner, and your visitors will not be distracted by features that are not in use.

Some of the most important services that are enabled by default are discussed below.

Mailing lists

In open source software projects, there are usually several groups of stakeholders. For example, there are one or more groups of (prospective) users of the software and there are developers building and maintaining the software. When you are setting up new mailing lists, it usually makes sense to create a separate list for each stakeholder group.

You can create and manage mailing lists from the 'Feature Settings' page. On this page, the option 'Mailing Lists' is enabled by default. By clicking the 'Manage' link, you can manage the mailing lists. SourceForge uses the popular mailing list manager tool Mailman for this purpose. All the mailing lists you create within your project will be of the following form:

The name of the mailing list must be at least four characters long, unless it is named 'cvs', 'git' or 'svn'. These latter examples are common names for the mailing lists that are set up to send automatic updates from the version control systems CVS, Git and Subversion, respectively.

Issue tracker

Four tracking systems will automatically be enabled when you register your project. These are:

All of these lists are publicly visible and ready to use. You can edit the preferences for each list via the 'Manage' link in the 'Feature settings' menu. For instance, you can enter your email address or that of a mailing list to which to send mail on a new issue submission. You can also specify other settings, such as whether you want to allow non-logged-in postings (enabled by default) and the number of days within which assignees are expected to react before an issue becomes overdue. This last setting is particularly useful for reporting purposes. There is a variety of reports that you can configure or use with the default settings.

Version control

The use of a version control system is essential to any open source project, as it means that all source code contributions to the project are automatically recorded. This will help the project administrator to manage intellectual property rights (IPR) and collaborate with contributors. If you are unfamiliar with version control systems this OSS Watch article can help you get started.

After you have created a SourceForge project, a Subversion repository is automatically made available to you. This is where all source code contributions will be recorded. You can then enable notification emails by creating a so-called hook from the Subversion management page ('Project Admin' > 'Feature settings' > 'Subversion' > 'Manage'). On this page, there are a number of hooks that you can use without any configuration. Two of these are for sending email when a new commit has been made. If you select one of these and click 'add', you will be asked to fill in an email address on the next page, for which you can use the address of a mailing list that contributors can subscribe to, e.g. myproject-svn@lists.SourceForge.net.

Although Subversion is enabled by default, you are don't necessarily have to use it. You can use any of the following version control systems instead, by simply checking the box in the 'Feature Settings' menu, tab 'Available Features':

Administration of these tools may vary, but there is a comprehensive help page for each system when you click on the name of the tool.

If you are already using Subversion and have it hosted on a separate server, you can provide a link to that server from the Subversion management page. Make sure that you have enabled anonymous access, so that everybody can check out the source code easily and without registration. This will lower the threshold for participation in your project.

Wiki

Also readily available from 'Feature settings' are the options 'MediaWiki' and 'Trac', which can both be used as wiki systems. After you have enabled 'MediaWiki', you can go to the 'Enabled features' tab to manage your new Wiki installation. On the main wiki management page, there is a whole list of options, one of which is 'Preferences'. When you click on that link, you go to the preferences page. On this page, you have to confirm your email address first, by following the instructions. After that, you can edit your email preferences. By default you will receive an email when one of the pages in your watchlist is edited. If you wish to receive an email on every edit only initially, you can specify this in the watchlist settings.

Licensing

By accepting SourceForge's Terms of Use, you are also accepting that the software that you will make available will be released under either a certified 'OSI-Approved License' or another type of licence that complies with the OSI's Open Source Definition. This leaves you with many options. If you have not chosen a specific licence yet, you may find the OSS Watch briefing note on this topic informative.

Alternatives and barriers to SourceForge

Although SourceForge forces the projects that it hosts to be released under an open source licence, SourceForge itself is owned by the private company GeekNet. The software that SourceForge ran under was originally also open source, but this changed in 2001, when the company VA Linux took it over and started using proprietary software. This led to a move away from SourceForge for some projects and the inception of alternatives like Savannah. The presence of advertising on the website is another reason some people choose not to use SourceForge, because this promotes non-open source software.

All in all, however, SourceForge is a feature-rich hosting website that offers a broad range of services for open source software projects, whether they are new to open source or more experienced. For novices needing to decide which features to use, it provides a default set-up that has many relevant options enabled. For those requiring more than just the basics, SourceForge also offers a wide range of more advanced services.

Further reading

SourceForge links:

Alternatives to SourceForge:

Related information from OSS Watch:

OSSWatchWiki: CreatingSourceForgeProject (last edited 2013-04-15 13:56:17 by localhost)

Creative Commons License
The content of this wiki is licensed under the Creative Commons Attribution-ShareAlike 2.0 England & Wales Licence.

OSS Watch is funded by the Joint Information Systems Committee (JISC) and is situated within the Research Technologies Service (RTS) of the University of Oxford.