"Innovation distinguishes between a leader and a follower."
Open source has been many things to many people. In most cases, open source software (OSS) has focused on the tools and the infrastructure software used to build and deploy applications. Relative to infrastructure, little use or investment has occurred in the development of industry specific or vertical oriented open source solutions. This is not only a missed opportunity for organizations, but it is also possibly the next wave of open source collaborations.
An important lesson of OSS is a development process that requires collaboration between individuals and organizations that isn't necessarily driven by a traditional hierarchy of command and control. Information technology (IT) departments are driven to be more efficient while simultaneously creating innovative new solutions to meet their business needs. More and more, companies are turning to external sources for ideas that drive innovation. A series of books by Henry Chesbrough has coined the term "innovation networks" to discuss research and development (R&D) departments that treat their R&D systems as an open system. They describe how to include partners, customers and even competitors as part of an extended R&D team.
However, that series does not answer the question "can OSS can be used to establish innovation networks for IT departments?". Further, what steps are required to establish a successful software innovation network and what are the resulting benefits for organizations? For the most part, this article will draw upon the experiences of Eclipse open source projects. These projects often include competing independent software vendors (ISVs) that collaborate on building a common platform for developer tools integration.
The Drive for Collaboration
Determining the scope of collaboration is often the most challenging aspect of starting an open source project. The key challenge is to understand which areas of technology are core and which are non-core to the business value of that organization. Based on previous experience in the software industry, we believe that OSS tends to lead to two logical strategies for collaboration:
- collaborating on the implementation of industry standards or protocols
- establishing an industry platform to grow a market
Collaborating on Open Standards
Globalization and government regulation have increased the importance of industry standards and protocols. There are many examples of consortiums that define standards and protocols for specific technologies or specific industries. However, the implementation of these standards is often left to ISVs or individual IT organizations.
For technology standards such as HTTP, XML, and Java, software vendors are expected to implement these standards in their products. However, there is little incentive to do so as the implementations provide very little differentiating features and customer value add. For this reason, OSS provides an effective mechanism for creating a common implementation that drives the adoption of these standards. The Apache web server is a good example of an open source application which drove the HTTP standard.
A similar case can be made for IT organizations that need to implement specific industry standards and protocols. The actual implementation of these standards provides very little benefit to the core business of an organization. IT organizations typically rely upon ISVs or internal development groups to implement these standards and thus incur the costs of sourcing the implementation.
The drive for collaboration is propelled by the need for IT organizations to quickly and efficiently implement new regulations or standards for their business. Organizations within the same industry can join together as a software innovation network to create a shared implementation of a standard. A common implementation means that the development cost is shared and provides the further benefit that the common deployments result in greater interoperability.
Collaborating on a Common Platform
Creating a common industry platform can address the IT challenge of integrating solutions from different vendors and help accelerate the growth of a fragmented market.
A consistent requirement of IT organizations is the need to integrate solutions from different vendors. For instance, customer relationship management (CRM) systems often need to be integrated with e-mail systems; financial institutions need to integrate data feeds from many providers; or large scale manufacturers, such as automotive or aerospace, have extensive supply chains that need to integrate across the product lifecycle. Typically, the integration is a cost of doing business, not a core value, so creating a common platform that is adopted by a number of industry players effectively streamlines the integration requirements.
Establishing a common platform in a fragmented market of providers can help grow the entire industry. In fragmented markets, significant investment is often duplicated across solution providers but provides no real customer value. In addition, a valuable market ecosystem cannot develop because the market share of each provider is not big enough to sustain investment on one particular platform. Therefore, if multiple players agree to collaborate on a common platform, it can reduce the barriers for increasing the size of the overall market.
Establishing a Software Innovation Network
OSS development provides a proven model for creating shared implementations. However, the ultimate goal of a software innovation network is to create business value. We need to consider several aspects of OSS that allow for value creation and value capture when establishing a formal collaboration amongst equal partners. We discuss the factors required to create this type of collaboration environment, something we call a "Software Innovation Network".
- Open Development Process: the success of OSS in facilitating collaborative development is in an open development process. Most major open source communities, like Apache, Eclipse and Linux, operate using the following three principles:
a) Openness: being open to participation by any individual or organization, including competing organizations.
b) Meritocracy: openness does not mean democracy and successful open source projects instead work on the principle of meritocracy. In this model, newcomers are invited to participate based on their proven merit and ability. c) Transparency: having important project discussions, plans, and meeting minutes available in a transparent manner so anyone can view them.
- Enabling a Governance Model for Collaboration: all successful long-term organizations require a set of rules that establish a governance model for setting policies and strategies. Governance becomes even more important if the organization is a collaboration amongst competitors. It is, therefore, critical that the governance model does not allow a single player to control or influence the organization. The perception or reality that a single participant controls the overall community can inhibit the participation of others. Organizations like the Eclipse Foundation, Apache Foundation, and Linux Foundation have been established as not-for-profit organizations with the specific purpose of being vendor-neutral entities that act as the steward of their respective open source communities.
- Intellectual Property Management: intellectual property (IP) management is a critical consideration when creating a shared technology base. Effective IP management includes the selection of an appropriate software license, legal agreements for participants that cover the contribution of IP, and scanning of source code to ensure pedigree and license compatibility.
For instance, the Eclipse Foundation has a well established IP management system. All participants in the Eclipse community sign the same agreement and follow the same IP processes. All Eclipse open source project committers sign a committer agreement that specifies that their contributions are licensed under the Eclipse Public License (EPL). All source code that is contributed to any Eclipse project is automatically scanned to ensure all of the code is licensed under the EPL or a compatible open source license. The result is that the technology created within the open source projects has clear software license and IP pedigree.
- Creating a Community: Tim O'Reilly coined the term architecture of participation to describe how open source projects are able to build and engage a community. The idea is that an open source community forms around the ability of any individual, regardless of their affiliation, to participate. An architecture of participation is enabled by: i) making it easy to extend the technology; and ii) having an open development process that is transparent to all. Participation then occurs by those individuals contributing directly back to the project or building new technology on-top of the base technology. The end result is an ecosystem that adds the needed components for quick adoption of new technology.
The network effect of smaller communities within larger communities has also proven beneficial for starting new projects. A significant challenge for any new community is generating awareness and participation. Well established organizations like Apache and Eclipse allow new projects to leverage the larger community to raise their profile with potential community members.
- Establishing the IT Infrastructure: the IT infrastructure required to host a community software innovation network is non-trivial. Typically, open source collaborations require a web site, source code repository, bug tracking database, wikis, mailing lists and newsgroups. Consideration needs to be given to the ongoing administration and management of the associated infrastructure.
- Open Business Models: a goal of a Software Innovation Network is to create an ecosystem of organizations, commercial and not-for-profit, that benefit from a common platform. These organizations will employ a variety of business models and strategies. Therefore, it is important to ensure that the choice of license and governance model allows for maximum flexibility.
Most IT organizations have reduced software licensing costs by being users of OSS. The next step to additional IT efficiencies will be their participation in OSS projects. Open source communities have demonstrated a model for collaborative software development that can be the basis for Software Innovation Networks. Visionary IT departments have already begun to leverage this model to collaborate on the development of technology specific to their domain. Over the next few years, open Software Innovation Networks could very well become the future of software development.
This article has been updated and refocused by the author from its original publication on CIO.com.