Recently I open sourced the MIGRATEdb project. Here are a few notes about the trip.
A home for the project
To open source a project, first you need to choose where to locate your project. One way would be to self-host the project and source code, however there are a number of service providers out there who will manage your source code, Subversion/CVS repository, track issues, allow downloads, etc. I chose SourceForge. So I had to create a user account and then setup the SourceForge project.
When setting up the project there a few important things to consider – like the name of the project. Why MIGRATEdb, well the name provides some indication of the projects purpose and it conjured a couple of interesting visuals…a bee with suitcases (a migrated-B)…the ‘db’ part is vertically symmetrical.
To open source a project you must choose an open source license to use. There are many of them, to ease the brain strain they can be grouped into two main types: academic and reciprocal. Basically, an academic license allows anyone to use the project in any way they want, a reciprical license requires any derivatives, that are released and distributed, be provided under the same license. MIGRATEdb was open sourced under the BSD license an academic style license.
Project Registration with Host service
Next comes the actual registration process. For SourceForge there were a number of questions to answer (like how the software is classified, what is a short description of the software’s purpose, …), then someone will actually look at the project request and hopefully approve it.
Bring the project to life
These first steps were all performed with SourceForge tools:
- Upload the source code to the Subversion/CVS
- Create a release, for MIGRATEdb there are two release files – the full project and an ‘executable only’ distribution.
- Create some documentation – for MIGRATEdb this is a simple web page.
Promote the project
To raise interest in the project you can promote it to the targeted user community, blog about it, tell all your friends, etc.by