Open source has won the old war against proprietary software for building enterprise applications.
We run business applications on open source operating systems (Linux) using open source containerization (Docker) and fleet management platforms (Kubernetes), storing our data in open source databases (PostgreSQL), and using OpenJDK or DotNet core for building business services.
But open source software is not just free software which you can use without paying licence fees or even being able to debug errors yourself, because the access to the source code is provided.
It’s also an open source mindset and organizational spirit.
The idea is to use the same practices that have proven to be successful in open source software development within the internal enterprise development community. The goal is to achieve a much higher efficiency of internal software development because of the increased motivation and contribution from more people.
First of all – internal open source community aka inner source community – dismantling the boundaries and enabling everyone to participate in any project, yes, an enterprise project, and to create an internal community of developers instead of separate siloed teams who are not allowed to peek at what other teams are doing so as to ‘focus on their own daily jobs’.
Everyone can access the source code, modify it and propose changes in a collaborative effort to make it constantly better. The modern source control systems (git) enable developers to propose pull requests with their modification. The system governance of course is still there and the main product team is responsible for integrating all the changes into one stable solution which will be deployed at production.
The open means accessible to everyone (within the organization), written down (documentation, discussions, meetings), which is encouraging. No secrets within an organization, no closed doors for anyone, all is allowed in the spirit of an open community.
One of the raised concerns is always about the lack of structure and diminishing quality of the enterprise systems. But open source projects have proven methods: there are contributors, there are reviewers and there are committers. When followed properly, it can even increase the quality of the internal software.
The software is still proprietary and internal secrets of the organization are still preserved and that is the main difference between inner source and open source (which is public by default).
Enterprises traditionally tend to divide, separate, and close in silos, in order to be able to measure all the KPIs and other things.
‘You cannot optimize what you cannot measure’ has unfortunately become a mantra for many managers educated in the last century mindset. This terrible sentence borrowed (probably) from traditional industry neglects the effect of the motivation of the people, of the inclusion of everyone. The difference between an unmotivated isolated IT worker and a motivated inner source contributor can be in tens or hundreds of percent.
Efficiency never comes from the measurements but from motivation and openness, enabling the best use of the available people and technical resources.
The idea of developers being able to participate voluntarily in other projects to help with their ideas and writing code that will be used in production, still seems too revolutionary and not ‘rational’. Everybody has access to any code of any system in the enterprise. They can read it, suggest improvements, however it’s just too much for the conservationists.
The fear of chaos is very often the true fear of managers. They fear that without them the self organized teams will perform much better as the teams know better how to optimize themselves. And the managers will never admit that, but fortunately the new wave of leadership is becoming the new norm.
→ Read more about To change or to pretend a change – that is the question
The open source movement is tens of years old and the successes of open source projects are obvious.
Modern enterprises have already started to experiment and embrace the inner source model. Because they can afford it? No, because they cannot afford to be stuck in the past.
Here at Avenga we embrace inner source as the way of faster and better development of our internal and external products such as wao.io (web performance and security optimization SaaS solution) and couper.io (backend for frontend adapter/connector).