Many commentators, myself included, point to open source as being a route to open innovation in software. Open source licences certainly facilitate the free flow of information and the sharing of resources across organizational boundaries.
However, they do not provide a silver bullet. Collaboration with others is not easy, but there are a few tricks that you can employ in order to accelerate innovation through open source software.
One of the most important things to consider is the scope of your collaborative efforts. It is important to recognise that your complete solution is unique for your needs. Apart from for a few standard applications, such as office suites, it is unlikely that anyone else will find your solutions a sufficient match to their own needs. For this reason it rarely pays to open source your applications as a whole.
Consider, for example, software for processing DNA samples in some way. Such software is highly specialised. It is tempting to look for other people who are working in the same area and seek to share code with them.
This can be very fruitful, but consider that processing DNA samples is, in many ways the same as processing other data. We have storage demands, scalability issues, visualisation needs and so on. If we look at each of these items separately we can see much greater potential for collaboration.
The majority of successful open source projects are components rather than complete systems. Even products that are complete in their own right, such as the Mozilla Firefox Web browser, provide extensive mechanisms for customising the base install through individual components (plugins) in order to match specific needs.
Twitter handles 230 million Tweets and 2 billion queries a day. It's a highly specialised environment, optimised for the kind of computing that very few of us have a need for. As with the DNA sampling example, when viewed as a complete system there appears to be very little opportunity for collaboration with Twitter engineers on core software.
However, when we look at how Kevin Weil, Analytics Lead at Twitter, describes their systems we see that there are a great many areas for collaboration. In fact, there are many areas for collaboration with those analysing DNA -- who'd have thought it?
At The Apache Software Foundation most of our projects are components intended for reuse in a wide variety of applications. For example, Twitter uses Apache Lucene, Apache Thrift, Apache Hadoop, Apache Pig, Apache HBase and Apache Cassandra (to name just a few).
Each project is a solution to one specific problem. Consequently there is plenty of space for collaborators to combine multiple projects in order to differentiate themselves from other users of those open source tool. It is for this reason that it is not uncommon to find companies that compete fiercely in the marketplace working together on Apache projects. Similarly, it is not uncommon to find small micro-businesses working alongside (and benefiting from) huge multinationals.
Chemists tell us that increasing the surface area a material in a chemical process will result in a faster and more complete reaction. It's no different in open source software. By ensuring that you break your systems into smaller components and collaborate on those components rather than the whole system you will increase the number of contact points between yourself and others. The end result is faster and more complete innovation processes.
Posted by Ross Gardler
Gardler will be presenting several sessions, including "Open Source Sustainability Model" training track at ApacheCon, 7-11 November 2011, in Vancouver, Canada. To register, visit http://apachecon.com/
Biography: Ross Gardler is a committer and PMC member on a number of Apache projects, a champion and mentor on incubating projects including OpenOffice.org, and Vice President of the Community Development project.
He is a founder of OpenDirective, a company specialising in making the connections between the academic research sector and the commercial product and service delivery sector. Until recently Ross was manager of OSS Watch, the open source advisory service to the UK higher and further education sector. He is chair of the TransferSummit/UK conference, which seeks to link the academic research sector and the commercial sector.