Collaboration is the secret of open source’s ongoing success because the pooling of seasoned experts’ skills and the free-thinking of newcomers creates exciting possibilities, as Richard Hillesley reports
Open source is driving the next wave of computing – and there are good reasons why this should be so. As data and the network become more complex, interoperability and commonality become greater issues. The transparency of open source and its adherence to open standards are essential in a networked world where every device has to be able to speak to every other device.
The distributed open source model of software development grew out of the developer communities that evolved around the Linux kernel and other free software projects during the early-90s. These communities called upon thousands of volunteers, with a diversity of skills, who came together across organisational and geographic boundaries to write free software, facilitated by the channels of communication that had been opened up by the internet.
Open source encouraged the participation of communities of developers, students, companies, hobbyists, professionals and academics. And the code was better for it. Mitchell Baker, chairwoman at the Mozilla Foundation, points to the developer-driven nature of such projects as one of the reasons why open source is driving innovation.
“Open source technology provides a voice to a vast population of developers enabling them to be heard,” she says. “These developers have valuable knowledge that open source technology can tap into. Ultimately, a product that has had a number of different developers working on it will be better, because each developer will provide different ideas and knowledge to the development. Collaboration is more powerful than a single developer working on their own.”
The informality of the open source model and its ability to allow participants to find their own level encourages innovation beyond the reach of commercial structures. Anyone can contribute and the measure of their worth is the quality of their contribution. The employee of a company who is paid to contribute to an open source project is seen first as a member of the community and, second, as an employee of the company for which he or she works.
Open source is to innovation what public infrastructure is to an economy: the more you have, the more growth is driven by individuals making the best use of it
Julian Heerdegen, customer relationship management evangelist at SugarCRM, says: “If you work on an open source project, your work is visible to the community, which results in mechanisms akin to peer review, the methodology used in science to ensure the quality of research. The result is ultimately the same – high quality of code.”
Ms Baker adds: “Developers need to have the freedom to explore. Open source technology provides crucial access to product development for a number of developers who wouldn’t normally have access. It provides a vehicle for them to experiment and to try the crazy things that nobody else would.”
There are no limits on who participates, which inevitably extends the possibilities for unconventional perspectives and unexpected solutions. Many successful projects, including the original Firefox browser, began as the work of one or two developers with a crazy idea that turned out to be the right.
Pooling of resources and collaboration benefits everyone. If a company is giving away software that has brought it advantage, it is also gaining from the donations of its rivals. It is estimated that the pooled value of the research and development incorporated in the Linux kernel is worth more than $10 billion (£6.3 billion). Companies as diverse as IBM, Intel and Qualcomm invest billions in Linux and open source innovation centres, and Google sponsors the “Summer of Code” which offers stipends to students all around the world to work on free software and open source projects.
Open source gives access to expertise and technology that might otherwise be out of reach. For this reason, many smaller start-ups, as Google once was, have based their operations on the use of open software. Google was able to customise its own version of GNU/Linux on clustered servers to build its search and storage algorithms, which required thousands of Linux servers running on commodity hardware.
Paradoxically, the willingness of companies to collaborate encourages innovation in other aspects of the business. A new device can be brought to market much more quickly because the operating system is already there. No single company has had to recoup the vast expense of developing an enterprise-level open source from scratch and precious engineering resources are liberated to develop other aspects of the design.
A corollary of the collaborative approach is that there is a commonality of standards so interoperability issues fall away. As computing has moved towards the web, it has made less sense to deploy conflicting technologies that result in vendor lock-in and there is no point in re-inventing the wheel. Consequently, open source has moved up the stack.
Pooling knowledge and resources on the technology and feeding back software changes to the community has been of mutual advantage to all the players. Sharing the technology has improved performance and reduced overall costs for everybody. Collaboration, even with rivals, works – a fact that has been realised with some effect in the animation, special effects and biotech industries.
A growing number of enterprise software companies, such as SugarCRM, distribute their software under open source licences because “ease of access helps large innovative communities and ecosystems to spring into life”, according to Mr Heerdegen. “Open source is to innovation what public infrastructure is to an economy: the more you have, the more growth is driven by individuals making the best use of it,” he says.
In recent years, the nature of computing has begun to change. Every computing device is networked to other devices, and free and open source software is coming into its own. The conductors of the new realities of enterprise computing, mobile devices, virtualisation, big data analysis and the cloud, are being driven by open source software.
In the mobile space, Mozilla is working on a truly open source Linux-based mobile operating system to compete with iOS and Android. “Firefox OS is not designed to create a third platform,” says Mozilla’s Ms Baker. “Instead, Mozilla wants the web to be the third alternative to the closed walls of the Apple and Google stacks. Firefox OS will be an open source platform for mobile, where the governing rules for the ecosystem will be looser, promoting freedom and innovation.”
The proven model of free/libre open source software (FLOSS) development and the accessibility of ideas that it promotes has obvious attractions for a wider variety of projects beyond programming and the narrow confines of computer systems software.
Facebook provides an illustration of the possibilities and has released the design specifications for its server hardware under an open licence “because openness always wins”. The Facebook developers have redesigned the power supplies and motherboards for its servers, and stripped away the server cases and unnecessary add-ons, to achieve a massive power saving. The designs are now distributed under the auspices of the Open Compute Project as a service to other companies, perhaps in the hope that they will develop further power-saving enhancements.
A more radical possibility is provided by the Riversimple open source, hydrogen-fuelled car, designed by British engineer Hugo Spowers and backed by Sebastian Piech, grandson of Ferdinand Porsche. Riversimple intends to license its designs to an independent body, The 40 Fires Foundation, on the understanding that “engineers and designers from around the world can help develop the vehicles, and any manufacturer around the world can make them”.
Raspberry Pi computer
The Raspberry Pi is a revolutionary computer, the size of a credit card, designed to be a cheap, fun computer that can be used as a badly-needed educational tool for teaching programming skills to children. It is marketed by the British-based Raspberry Pi Foundation, a registered charity.
The computer comes in two versions, priced at $25 for a standalone model or $35 for a networked version. It is priced in dollars, the Foundation says, because “currency markets are so volatile at the moment”.
When connected to a TV and a keyboard, a Raspberry Pi will do most things a PC does, but the makers hope schools will take up the challenge and use it to teach children the delights of programming. It uses an Arm processor and a solid-state Secure Digital (SD) card for booting up the operating system, and for general storage of data.
The recommended operating system is Raspbian, an optimised version of Debian GNU/Linux, and includes the Lightweight X11 Desktop Environment (LXDE) desktop development tools, and “example source code for multimedia functions”.
A user guide is being written by Computing at School to help teachers and pupils to get the best out of the Raspberry Pi.
Open data analytics
The role of big data analytics is to crunch and rationalise huge volumes of data across clustered file systems to find patterns which might uncover hidden relationships in the data or give a business advantage to an organisation. The field is still maturing, but it is being increasingly dominated by open source projects, such as Hadoop, NoSQL, and the R statistical computing language and graphics environment.
Hadoop, the driver of much of the current technology around big data analytics, is an open source implementation of Google’s MapReduce and File System (GFS) technologies. Companies that use Hadoop typically have millions of visitors every day, each of whom demands a unique set of instantaneous responses.
According to analysts Forrester Research, the reasons why these solutions are gaining acceptance in the field of analytics are because “open source initiatives are transforming all platforms and tools… open source communities are where the fresh action is… and open source solutions and providers are maturing rapidly”.
Hadoop, NoSQL and R are common ingredients in diverse software suites from different vendors. Each supplier depends on the support it provides for revenue, making commercial open source software projects more responsive to customer demands – because they have to be.
At the forefront of cloud development is the OpenStack project which now describes itself as “a global collaboration of developers and cloud computing technologists producing the ubiquitous open source cloud computing platform for public and private clouds”.
On the internet, information is exchanged in many different computer languages, so it is important there are common reference points to facilitate interaction. In the cloud, interaction standards are still loosely defined, awaiting a report from the Cloud Standards Customer Council (CSCC) addressing open interoperability standards from the end-user viewpoint.
According to Angel Luis Diaz, IBM vice president for software standards and the cloud: “What is unique about OpenStack is that it is a perfect example of user-driven architecture. It has a huge end-user community which has accelerated the development and the usability and interoperability of the software. When it started in 2010, there were a handful of developers. Now there are 6,000 individual contributors from 200 companies and 40 user groups across the globe. The software has been downloaded 300,000 times.”
The turning point in OpenStack’s fortunes was the decision to form an independent foundation to put space between the community and the ownership of the code by Rackspace and NASA.