Wednesday, May 28, 2008

Using the open-source model for IT development

The question is, can OSS be used to establish innovation networks for IT departments?

Following the open source model for collaborative software development can cut costs while providing a basis to create other innovative networks to develop technology specific to your company. While few have tried to develop industry-specific or vertically oriented open-source solutions up to now, it could become the future of software development.

Open-source software (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. Simultaneously, IT departments are driven to be more efficient while 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 R&D departments that treat their systems as open--meaning, how do you include your partners, customers and even competitors as part of an extended R&D team?

The question is, can OSS be used to establish innovation networks for IT departments? What steps are required to establish a successful software innovation network, and what are the resulting benefits for organizations?

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 the areas of technology that are a core business value of the organization. Based on previous experiences in the software industry, OSS tends to lead to two logical strategies for collaboration:
  1. Collaborating on the implementation of industry standards or protocols, and
  2. 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.

Software vendors were expected to implement technology standards such as HTTP, XML, Java, etc., in their products, but the implementations provided very little differentiating features and customer value add. Open-source software provides an effective mechanism for creating a common implementation that drives the adoption of these standards; the Apache HTTP Web server is a great example of driving the httpd 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. Today, IT organizations typically rely on 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 would mean that the cost is shared and the common deployments would 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 BPO Services , Freelancing Projects & IT organizations is the need to integrate solutions from different vendors. For instance, CRM systems often need to be integrated with e-mail systems; financial institutions need to integrate data feeds from many providers; and large-scale manufacturers, such as automotive or aerospace OEMs, 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.

Factors to Consider When Establishing a Software-Innovation Network

Open-source software development provides a proven model for creating shared implementations, however, the ultimate goal of a software innovation network is to increase business value. Therefore, we need to consider several aspects of OSS that allow for value creation and value capture when establishing a collaboration amongst equal partners.

Open-Development Process

The success of OSS development in facilitating collaborative development is in an open-development process. Most major open-source communities, such as Apache, Eclipse and, work on the following principles:
  1. Openness: being open to participation by any individual or organization, including competing organizations.
  2. Meritocracy: Openness does not mean democracy; in fact, successful open-source projects work on the principle of a meritocracy. Therefore, newcomers are invited to participate based on their proven merit and ability.
  3. 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 among competitors. It is, therefore, critical that the governance model 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.

Intellectual-Property Management

Intellectual-property management is a critical consideration when you are 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 exact agreement and follow the same IP processes. All Eclipse open-source project committers sign a "committer agreement" that specifies that their contribution is licensed under the Eclipse Public License (EPL). All source code that is contributed to Eclipse projects is automatically scanned to ensure that all of the code is licensed under the EPL or a compatible open-source license. The result is that the technology created in 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 an individual, regardless of his or her affiliation, to participate. An architecture of participation is created by:
  1. Making it easy to extend the technology, and
  2. Having an open development process that is transparent to all.

Participation then occurs when those individuals contribute directly back to the project or build 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 the larger communities has also proven very beneficial for starting new projects. A significant challenge for any new community is generating awareness and participation. Organizations such as 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 to host a community-oriented software-innovation network is nontrivial. Typically, open-source collaborations will require a website, source-code repository, bug-tracking database, wikis, mailing lists and newsgroups. Consideration needs to be given into the ongoing administration and management of the 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 allow for maximum flexibility.

Where Do We Go from Here?

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 like Apache, Eclipse and Linux have demonstrated a model for collaborative software development that can be the basis for any software-innovation network. 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 be the future of software development.

Ian Skerrett is the director of PPC Services & marketing at the Eclipse Foundation, a not-for-profit corporation supporting the Eclipse open-source community and commercial ecosystem. In this role, he is responsible for implementing programs that raise awareness of the Eclipse open source project and grow the overall Eclipse community.

Read More Article...

Tags: Outsource Medical Billing | Medical Billing Services | Medical Coding | Medical Transcription | Medical Transcription Services | CAD Drafting | CAD Design | CAD 3D Modeling | CAD Engineering | CAD Rendering | AutoCAD Drawing


Anonymous said...
This comment has been removed by the author.
Anonymous said...

Open-source software (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. - Yahoo Store Design -

Anonymous said...

It's great blog provides the variety of informations!! Keep it up.

Munna Sharma
SEO Expert


Anonymous said...

It's great blog provides the variety of informations!! Keep it up.

Munna Sharma
Professional SEO Services

Anonymous said...

I like this blog. It's really informative blog. I favourite this blog.

Munna Sharma
SEO Consultant Ahmedabad

Anonymous said...

It's really a nice blog. I like it. It's really informative blog. Keep it up nice blogging.

Jeff Kent
Yahoo Store Design