By adopting inner source methodology and principles, organizations get:
-
Effective resources management, with better code/knowledge reuse and cost sharing accross the different units
-
Faster technology innovations/improvements, since the code is developed collaboratively and transparently by interested people and units
-
Empowered employees, increasing engagement by letting them to be part of companies development roadmap
-
Higher inner-innovation, by allowing employees to propose new ideas implementation based on company’s technology/knowledge
But any project, even open source ones, need a framework that support them defining:
-
clear policies for contributors, to manage meritocracy (or do-cracy)
-
tools and communication channels
-
community culture
-
who pays it?
-
metrics and KPIs
Let's introduce the inner source framework.
According to the Business Dictionary, governace is defined as:
Establishment of policies, and continuous monitoring of their proper implementation, by the members of the governing body of an organization. It includes the mechanisms required to balance the powers of the members (with the associated accountability), and their primary duty of enhancing the prosperity and viability of the organization
In open source, governance is described in the "governance model" document, defined by OSSWatch1 as:
A governance model describes the roles that project participants can take on and the process for decision making within the project. In addition, it describes the ground rules for participation in the project and the processes for communicating and sharing within the project team and community
Usually the governance model is a written document containing:
-
project goals
-
work, management and collaboration infrastructures definition
-
people roles and responsabilities definitions
-
community support mechanisms
-
decision making process policies description
-
contribution process policies description
-
monitoring policies and mechanisms description
By technical infrastructure we describe the tools used by inner source developers for their daily work. Usually, this tools cover:
-
Source code management systems
-
Issue/tasks tracking systems
-
Forums or mailing lists, and "questions and answers" forums
-
Chat or instant messaging tools
-
Continous integration systems
-
Document/knowledge management systems (wikis)
Creating an engaged community is one of the key points for open source projects success and sustainability. Same principle applies for inner source projects.
Managing a community is different from traditional development teams management, so project managers need to adapt their skills to the new scenario.
Open source communities are very flat organizations where leadership is usually more important than formal power. Companies adopting inner source need to adapt their organizational structure to a flatter one.
In a perfect inner source scenario, and based in David Pink quote you should pay enough “to take the issue of money off the table.”
But we usually don't live in perfect worlds, and there are several scenarios where financial support for inner projects are critical:
-
payment in different geographical regions
-
employees working in a mix of inner and non-inner source projects
-
cost sharing between different business units with their own budget
-
projects developed by a mix of company employees and subcontractors
Again, open source provides some examples of how to get financial support for their projects, and organizations like Linux Foundation, Apache Software Foundation, etc. could work as reference, translating their "foundation" principles to our companies.
Last but not least, if we are speaking about management, to measure becomes a basic skill for us.
Beyond collecting data, managers need to understand the goals of the organization and how the gathered data can help them to achieve such goals. They also need to take care of how they share that data with the teams, and what the want to achieve.
“Collecting data is only the first step toward wisdom, but sharing data is the first step toward community.” – Henry Lewis Gates (professor at Harvard)
Open measurment gives a lot of benefits for our inner source community:
-
awareness, it allows us to understand who we are, what we are doing, etc.
-
governance check, monitoring policies implementatio
-
transparency, as trust generator for third parties and fairness for our inner community