Inner Source and Software Delivery: Harnessing Best Practices from the Open-Source World to Build Better Software
What is inner source? I’ll tell you all about it during my webinar on Tuesday, Nov. 8, but here’s a preview.
At its most fundamental level, inner source is about replicating successful work practices of the open-source world to commercial software projects.
There are numerous examples of open-source software making big splashes in the commercial space – Linux, Firefox, Apache – and inner source takes many of the lessons learned from these massively successful projects and shows you how you can apply some of those same ideologies and practices to your business.
In the article “Getting Started with Inner Source,” Andy Oram, an editor for O’Reilly Media, recently outlined some of inner source’s main benefits:
- Code reuse: Since open source is fundamentally about openness and knowledge sharing, users in the organization will have a wider understanding of knowing where to look for code and how it functions. This will prevent costly (and unnecessary) duplication of code.
- Collaboration across teams: Collaboration will become a standard part of the software delivery process. This improves efficiency and overall software quality.
- Improved documentation: Being open source means sharing the work you create. This necessitates sound and complete documentation. In open source, the better the documentation, the more likely the project will attract contributors. In the business world, this means you’ll be able to improve your end product more easily.
- Improved efficiency: All of the above will combine to improve efficiency. Code will become more standardized across teams; new engineers can be onboarded more quickly; and an environment of sharing and collaboration means catching issues earlier (and fixing them faster).
Now that you’ve grasped the “what” and the “why” of inner source, let’s talk about the “how.”
These are the three primary themes of a framework for enabling inner source:
- Software product: The actual product you are working on that is designed and set up to attract contributors.
- Practices and tools: Having an established, standardized set of tools that enables contributors to collaborate in real time and ensures a high quality end result.
- Organization and community: Empowering individuals to feel comfortable contributing and maintaining the product, while also having top-level management focused on enabling inner sourcing and getting organizational buy-in.
Inner source might sound like a lot of work, but there are tools that can help. For instance, CollabNet’s TeamForge is designed to work seamlessly with an inner-source model.
TeamForge brings incredible value to an organization using inner source by providing organizational visibility throughout teams, supporting bazaar-style development to enable contributors to work efficiently and effectively, supporting robust quality assurance processes, and providing flexibility that allows developers to use the tools they are most comfortable with.
You may register for my webinar on inner sourcing, which can be a powerful tool to help you deliver better software with greater speed, by clicking here.
To find out more about TeamForge and CollabNet, visit www.collab.net.