‘Inner Source’, the principle of openness within the company, finally builds momentum

Inner source, a concept first coined by Tim O’Reilly, is an engineering principle whose goal is to bring an open source approach within an organization when creating its own private software. Extend the ‘openness’ of open source to all teams within an organization, rather than multiple contributors from multiple organizations.

The open source community will have access to common techniques and tools through the principle of inner source. Although not the primary responsibility of each, it is a way that many contributors work together to develop code. They typically use shared code repositories, pull requests, comments, and other extensive documentation.

It’s an increasingly popular methodology among incumbents who are modernizing their software development practices and starting to see code as a collaborative, reusable asset rather than intellectual property that must be kept confidential under team responsibility. The inner source approach also removes upstream hurdles as it helps developers drive change through pull requests in a secure and transparent way.

ⓒ Getty Images Bank

The introduction of inner source requires a significant change in organizational culture, but comes with advantages of improving code quality, reliability, and security. It also increases the level of collaboration and speed of development by eliminating long-standing silos. This is an area that has grown in importance especially during the pandemic.

Danes Cooper of InnerSource Commons Foundation told Infoworld, “One thing Inner Source has proven is that extensive peer-based collaboration across disparate teams is just as effective as co-located, co-located, controlled teams. point,” he said. Collaboration with inner sources has played an important role in promoting the core business of COVID-19, proving effectiveness and influencing adoption.

Let’s hear why the inner source was suitable for the three companies that introduced the inner source technique and how it had a positive effect on the developer’s performance.

Bloomberg: The ability of engineers to make the change they want.

One of the industries Inner Source has settled in is the financial services industry. Organizational silos, the practice of not sharing code in a conservative, sometimes cryptic way, has long been the norm.

At the Open Source Strategy Forum held in London in October 2021, Jill Ehuda, head of open source at US Bank, said, “In the traditional banking organization, the inner source moves away from swimming in its own lane. it’s a change The concept of protecting code in a way that does not share it is not realistic because of dependencies and dependencies. It’s healthier to see it as a shared asset that everyone can benefit from.”

On the same day, another panel, Capital One, engineer Arthur Moltson said, “Currently, Capital One shares a lot of code, and various departments and divisions are working together to contribute to the platform. As engineers mature, code becomes a means of solving business problems, effectively solving problems with inner sources and more openness. The more people you work with, the more effectively you can solve problems. We have to overcome the excessive ownership culture that engineers have.”

In the case of Bloomberg, the inner source has gradually become the standard over the past decade. What started out as an internal developer tools department has now become an accepted practice for cross-asset trading and other critical applications.

Joe Patrao, Team Lead at Bloomberg, said in a presentation earlier this year: “Company-wide, more than ever before, engineers are empowered to see the changes they want in other team codebases. It could be a simple bug fix that satisfies the customer, or it could target a significant feature that improves the productivity of multiple engineers.”

Currently, every engineer at Bloomberg uses GitHub Enterprise to validate code and collaborate with colleagues. There are also clear criteria for contribution and testing. Becky Plummer, Bloomberg’s software engineering team lead, told Infoworld, “Use pull requests and code reviews when making changes. Expected standards vary from team to team.” For example, the criteria applicable to internal tool pull requests may be lower than those applied to highly regulated trading applications.

Before introducing the inner source technique, Bloomberg engineers had to contact the relevant product manager to request a feature or integration. This practice has slowed down developers and hindered collaboration across teams. “Over the past few years, I have come to realize that Inner Source is a phenomenal learning experience,” Plummer said. We found that inner sources provide value and accelerate product deployment.”

BBC: Code reuse to speed feature deployment

The BBC, the UK’s national broadcaster, has organically developed an inner source culture over the past four years. This has resulted in closer internal team relationships, improved cross-departmental collaboration, and made the software development cycle more efficient.

The TV application team, focusing on the popular iPlayer and sound applications, already had a good understanding of open source. This is because the team open-sourced their own TV application layer in 2012. But the rest of the organization did not.

