Follow Us

Apache Asserts

RSSSubscribe to this blog
About Author

Insight from members of The Apache Software Foundation (ASF). Apache powers half the Internet, petabytes of data, teraflops of operations, billions of objects, and enhances the lives of countless users and developers. Established in 1999 to shepherd, develop, and incubate Open Source innovations "The Apache Way", the ASF oversees 150+ projects led by a volunteer community of over 350 individual Members and 3,000 Committers across six continents. Notable Apache projects include Hadoop, Lucene/Solr, OpenOffice.org, Tomcat, and the flagship Apache HTTP Server, which powers more than 326 million Websites across the globe. From enterprise Open Source adoption, industry trends, emerging innovations, and developer and community management issues, the opinions expressed in this blog are those of the individual authors and do not represent the official position of the ASF.

Contact Author

Email Apache


Twitter, open source, DNA and bread making

Increasing your rate of innovation

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.

Email this to a friend

* indicates mandatory field






ComputerworldUK webcast Hover to expand
Advertisement
X ComputerworldUK Follow Tweet Share
Newsletter
Open