Abstract
Introduction
We define corporate open source (COS) as applying the precepts and methodologies prevalent in the open source development community for creating industrial-strength software projects in a corporation for internal use. It may seem that open source style development - using informal processes, voluntary assignment to tasks, and having few financial incentives - may not be a good match for commercial environments. Our ongoing work, however, demonstrates that under the right circumstances, corporations can benefit from open source development techniques. We present two approaches to managing COS projects, and expand in detail on one of them. Our results indicate that open source approaches require significant adaptation to succeed in commercial settings. In particular, they require substantial support from business divisions within a corporation to successfully leverage the shared asset.
Our ongoing research has attempted to determine whether corporations can effectively leverage the open source development model to create and manage software projects inside the corporate domain. We have observed how the precepts and methodologies of the open source development had to be adapted in order to create commercial grade software. In particular changes are required in order to accommodate a market-driven schedule and feature decisions that are not wholly amenable to an open source development approach. Our contributions in this article include describing two methods to effectively manage COS assets: an Infrastructure-based COS model, and a Project-specific COS model. We report experiences with the management aspects of the latter COS model, which includes our findings that this model requires a greater amount of support to get a new business division onboard when compared to the minimal support provided by traditional open source projects. However, the benefits of Project-specific COS outweigh the costs once the business division is fully on-board: the development costs are amortized over the number of divisions using the common asset, and the asset itself benefits from contributions from the expanded use.
Open source practices and tools have proven potential to overcome many of the well-known difficulties of geographically distributed software development, and to allow widely distributed users of software to add features and functionality they want with a minimum of conflict and management overhead.
Dinkelacker et al. discuss Progressive Open Source as a set of tools and techniques for a corporation to host multiple open source projects within a company and between third parties. In the context of their work, our work on COS corresponds to and furthers their work on what is referred to as "Inner Source" in their paper.
Our previous work attempted to determine whether open source tools and practices are a good fit for developing commercial-grade software especially in the light of the differences between the two camps: open source development is more iterative in nature when compared to the staged method of software development practiced at many corporations; the incentive structure between the two varies, as does the motivation factor; commercial software is usually characterized by process methodologies (CMMI, ISO, TL9000, among others), that are typically absent in open source development. We reached the conclusion that certain commercial projects can indeed benefit from open source development methodology, especially those projects where:
• a technology is needed by several product groups (hence there is reason to pool resources),
• the technology is relatively immature so that requirements and features are not fully known at the outset (so there is a need to evolve continuously),
• product groups have different needs and specific expertise in customizing the software for their needs (so everyone benefits from the contributions of each group), and
• the initial product has a sound, modular architecture (so that it is feasible to merge all the diverse changes into a single development branch).
Furthering our previous work, the discussion in this article presents a management view of maintaining a COS asset. We discuss project management and planning aspects that are intrinsic to projects managed in this style.
- Dinkelacker, J., Garg, P., Miller, R., and Nelson, D. Progressive open source. In Proceedings of the 24th ACM International Conference on Software Engineering, 2002, 177--184. Google ScholarDigital Library
- Dykstra, D., and Leto, K. NSBD and software distribution. Dr. Dobb's Journal, (Sept. 1998), 84--88.Google Scholar
- Gurbani, V.K., Garvert, A., and Herbsleb, J.D. A case study of a corporate open source development model. Proceedings of the 28th ACM International Conference on Software Engineering, 2006, 472--481. Google ScholarDigital Library
- Gurbani, V.K., Garvert, A., and Herbsleb, J.D. A case study of open source tools and practices in a commercial setting. Proceedings of 5th ACM Workshop on Open Source Software Engineering, 2005, 1--6. Google ScholarDigital Library
- Herbsleb, J.D., and Mockus, A. An empirical study of speed and communication in globally-distributed software development. IEEE Transactions on Software Engineering 29, 3, (2003), 1--14. Google ScholarDigital Library
- Mockus, A., Fielding, R., and Herbsleb, J.D. Two case studies of open source software development: Apache and Mozilla. ACM Transactions on Software Engineering and Methodology 11, 3, (2002), 309--346. Google ScholarDigital Library
- Rosenberg J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley. M., and Schooler, E. SIP: Session Initiation Protocol. IETF RFC 3261, 2002; http://www.ietf.org/rfc/rfc3261. Google ScholarDigital Library
- Fogel, K. Producing open source software: How to run a successful free software project. O'Reilly Publishing, October 2005. Google ScholarDigital Library
Index Terms
- Managing a corporate open source software asset
Recommendations
Corporate-, Agile- and Open Source Software Development: A Witch's Brew or An Elixir of Life?
Balancing Agility and Formalism in Software EngineeringThe observation that the Open Source Software development style is becoming part of corporate software development, raises questions about its compatibility with traditional development processes. Particular compatibility questions arise where the ...
Open source software licenses: Strong-copyleft, non-copyleft, or somewhere in between?
Studies on open source software (OSS) have shown that the license under which an OSS is released has an impact on the success or failure of the software. In this paper, we model the relationship between an OSS developer's utility, the effort that goes ...
Comments