Differences between revisions 33 and 34
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| 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. Most hosting websites offer their services free of charge, the only requirement being that the software project holds an open source licence. | 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. |
| Line 3: | Line 3: |
| !SourceForge is one of the best-known hosting sites for free and open source software development projects. [ARE THERE ARE SOME HOSTING SITES THAT AREN'T FOR FOSS PROJECTS? SENTENCE AT END OF 1ST PARA SEEMS TO IMPLY THAT ALL HOSTING SITES ARE FOR FOSS 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 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. |
| Line 9: | Line 9: |
| Some of the hosting services !SourceForge offers are provided by means of so-called hosted applications. These are widely used 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. [<!> I HAVE MADE A FEW MINOR CHANGES TO THIS PARA - PLEASE CHECK] | 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. |
| Line 11: | Line 11: |
| Below is an overview of all the applications [JUST THE HOSTED ONES?] that !SourceForge offers, grouped according to their purpose. You can find more information on the [https://SourceForge.net/apps/trac/sourceforge/wiki/Hosted%20Apps SourceForge website]. | 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 [https://SourceForge.net/apps/trac/sourceforge/wiki/Hosted%20Apps SourceForge website]. |
| Line 31: | Line 31: |
| 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 [https://SourceForge.net/apps/trac/sourceforge/wiki/Comprehensive%20service%20directory website]. [SEEM TO BE USING 'SERVICES' AND 'APPLICATIONS' INTERCHANGEABLY; WE ALSO USE 'FEATURES' LATER ON - PERHAPS THIS IS DIFFERENT.] | 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 [https://SourceForge.net/apps/trac/sourceforge/wiki/Comprehensive%20service%20directory website]. |
| Line 33: | Line 33: |
| 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. [<!> ARE THESE COMMONLY USED SERVICES THE HOSTED APPLICATIONS MENTIONED ABOVE?] | 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. |
| Line 59: | Line 59: |
| * Intended Audience [DO THEY USE AN INITIAL CAP FOR BOTH WORDS ON THEIR WEBSITE?] | * Intended Audience |
| Line 70: | Line 70: |
| 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. | 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. |
| Line 82: | Line 82: |
| 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 [http://www.gnu.org/software/mailman/index.html Mailman] for this purpose. All the mailing lists you create within your project will be of the following form: | 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 [http://www.gnu.org/software/mailman/index.html Mailman] for this purpose. All the mailing lists you create within your project will be of the following form: |
| Line 86: | Line 86: |
| 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 used to send automatic updates from the version control systems from [<!> USED BY?] CVS, Git and Subversion, respectively. | 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. |
| Line 103: | Line 103: |
| 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).[<!> USE QUOTATION MARKS FOR 'SUBVERSION' AND 'MANAGE' TOO? WE NEED TO CHECK THIS THROUGHOUT] 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. | 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. |
| Line 105: | Line 105: |
| 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': | 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': |
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.
1. 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.
2. 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.
The following fields have to be filled in:
2.1. Name
The name of the project can be chosen freely.
2.2. 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.
2.3. 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:
- License
- Intended Audience
- Development Status
- Topic
- Programming Language
- Operating System
- User Interface
- Translations
- Database Environment
3. 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.
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.
3.1. 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:
<project identifier>-<name of choice>@lists.SourceForge.net
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.
3.2. Issue tracker
Four tracking systems will automatically be enabled when you register your project. These are:
- Bugs: bug tracking system
- Support requests: tech support tracking system
- Patches: patch tracking system
- Feature requests: feature request tracking system
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.
3.3. 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':
- Bazaar
- CVS
- Git
- Mercurial
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.
4. 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.
5. 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.
6. 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.
7. Further reading
SourceForge links:
Create project page (requires login) https://sourceforge.net/register-project/
Getting started guide from SourceForge https://SourceForge.net/apps/trac/sourceforge/wiki/Get%20started%20with%20your%20new%20project
Overview of the applications SourceForge hosts SourceForge website.
Overview of all SourceForge's services website
Alternatives to SourceForge:
Google code, Google's alternative project hosting site. See also Creating a Google Code Project.
Savannah, a FOSS alternative from GNU that runs on FOSS sofware from the project Savane.
GitHub is specifically for projects using Git as version control system.
Eduforge is a hosting website specifically focussed on the open source educational software development community.
Assembla offers hosting services with paid price plans for private companies, but also offer free hosting for open source and community projects.
Related information from OSS Watch:
What is version control? http://www.oss-watch.ac.uk/resources/versioncontrol.xml
Avoiding abandon-ware: getting to grips with the open development method http://www.oss-watch.ac.uk/resources/odm.xml
Contributor Licence Agreements http://www.oss-watch.ac.uk/resources/cla.xml
Creating a new Google Code project http://www.oss-watch.ac.uk/resources/googlecode.xml

