InnerSourceCommons / InnerSourceCommons/InnerSourcePatterns

[Pattern Idea] Maintainer Apprentice

Open
#670 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

:book: Type - Content Work :bulb: Early Idea 1-initial
Dominant language
HTML
Stars
853
Forks
206
Avg merge
1d 23h
Merged PRs (30d)
2

Description

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with issue #670 and the linked known instance #669, then review the CODEOWNERS and custom repository roles context described in the issue. A complete pattern should resolve the unfinished Resulting Context section and clearly document the maintainer-apprentice problem, tradeoffs, solutions, and outcome.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, markdown
Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.