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

Maintainer and Repository Inactivity Policy #33

Merged
merged 1 commit into from May 12, 2022

Conversation

shemnon
Copy link
Contributor

@shemnon shemnon commented Apr 21, 2022

Establish policies for when a maintainer stops contributing and when
repositories stop receiving contributions.

Fixes #32

Signed-off-by: Danno Ferrin danno.ferrin@gmail.com

inactivity.md Outdated

Hyperledger very much appreciates the contributions of all maintainers but removing write privledges is in the interest of an orderly and secure project.

Maintainers who have not contributed to a Hyperledger project for (`exact timeframe to be decided`) 3 / 4 / 6 months will be removed from the relevant Github Organizations.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few questions that may arise, just thinking out loud here

  1. Repository never needed a maintainer activity.
  2. The maintainer is responsible for multiple projects, the maintainer did not have a commit or an activity in one of those projects in the last [3/4/6] months.
  3. Should the access be removed from the organization or only from the repository that the user is a maintainer of. If a maintainer is not part of any project then eventually be removed from the org.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. ?? I'm not sure what is being asked ??
  2. The tooling appears to allow us to track per-repo, so we can enforce this on a per-project basis. i.e. if I am part of project Foo and project Bar and stop contributing to Bar for 6 months, my maintainer status on Bar is removed and my commit access for Bar is removed. My status in Foo is unaffected
  3. as discussed further down the list, it will be per team. If they are removed from all teams then org removal would be the next step.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For item (1) I was referring to a highly possible case, let's consider a project, where one of the maintainer is responsible only to maintain a specific repository. But it happened so that the repository is pretty much stable and did not require any update for months.

inactivity.md Outdated

These policies apply to projects that do not have an expicity maintainer inactivity policy. Where a project has an established and functioning policy the projects policies shall prevail.

## Repository Inactivity
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a separate process for project's lifecycle. We can focus on the maintainers in this section, if we need a revision on project's lifecycle let's do it there.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer to keep all inactivity policies in one place. Splitting it into two policies splits the focus, which is dealing with inactivity holistically and not piecemeal.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is possible that repositories for an otherwise active project have become inactive. It is important to have some mechanism to "archive" those inactive repositories. I agree that any project lifecycle changes should be in the project lifecycle document.

inactivity.md Outdated Show resolved Hide resolved
inactivity.md Outdated Show resolved Hide resolved
inactivity.md Outdated Show resolved Hide resolved
inactivity.md Outdated Show resolved Hide resolved
inactivity.md Outdated Show resolved Hide resolved
inactivity.md Outdated Show resolved Hide resolved
inactivity.md Outdated Show resolved Hide resolved
inactivity.md Outdated Show resolved Hide resolved
inactivity.md Outdated Show resolved Hide resolved
inactivity.md Outdated Show resolved Hide resolved
inactivity.md Outdated

## Repository Inactivity

Any repository that has not had a release for (`exact timeframe to be decided`) 12 months or that has had no commits for 6 months may be archived by the TSC or Hyperledger staff.
Copy link

@C0rWin C0rWin Apr 22, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to reflect somehow that commits to being counted has to be of significant importance and not small updates and changes. Another point is that there are repos where maintainers extracted self-contained functionality and there is not actually too much to update there besides probably some dependencies or release notes. IMO we also need to be careful with this here, I would consider per project health status rather than the single repo.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For a HLF wide policy we need a very objective policy, and judging the worth of a commit is about as subjective as it gets. Individual projects can make their own policy if they want to judge the significance of a contribution.

Regarding the static "framework" repositories, the clause about requests not to close has no limit (unlike the contributor policy) so a true framework can be kept unarchived indefinitely, until the security notifications start piling up.

One reason to focus this per-repository instead of per-project is that some project repos have been forgotten by their projects when maintainers leave. If the repo is valuable the team can request it not be archived.

inactivity.md Outdated Show resolved Hide resolved
inactivity.md Outdated Show resolved Hide resolved
inactivity.md Outdated Show resolved Hide resolved
inactivity.md Outdated

Hyperledger very much appreciates the contributions of all maintainers but removing write privileges is in the interest of an orderly and secure project.

Maintainers who have not contributed to a Hyperledger project for (`exact timeframe to be decided`) 3 / 4 / 6 months will be retired from active maintainer status and moved to an emeritus status. Any permissions to approve pull requests or commit code and any other such privileges associated with maintainer status will be removed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 months sounds too short.
6 months + 3 month extension sounds too long (9 months total).
My suggestion would be to split the difference: a 4 month inactivity timeframe, with option for 2 month extension, resulting in a total period of 6 months.

@tkuhrt
Copy link
Contributor

tkuhrt commented May 4, 2022

I vote for 3 months of inactivity with one 3 month extension granted upon request.

inactivity.md Outdated Show resolved Hide resolved
index.md Show resolved Hide resolved
inactivity.md Outdated Show resolved Hide resolved
inactivity.md Outdated Show resolved Hide resolved
@tkuhrt
Copy link
Contributor

tkuhrt commented May 10, 2022

@hyperledger/tsc : Just a reminder to approve or comment on this PR. We do not currently have enough votes here in GitHub to approve. If we do not get that, we will bring this up for a vote in Thursday's meeting.

Copy link
Contributor

@lehors lehors left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks!

@shemnon
Copy link
Contributor Author

shemnon commented May 10, 2022

I vote YES. I cannot approve my own PR so this will be my vote.

Posting a PR may be taken as an implicit YES vote, but I can see situations where making a proposal to vote negatively on would be useful to crystalize committee policy and positions.

@knagware9
Copy link

yes


Activity can be code contributions, code reviews, issue reporting, or any other such activity trackable by GitHub attributed to a Hyperledger repository.

When a maintainer has not had any activity in a particular project for three months they will receive a notification informing them of the inactivity policies. The means and manner of notification (email, github mentions, etc.) will be at the discretion of the TSC Chair or who the TSC Chair designates.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this mean that TSC chair can choose their preferred media of communication to different projects and repositories?
I wouldn't think that's necessary, moving to emeritus status is anyway publicly visible. There can be a standard process setup where notifications are sent to a group of maintainers. For example, a discord channel for maintainers of that project, on mailing list etc. The secondary means of communication can then become optional.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't want to write the means of warning in to the policy. This makes it flexible if a project changes chat servers again, or if one project uses email more than chat, or any other such eventualities.

Since this is a courtesy notice it may not come in the form of a PR.

@ryjones ryjones added decision-log Decisions before the TOC approved Approved by TOC vote labels May 12, 2022
@ryjones
Copy link
Member

ryjones commented May 12, 2022

Approved by voice vote 12 MAY 2022

Establish policies for when a maintainer stops contributing and when
repositories stop receiving contributions.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
@shemnon shemnon merged commit 7a93461 into hyperledger:gh-pages May 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Approved by TOC vote decision-log Decisions before the TOC
Projects
None yet
Development

Successfully merging this pull request may close these issues.

A default maintainer retirement policy for projects without one
9 participants