Open Source Community Practices in the Enterprise: Creating a Culture of Collaboration
As open source software has entered the mainstream, IT executives have seen how rapidly open source communities are able to deliver high-quality software, and many are adopting the same tools, practices and dynamics.
Features of successful open source software communities include:
- The ability to collaborate on and extend a software application from anywhere in the world
- "Collective intelligence" that results when developers can learn from and leverage each other's code
- Web-based development tools that foster collaboration, as opposed to "siloed" desktop tools
By encouraging collaboration and adopting the right set of tools, enterprises can create an open source community dynamic, regardless of which development methodology they use. Before doing so, they need to decide, among other things, which of their software development projects are most conducive to this kind of collaboration; which open source practices to adopt; and how to resolve any conflicts between open-source-style development and their corporate requirements. To succeed, they also need to establish a "core team" of developers and management stakeholders. Developers need to think of code in terms of assets and design for re-use beyond the next release. For best results, start with a small, low-risk project that others in the organization can easily understand.