Raven Zachary (451 Group Analyst) was reported to have said “Go-it-alone commercial open source will lose. The best collaborators will win.”
In disecting this statement we must first attempt to understand what Raven means by “commercial open source”. I suspect he means open source that is sustainable through commercial exploitation. If this is the case then I think we can safely replace the word “commercial” in this quote with “sustainable”. Where sustainable means that the software undergoes continual development that is supported financially by some means or another.
Recognising that open source software costs money to develop is key to creating a sustainable open source project. Too many people fall into the trap of believing that an open source licence is enough to make the software take on a life of its own and, almost overnight, take over the world.
Sorry folks, that’s not how it works.
To create sustainable open source software someone has to foster a community around the software and to lead and coordinate the communties effort. Failure to foster this community will eventually result in the software being abandoned (the originator has lost interest) or the code will be closed (the sponsoring commercial party is fed up with giving whilst recieving nothing in return).
Don’t worry though unless your software is truly something special, or at the very least has the potential to be something special, this won’t take many hours in the week as communities typically take their time. They slowly congregate around the best candidates, occasionally asking a question, maybe even offering to help, but rarely doing much more.
Over time, the number of people in the community grows and the activity increases. It is your job to ensure that the community, right from the off, is encouraged to be self supporting. Failure to foster a self-supporting community can be almost as bad as failing to foster a community at all. This is because a community that is not self supporting is one that only takes from you, draining your resources and ensuring you never have time to devote to the software itself.
Conversely, a self supporting community will help you provide user support, will document new features and commonly asked questions, will report bugs, make feature requests, provide patches and, occasionally, make significant contributions to your software development efforts.
So how do you build that community?
There are many things you need to do, but perhaps the most commonly overlooked item is to ensure that any investment of time and resources from a third party is acknowledged, accepted, protected and appreciated. Furthermore, any sustained and or significant contributions should allow the individual to influence the project directly. That is, your project should describe how third parties can become a part of the project itself. This does not mean you need to cede control (unless you want to), but it does mean that people wishing to contribute can do so safe in the knowledge that if you were to change jobs tomorrow the project could survive, and thefore their investment of time will not be wasted.
Key to this is communication. The first thing you need to do when setting up a collaborative open source development project is to clearly define how the project is going to be run, who has decision making powers, how others can contribute and how others can influence the projects sustainability. Initially this need not be a hugely detailed document, it simply needs the scaffolding on which your communities “bye-laws” will be built.
0 Responses to “The best collaborators will win”