“We were already using a lot of open source,” said Tom Sadler, director of the BBC iPlayer and Sound Applications Software Engineering team. The inner source culture was greatly driven by the open source of proprietary software such as the TV application layer. We had 10 teams working together to develop the TV app, which was really important.”

For example, the BBC was able to market Sound on TV, a radio application for smart TVs, faster than expected in March 2020. It was thanks to the inner source culture where multiple teams reuse the code of the previously released iPlayer TV application without starting each one from scratch.

As all teams leverage a consistent pull request and continuous deployment process, the practice of using the inner-source approach to software development is proliferating. “Instead of needing a team to do something all the time, we switched to working with them,” Sadler said.

When it comes to how changes are handled and approved by the BBC, internal judgment as to whether they are material or minor changes is important. For minor changes, there are organizational trust schemes and elements. For significant changes or changes, a request-for-changes process is applied, similar to large open source projects such as the Rust programming language. It is a process in which all affected people have an opinion and suggest alternatives before a change or change.

This culture really helped during the pandemic, when developer teams were physically far apart and non-concurrent collaboration was so important. “The pull request mentality, conversations in Slack and Teams, and cross-team decision-making mechanisms helped a lot during the pandemic,” said Sadler.

Asos: There should be no surprises in PR

Asos, an online apparel retailer, introduced and established inner sources across over 70 engineering four years ago, taking advantage of little ‘legacy’. “These teams are Devobs, Agile,” said Dave Green, director of architecture and engineering at Assos. They have a lot of autonomy and own their own applications. We saw an opportunity to spur the ‘cross-team’ distribution.”

Asos has been able to promote an inner-source mindset between teams, break some organizational silos, encourage code reuse, and get more people to work on code and improve quality. “We wanted to break down the walls so everyone could see everyone else,” said Tony Gorman, chief engineer at Assos. “With transparency and good communication, we can build a community within Asos.”

Gorman refers to inner sources as “the concept of making code better code, implementing more features, and respecting the owner of that code (everyone values ​​code in some way). For this to happen, it has to be clear and transparent.”

But not everything went smoothly. “This is a journey,” Green said. Unlike what happens internally, knowing that others will see and contribute will change the way you write your code. So documentation and automation play a very important role.”

According to Green and Gorman, there weren’t many mistakes in the beginning. However, before going on vacation, an angry engineer did not follow proper procedures and decided to deploy a new feature. “This led to an informal conversation,” Gorman said. And this journey created a principle in Assos. “There should be no surprises in the pull request,” he said. Asos collaborates securely under the principle of inner source with collaboration tools such as GitHub, Microsoft Azure Repos, Slack and Microsoft Teams. Here, cross-team collaboration is established as the ‘standard’.

Now Asos is confirming that its internal projects are developing in a way that is worthy of being open-sourced by the community again. “As much as I have received, I am eager to give back to the community,” Gorman said.

The starting point of the inner source

Many engineers cited PayPal as an example of such a company as a ‘baseline’ to start this inner source.

In addition ‘Getting Started with Inner Sauce(Getting started with InnerSource)’나 ‘Introduced inner sourceYou can also refer to e-books such as ‘Adopting InnerSource’.

As a representative inner source community that is actively active, Inner Source Commons(InnerSource Commons). Other than that, blogs, wikis, git repositories, Youtube Learning Video SeriesYou can check use cases and verified patterns in . [email protected]

Source: ITWorld Korea by www.itworld.co.kr.

*The article has been translated based on the content of ITWorld Korea by www.itworld.co.kr. If there is any problem regarding the content, copyright, please leave a report below the article. We will try to process as quickly as possible to protect the rights of the author. Thank you very much!

*We just want readers to access information more quickly and easily with other multilingual content, instead of information only available in a certain language.

*We always respect the copyright of the content of the author and always include the original link of the source article.If the author disagrees, just leave the report below the article, the article will be edited or deleted at the request of the author. Thanks very much! Best regards!