A company's decision to contribute to open source projects is usually business-driven. This article offers a review of the top reasons that can influence your company to contribute source code to open source or to start new open source projects.
1. Provide a reference implementation to a standard:
Open source is a potential venue to launch reference implementations of a specification or standard, with the added benefit that such implementations can gain faster acceptance than if they were kept proprietary. Examples of companies that launched open source projects to provide a reference implementation to a standard include:
3. Ensure that new features are implemented
("scratch your own itch"): If you're using open source code and realize that you'd like a certain capability implemented, the best way to get it done is to do it yourself. Leveraging open source happens when others share the same "itch." However, don't expect a project community to implement features that are of interest only to you. One example of "scratching your own itch" is Motorola implementing and open sourcing Precise Process Accounting (PPA) functionalities, a Linux kernel patch that improves the accounting of CPU and scheduling activities in carrier-grade servers and results in increased performance, capacity, and reliability. For more information on PPA visit http://sourceforge.net/projects/ppacc/.
4. Take control of your own destiny:
In many cases, companies create open source projects or support existing open source projects in the hopes that these projects become successful, thrive, and eventually become viable alternatives to the proprietary solutions of commercial software vendors. This allows such companies to reduce or eliminate commercial vendor "lock-in".
5. Undercut the competition:
Companies can use open source software to reduce their development costs by sharing these costs with others. Moreover, they can collaborate with the open source community and reuse open source components to accelerate the development of their products and reduce time-to-market. As a result, open source can provide cost and cycle time advantages with respect to the competition.
6. Commoditize a market:
When open source software meets the requirements of most users, the effect is to commoditize a market, reducing the pricing power of commercial vendors. For instance, free or low-cost Linux distributions have disrupted the market for Unix-based operating systems; as a result, traditional Unix vendors such as Sun and IBM have shifted focus to offer services. As a company, you may be interested in commoditizing a market to benefit yourself (via lower costs) or to put your competitor in a difficult situation.
7. Partner with others and promote goodwill for your company in the developer community:
There are many examples of companies that work with the open source community and contribute to open source projects to advance projects as well as promote themselves as good open source citizens that not only use open source but also contribute. By doing so, such companies are establishing a relationship with their software suppliers, which, in this case, are open source software developers. Examples of such companies include:
There are many reasons to contribute to open source and there are various benefits to be realized from such engagements. In all cases, it's important to remember that it's a "give and take" relationship: be a good open source citizen, contribute to the community in good faith, and respect and follow community practices.
In a follow-up article, we'll discuss the process to follow after you decide to contribute such as selecting a license, doing a legal review, understanding the intellectual property implications, training employees, building a project infrastructure, announcing the project, following the open source development model, being visible, and being a good open source citizen driving the success of your project.
© 2008 SYS-CON Media Inc.