Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Pattern Draft] Maintainer Apprentice #670

Open
jmeridth opened this issue Mar 24, 2024 · 4 comments
Open

[Pattern Draft] Maintainer Apprentice #670

jmeridth opened this issue Mar 24, 2024 · 4 comments
Labels
1-initial Donuts, Early pattern ideas, ... (Please see our contribution handbook for details) 📖 Type - Content Work Working on contents is the main focus of this issue / PR 💡 Early Idea

Comments

@jmeridth
Copy link
Contributor

jmeridth commented Mar 24, 2024

Title

Maintainer Apprentice

Patlet / Summary

A user wants to work their way into becoming an Approver/Maintainer on an InnerSource repository while being given enough permissions to prove their contributions.

Problem

Sometimes a repository may want to "onboard" maintainers without giving them full write access. This means they are added to a repository to provide content/changes and able to "approve" other changes but not merge them. This could be a form of onboarding or internship on the way to approver or maintainer roles.

Context

From @spier in #669

...our idea with the lower section of the CODEOWNERS file was, that those folks doing the translation work might sort of be "maintainer apprentice", and through their involvement in the project become maintainers eventually

In this particular situation the user was in the CODEOWNERS file but did not have write permissions on the repository. This caused GitHub to label the CODEOWNERS file as having errors.

image

Forces

What could make this problem difficult?

  • the permissions structure in the organization or repository is not present to solve this

Tradeoff(s):

  • Knowing a "maintainer apprentice" is given enough permissions to contribute and approve but not merge changes.

Solutions

Any of the following:

  • Make sure all reviewers/approvers/maintainers of repositories have write permissions
  • Accepting that not all reviewers/approvers/maintainers of repositories have write permissions until earned
  • Custom repository or organization roles (if the software allows it) (e.g, Custom Repository Roles)

Resulting Context

What is the situation after the problem has been solved?
The original context is changed indirectly by way of the solution.
Often this section can include discussion of the next possible Patterns/problems introduced.
This section can be short in content - the solution may not introduce new problems or change much context.

Known Instances (optional)

#669

Status

Initial

Author(s) (optional)

@spier
@jmeridth

@jmeridth jmeridth added the 1-initial Donuts, Early pattern ideas, ... (Please see our contribution handbook for details) label Mar 24, 2024
@jmeridth
Copy link
Contributor Author

Closing due to no interaction

@spier
Copy link
Member

spier commented Apr 20, 2024

Hi Jason.

I noticed you closed this pattern draft due to inactivity.

Had two reactions to it:

  1. kind of cool - in terms of cleaning up things in GitHub (I don't always do myself when opening issues/PRs)
  2. kind of sad - as you got no reaction from anybody, other than me in discussions that happened before opening the PR

Activity in our patterns community varies quite a bit at different times.
Also it seems like some people only engage via Slack, others only via GitHub.
Lastly, some conversions need to be started and restarted multiple times until something interesting happens :)

Therefore I will try to post this topic one more time in Slack, to see if anybody engages.

@spier
Copy link
Member

spier commented Apr 20, 2024

Some more thoughts on this:

  1. In our patterns repo we used the "maintainer apprentice" idea only for people that were contributing to the translations of our patterns. You could argue that this is almost a "side project" i.e. there is (a) the creating of new patterns in English, and (b) the translation of the existing patterns to other languages.
  2. We don't really have proof that the path of leveling up those "maintainer apprentices" into full "maintainers" through this process.
  3. While our patterns repo is open source (not InnerSource), we believe that mostly the same effects apply in this area. If at all, we hope it might be easier in a corporate context to level up people to truster committer / maintainer more quickly then in open source, as you have more established relationships with them already

@spier spier reopened this Apr 20, 2024
@spier spier added 📖 Type - Content Work Working on contents is the main focus of this issue / PR 💡 Early Idea labels Apr 20, 2024
@michael-basil
Copy link

michael-basil commented Apr 20, 2024

Within Dojo from SAP we leverage the concept of Senpai. This person effectively becomes a Sensei apprentice (our Sensei are project admins). They gain write access to the repository and take on some responsibilities within GitHub and the social community at large.

We have our Sensei and Senapi in GitHub teams.

The high level approach is described in the blog article below:

Before they could become a Senpai they have to have made their green level demonstration through a belt claim (captured as a GitHub pull request). This is not so easy to do and acts as a filter.

I believe this qualifies as a known instance for SAP. @dellagustin, would you know of other known instances at SAP?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1-initial Donuts, Early pattern ideas, ... (Please see our contribution handbook for details) 📖 Type - Content Work Working on contents is the main focus of this issue / PR 💡 Early Idea
Projects
None yet
Development

No branches or pull requests

3 participants