In our day to day work we are always striving to innovate and deliver high-quality software. One technique that could help you be more successful in achieving these goals is inner source. Inner source refers to applying open source principles within an organization. It is about adopting the collaborative, transparent, and decentralized approach commonly seen in open source projects and applying it to the organization’s internal software development.

It is an alternative to closed source, where repositories are typically available only to the responsible team. The benefits of inner source can be high but adopting inner source within your own organisation isn’t done overnight. It requires a change in mindset and culture.

In my earlier blog, How Tech Culture Can Contribute to Growth, I discussed how a company’s Tech Culture can be a catalyst for innovation and long-term success. Inner source is a great example of how cultivating the right culture can unlock potential within an organization, driving both quality and personal growth.

The essence of inner Source

At its heart, inner source boils down to collaborative practices of open source communities, such as open access to code, peer reviews, and a focus on contributions that add the most value. Traditionally, corporate software development tends to happen in silos, with each team working independently and often unaware of solutions developed elsewhere in the company.

Inner source breaks down these barriers, enabling developers across the organization to contribute to, review, and enhance projects outside their immediate domain. But this openness is more than a process change; it requires a cultural shift. It’s not just about giving people access to code; it’s about fostering a culture where developers feel empowered and encouraged to contribute, regardless of their team, seniority, or expertise.

Why inner source requires a cultural shift

While the technical benefits of inner source are clear, improved code quality, faster innovation, and cross-team collaboration, the cultural changes it requires are often underestimated.

Openness and transparency

A successful inner source implementation requires a high degree of transparency. Teams must be willing to open up their codebase and processes to others, which can feel uncomfortable for organizations used to siloed or top-down development. Developers need to embrace the idea that anyone within the company can view, comment on, or contribute to their work.

Encouraging collaboration

In “traditional” companies, developers often focus solely on their own projects. Inner source challenges this mindset by encouraging developers to actively contribute to projects across the organization. This demands a cultural shift where cross-functional collaboration is not just tolerated but celebrated.

A growth mindset

Adopting inner source also means encouraging developers to move beyond their comfort zones. Teams accustomed to working on their own codebases need to be open to learning from other teams, applying new standards, or adopting different technologies. A growth mindset, where learning and adaptability are stimulated, is essential for making inner source work.

How to implement inner source successfully

To effectively implement inner source, organizations must invest in both technical infrastructure and cultural transformation. So what can you do?

Lead by example

Behavior plays a crucial role in driving cultural change. Anyone can actively promote openness, transparency, and cross-team collaboration. By contributing to inner source projects yourself or highlighting successful contributions from various others, you set the tone for the rest of the organization.

Recognize and reward contributions

To create a strong inner source culture, contributions must be recognized and rewarded. Publicly acknowledging successful code contributions, reinforces the value of openness and collaboration. This will help break down barriers and encourage others to participate.

Establish clear guidelines

Just as in open source communities, inner source requires clear guidelines for contributions. Create easy processes for code reviews, issue tracking, and feedback, so that developers know how to get involved.

Invest in collaborative tools

The right tools can facilitate the shift to inner source. Internal Git repositories, collaboration platforms, and pipelines can streamline workflows and make it easier for developers across the organization to contribute.

Final thoughts

Implementing inner source isn’t just about adopting new processes or opening up codebases. It’s a fundamental shift in how teams work together and share knowledge. As Michael Jordan once said:

I realized that if I was going to achieve anything in life I had to be aggressive. I had to get out there and go for it.

— Michael Jordan
mj innersource

To successfully implement inner source within your organization, you need to invest time and effort, focusing on creating a culture where openness and transparency are top of mind, and contributions are actively encouraged!

shadow-left