Skip to content
New issue

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

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

Already on GitHub? # to your account

Update Maintainer status #2064

Merged
merged 3 commits into from
Jun 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline

### Features

* bump snapshot version to 4.12.1 [#2058](https://github.com/web3j/web3j/pull/2058)
* bump snapshot version to 4.12.1 [#2058](https://github.com/hyperledger/web3j/pull/2058)
* Update maintainer requirements status [#2064](https://github.com/hyperledger/web3j/pull/2064)

### BREAKING CHANGES

Expand Down
108 changes: 98 additions & 10 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
Maintainers
===========
<!-- Please keep all lists sorted alphabetically by github -->

**Active Maintainers**

| Name | GitHub | Chat |
|----------------|--------|-----|
| Conor Svensson | [conor10][conor10] | conor10 |
| Andrii | [andrii-kl][andrii-kl] | andrii-kl |
| George Ţebrean | [gtebrean][gtebrean] | gdev#2230 |
| Nischal Sharma | [NickSneo][NickSneo] | nicks1106 |

<!-- web3j-maintainers group has maintainer access to web3j repo -->

| Name | Github | LFID |
|----------------|------------------------|-----------|
| Andrii Kliui | [andrii-kl][andrii-kl] | |
| Conor Svensson | [conor10][conor10] | conor |
| George Ţebrean | [gtebrean][gtebrean] | gtebrean |
| Nischal Sharma | [NickSneo][NickSneo] | nicks1106 |

[conor10]: https://github.com/conor10
[gtebrean]: https://github.com/gtebrean
Expand All @@ -21,8 +22,95 @@ Maintainers

**Emeritus Maintainers**

| Name | GitHub | Chat |
|------|------------------|------|
|Christian Felde | [cfelde][cfelde] | cfelde |
| Name | Github | LFID |
|-----------------|---------------------|---------|
| Christian Felde | [cfelde][cfelde] | cfelde |

[cfelde]: https://github.com/cfelde

## Becoming a Maintainer

Web3J welcomes community contribution.
Each community member may progress to become a maintainer.

How to become a maintainer:

- Contribute significantly to the code in web3j repositories.

### Maintainers contribution requirement

The requirement to be able to be proposed as a maintainer is:

- 5 significant changes on code have been authored in this repos by the proposed maintainer and accepted (merged PRs).

### Maintainers approval process

The following steps must occur for a contributor to be "upgraded" as a maintainer:

- The proposed maintainer has the sponsorship of at least one other maintainer.
- This sponsoring maintainer will create a proposal PR modifying the list of
maintainers. (see [proposal PR template](#proposal-pr-template).)
- The proposed maintainer accepts the nomination and expresses a willingness
to be a long-term (more than 6 month) committer by adding a comment in the proposal PR.
- The PR will be communicated in all appropriate communication channels
including at least [web3j-contributors channel on Hyperledger Discord](https://discord.gg/hyperledger),
the [mailing list](https://lists.hyperledger.org/g/web3j)
and any maintainer/community call.
- Approval by at least 2 current maintainers within two weeks of the proposal or
an absolute majority (half the total + 1) of current maintainers.
- Maintainers will vote by approving the proposal PR.
- No veto raised by another maintainer within the voting timeframe.
- All vetoes must be accompanied by a public explanation as a comment in the
proposal PR.
- A veto can be retracted, in that case the voting timeframe is reset and all approvals are removed.
- It is bad form to veto, retract, and veto again.

The proposed maintainer becomes a maintainer either:

- when two weeks have passed without veto since the third approval of the proposal PR,
- or an absolute majority of maintainers approved the proposal PR.

In either case, no maintainer raised and stood by a veto.

## Removing Maintainers

Being a maintainer is not a status symbol or a title to be maintained indefinitely.

It will occasionally be necessary and appropriate to move a maintainer to emeritus status.

This can occur in the following situations:

- Resignation of a maintainer.
- Violation of the Code of Conduct warranting removal.
- Inactivity.
- A general measure of inactivity will be no commits or code review comments
for two reporting quarters, although this will not be strictly enforced if
the maintainer expresses a reasonable intent to continue contributing.
- Reasonable exceptions to inactivity will be granted for known long term
leave such as parental leave and medical leave.
- Other unspecified circumstances.

As for adding a maintainer, the record and governance process for moving a
maintainer to emeritus status is recorded using review approval in the PR making that change.

Returning to active status from emeritus status uses the same steps as adding a
new maintainer.

Note that the emeritus maintainer always already has the required significant contributions.
There is no contribution prescription delay.

## Proposal PR template

```markdown
I propose to add [maintainer github handle] as a Web3J project maintainer.

[maintainer github handle] contributed with many high quality commits:

- [list significant achievements]

Here are [their past contributions on Web3J project](https://github.com/hyperledger/web3j/commits?author=[user github handle]).

Voting ends two weeks from today.

For more information on this process see the Becoming a Maintainer section in the MAINTAINERS.md file.
```
Loading