The Contributor in InnerSource
Have you ever been blocked in your next coding task because another team didn’t have time to add a feature in their system that you depend on? Perhaps after a while you even had to do some extra work in your project to work around the missing feature. How nice would it be to never be blocked in this way?
With projects that incorporate InnerSource principles, you’ll never be blocked waiting for another team to deliver some needed feature. If you’re not getting what you need, you can make the change you need directly in the other team’s code repository by acting as an InnerSource Contributor.
The Contributor role describes a person that makes contributions to the repos of an InnerSource community project. This person may or may not be part or see themselves as part of the community. However, for quite a few people there is a sort of journey that contributors can make from just knowing about the community to using the community’s product to interacting with members of the community and finally starting to contribute. Finally, some of them may become Trusted Committers.
Relationship to other roles
As a Contributor in an InnerSource community you will interact with people playing other roles of InnerSource, such as Trusted Committer or Product Owner and possibly with other contributors. At times, these roles can be played by the same person, such as Trusted Committer and Product Owner in small grassroots style projects.
This section gives you a very short overview of the other two roles, but we’d like to encourage you to read the introductory article of the Trusted Committer role, and we recommended you read the Lowering the barriers to entry article, too, before you delve deeper into the details of the Contributor role in this section. You can also watch the videos (introduction, lowering the barriers to entry) instead of reading the articles.
A Trusted Committer will be your host for your stay in the hosting community. They are the gatekeepers to the project’s code repository, and will move your contribution closer to production once they accepted it. It is their role to mentor you on your way to contributing to their community. They may help you directly or provide information to enable you to help yourself. This information could be established house rules for reviews, proposal templates for larger changes, pointers to documentation or code sections relevant for your contribution.
They also need to care about product quality, sustainability and project evolution from technical as well as general perspective, about reducing the barrier to making contributions for everyone, as well as about caring for their community in general. Caring for the community involves keeping it healthy, upleveling it and its participants, and advocating its needs in their organization.
The role of the Product Owner has some similarity with the product owner role of your average project. However, there are differences - depending on the size of the project, this role is often filled by the same person that acts as trusted committer. In larger projects, or in teams that only partially use InnerSource as an approach to fill their needs by accepting contributions, this role is likely filled by a person separate from a trusted committer.
Your interaction with the product owner role will likely focus on working out the fit of your contribution into the general product and its roadmap. You might work with the product owner role to make sure that general aspects of documentation, or consistency of UI/UX, are kept upon merging your contribution.
Last but not least, someone acting as product owner might have been involved in bringing the project, its benefits and community to your attention.
In the following 5 segments you will learn more in detail about the various aspects introduced here.
The next segment will detail mindset and habit that create opportunities to become an InnerSource Contributor.
In the third segment we’ll look into the ethos of the Contributor - i.e. aspects of behavior that will lead to a pleasant and productive time for you and the host team, and might spark more collaboration. The guest-in-home analogy presented in the introductory videos will serve as a vivid example.
The fourth segment describes the hands-on things to do to make your contribution a success - the mechanics of Contributing. We’ll give practical tips to leverage when preparing to work on a contribution, during development, and also in the pull request.
After we’ve dealt with the personal, the interaction-focused, and the technical aspects of the contributor role, the fifth segment presents the benefits of making the effort to contribute. We’ll show benefits from various perspectives: yours, your team’s, and the perspective of the company at large.
The last segment will recap what we’ve learned about being an InnerSource contributor. We’ll share how you can continue your learning of InnerSource both with other online videos and articles, and through involvement with the online InnerSource community.