What is Open Source?
Open source software is software that has been created for free distribution for others to use or modify to suit their needs. With open source software the source code is available for users which contrasts open source with shareware and proprietary software. Open source software comes licensed with an approved open source license. All open source software licenses must be submitted to and approved by the Open Source Initiative. Approved licenses can be found at OpenSource.org website.
Perhaps the most well known open source software is the Linux operating system, but there are many more open source software projects. There are over 100,000 projects registered on SourceForge.net covering as broad a range of software categories as are commercially available.
The Growth of OpenSource
The open source community is growing rapidly and is poised to create software platforms to meet every major enterprise technology requirement. Many of these projects offer high quality software with a rich set of features at a fraction of the cost of closed source software. Some have even become industry standards and are increasingly being used in commercial software. Today the open source software movement offers IT organizations with the choice of many open source solutions that are viable alternatives to commercial software.
However, there are still some perceived barriers to adoption due to lack of system integration experience and a formal support infrastructure. These barriers are eroding as more system integrators ramp up on these technologies and a host of companies are now offering support for many open source projects. For many open source projects, IT organizations now have a choice in what support provider they use, a dramatic shift from the closed source software.
Open source is no longer purely a do-it-yourself industry. IT organizations can now find the help they need to successfully leverage open source as a part of their enterprise technology strategy.
Adoption Spectrum
Through working with our clients and surveying the IT industry, OpenCrowd has mapped the current state of adoption of open source software. We separated the adoption spectrum into different categories of technologies and the different levels of adoption. The level of adoption of technologies is not a comment on the maturity of those technologies, but measures of how typical it is to find those technologies used within IT organizations.
For companies just starting to leverage open source, technologies in the widespread column should be considered first. IT organizations that are already using open source will find many of the widespread technologies being used and should be looking at the emerging open source projects that are flourishing in the industry.
For each of the technology areas there are several open source projects that provide those capabilities. Each may be in a different state of adoption, maturity, and have differentiating capabilities. IT organizations should investigate which projects are flourishing and best meet their needs before using them in their systems.
Evolution of Open Source Adoption
Through our cross industry open source experience, OpenCrowd has identified five stages of open source adoption within enterprises.
We see organizations progressing though adoption stages where IT management moves from being reactive to open source introduction and progress to strategically adopting open source. Over time the percentage of open source used increases and organizations begin leveraging the open source model for their own development projects and industry wide initiatives that benefit from tight collaboration.
IT organizations can use these 5 stages of open source evolution as a guide to understanding where they are, and more importantly where they can go to fully leverage the benefits of open source.
At the present time we see most organizations are in stages 1-3, with some examples of initiatives in stage 4. Given the broad impact of open source software on enterprise organizations, we think an evolutionary approach to open source adoption will maximize the benefits while reducing potential risks.

- Grass Roots
This stage is characterized by project initiated sourcing of open source technologies. The type of open source projects in this category normally includes development and testing frameworks. At this stage, it is mostly developers who are aware of the open source usage, with Little to no cross-team or enterprise awareness.
- Proliferate
During this stage, grass roots success stories with open source technologies are passed informally between development teams. Technology managers are not yet fully aware of the benefits and challenges of open source software. The number of open source projects being used increases dramatically, which often leads to a proliferation of versions being used and redundant projects used for the same functionality. At this stage, legal concerns may be raised and brought to the attention of management. The proliferate phase ends when a formal set of enterprise policies and procedures are put in place to govern the usage of open source technologies.
- Rationalize
Once a formal policy on acceptable usage of open source technologies is developed, some form of governing body to maintain these standards should emerge. Often enterprises will deploy a task force which develops the policy, which then evolves into a standing open source review board. These review boards are tasked with evaluating new open source usage requests and rationalizing them in some fashion. Establishing an effective governance structure that protects the firm's interest and balances open source adoption risk versus benefits remains a challenge. Over time review board activities are merged with closed software portfolio management.
- Extend
During this stage, enterprises become much more proactive and efficient with their usage of open source technologies. This normally requires a more supportive, top down approach from management to institutionalize open source usage across the organization. Open source infrastructure components are in place side by side with best of breed commercial software to form a well functioning cost effective hybrid environment. We find the majority of firms today are stuck somewhere between stages 1-3 and have become stalled due to the lack of an overall open source strategy that positions the firm to fully leverage the benefits of open source technologies while managing risks.
- The Norm
In this final stage, open source technologies are treated and handled the same as closed source commercial products while respecting the unique aspects of open source. The enterprise is actively sharing common code internally and utilizing an open source like collaborative environment for development. The firm is also committed to a number of external open source projects with efficient polices and procedures for participation. Typically the projects will be industry sponsored or collaborative efforts with partners.
Potential Areas for Adoption
OpenCrowd has done an extensive analysis of the open source software portfolio and identified open source products that we believe are ready for adoption into the enterprise. Enterprises should look into the following areas and consider using open source technologies and software development best practices from the open source community:
Web infrastructure and applications
Enterprises that are looking to reduce the cost of their web infrastructure and application development should look at open source alternatives that are high quality, low cost replacements and to use more off-the-shelf application components versus building your own. Every aspect of web infrastructure including the web server, application server, database, content management, LDAP, etc has an open source alternative that is well suited for enterprise usage. Open source application frameworks and components can be found for most common, non-proprietary functionality in applications. The LAMP stack running on commodity hardware is one of the most commonly mentioned open source success stories, but that there are many other opportunities to leverage open source for web infrastructure and applications.
Upgrade legacy systems
Systems built on proprietary technologies that are due for an upgrade are an ideal candidate for migration to an open source technologies-based platform. The ease of customization and access of open source products makes it easier to glue required components together in order to build a custom platform.
Partner platform
External applications built for clients (partners and brokers) to provide automated access to internal applications. Such applications require the cost of scaling to be incremental and not be dependant on user seats. By selecting the right set of open source technologies a low cost per user platform can be built.
Best practices from open source development communities
Open source communities has been very successful in building software products on a distributed development platform based on several collaboration techniques and tools like wiki's, blogs, and discussion forums. Some of these techniques and tools should be used by enterprise to facilitate collaboration cross business units and development teams to introduce shorter project cycles and better co-ordination.
Tools and techniques for development and testing
Many of the tools used by enterprise developers are either open source or derived from an open source project. Some of the success in producing good quality software by the community in a quick time frame can be attributed to the availability of open source development and testing tools as well as test-driven development methodology. Enterprise should look to integrating these tools to provide a common development environment for its team.
Platforms based on emerging standards
Most open source projects are based on open standards and have done very well in adopting emerging standards at a much faster pace. For SOA based platforms where interoperability is a critical requirement, an ESB or web services infrastructure based on the right mix of closed and open source technologies provides a cost effective solution to support the scalability and the interoperability requirements of an enterprise.







