Open source development costs money, all costs incurred in maintaining a project fall into one of two broad categories:
- infrastructure costs - the cost of making the project and its outputs available
- support costs - the cost of supporting users and contributors, including the writing and maintenance of documentation
- development costs - the cost of maintaining the infrastructure, the software
- governance costs - the cost of managing and protecting the IPR in the software
The project web site, svn, mailing lists, issue tracker etc. need to be hosted somewhere publicly accessible. Fortunately there are many hosting sites that will provide open source projects with free hosting. So, the physical part of infrastructure need to cost anything. If course, the infrastructure needs to be configured and maintained by someone. However, we have included this cost as a development cost.
Free hosting services for open source projects
This section describes hosting services available to open source projects. Please add any others you are aware of by editing this page.
If you choose to host your project yourself then you have many options, but must find the cash from somewhere (see "Funding the Project" below). Of course, there are open source projects to help you build and manage your infrastructure:
Trac is an enhanced wiki and issue tracking system for software development projects.
GForge has tools to help your team collaborate, like message forums and mailing lists; tools to create and control access to Source Code Management repositories like CVS and Subversion.
Supporting users costs time and effort. Somebody needs to respond to user requests and collate those responses into meaningful UserDocumentation. Similarly, developers need support and DeveloperDocumentation.
It is not without reason that open source projects are notorious for having poor documentation. If these activities are left to volunteers they won't get done, very few volunteers want to write documentation. Consequently, almost all support costs will fall to those who have a financial motivation for being involved with the project.
Having recognised that volunteer effort is not sufficient to support users it should be recognised that the support of new users and the writing documentation is something that non-technical contributors to the project can do. There is a low barrier to entry to this activity within the project since this is how most contributors will get started.
Development is the maintenance of the software, the addition of new features and the management of the projects hosting infrastructure. Here, we are in luck since some of this work is where the fun lies (at least for the technically minded). It is entirely possible that a successful project will generate considerable contributions from the volunteer community. However, volunteers work on what they want to work on, you cannot dictate how they will spend their time.
Consequently, if you need a specific bug fixed, or a specific feature implemented you will need to find the resources to fund that work.
The cost of managing and protecting the IPR in the software can be high. If you want to manage all aspects of the project and hold all the IPR yourself then all governance costs will fall to you, there is no way out of it. However, if you are happy to release the IPR and share control of the project with your community it is entirely possible to spread your governance costs across the community.
In order to spread the community you will need to create some structure that will manage both the IPR in the project and the project itself.