Skip to content

Commit 3dcdc18

Browse files
DOC Update maintainer guidelines (#383)
- don't use brand icon - update language to reflect current state of affairs - update links (looks like this used to be in "contributing" and the links didn't get updated when it moved) - Remove unrelated information that already exists elsewhere - Swap out outdated "contributing committers" reference for the CMS Squad (we're publicly using that terminology already) - update "house rules" to reflect the things we actually do now
1 parent 8566c1f commit 3dcdc18

File tree

1 file changed

+22
-64
lines changed

1 file changed

+22
-64
lines changed
Lines changed: 22 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,23 @@
11
---
22
title: Maintainer guidelines
33
summary: Cheat sheet for module maintainers
4-
iconBrand: wpforms
4+
icon: clipboard-list
55
---
66

7-
87
# Maintainer Guidelines
98

10-
This doc outlines expectations on maintainers of Silverstripe Core. It also forms the default expectations for maintainers of Supported Modules, unless more specific contribution guidelines are available for a module.
9+
This doc outlines expectations on maintainers of Silverstripe CMS. It also forms the default expectations for maintainers of [supported modules](./supported_modules/), unless more specific contribution guidelines are available for a module.
1110

12-
Module maintainers are people taking care of the repositories, CI, documentation, source code, conventions, community communications, issue triage, and release management.
11+
Module maintainers are people taking care of the repositories, CI, documentation, source code, conventions, community communications, peer review, issue triage, and release management.
1312

1413
One of the most important maintainer responsibilities is to collaborate with other maintainers. Another important role is to facilitate community contributions (such as issue reports and pull requests).
1514

1615
[note]
17-
A lot of extra information is available in Silverstripe CMS documentation section [Contributing to Silverstripe”](./).
16+
A lot of extra information is available in the [Contributing](/contributing/) documentation.
1817
All maintainers should be familiar with those docs as they explain many details about how we work.
1918
[/note]
2019

21-
22-
## What is Silverstripe Core
23-
24-
Silverstripe CMS is powered by a system of components in the form of Composer packages. These packages will be categorised as either a _module_ or a _recipe_.
25-
26-
The "core" of Silverstripe refers to the module packages owned by the "silverstripe" Packagist vendor that fall under one of the following recipes:
27-
28-
* [silverstripe/recipe-core](https://github.com/silverstripe/recipe-cms)
29-
* [silverstripe/recipe-cms](https://github.com/silverstripe/recipe-cms)
30-
* [silverstripe/installer](https://github.com/silverstripe/silverstripe-installer)
31-
32-
## What are Supported Modules
33-
34-
In addition to Silverstripe Core, there are many [Supported Modules](https://www.silverstripe.org/software/addons/supported-modules-definition/)
35-
which have the backing of Silverstripe Ltd. While it's a good idea to apply the rules outlined in this document,
36-
work on these modules is guided by the
37-
[Supported Modules Standard](https://www.silverstripe.org/software/addons/supported-modules-definition/).
38-
Commit access in Supported Modules is handled by agreement of the repository maintainers,
39-
or any additional guidelines outlined via `README` and `CONTRIBUTING` files.
40-
20+
Refer to the [triage and peer review](/contributing/triage_resources/) for information about how those tasks are performed.
4121

4222
## Maintainer Roles
4323

@@ -46,55 +26,33 @@ or any additional guidelines outlined via `README` and `CONTRIBUTING` files.
4626
The people looking after the Silverstripe Core modules.
4727
See the details on the [Core Committers](./core_committers) page.
4828

49-
50-
### Contributing Committers
29+
### CMS Squad
5130

5231
Beyond the Core Committer role, there can be individuals which
53-
focus on core development work - typically sponsored through full-time product development roles by Silverstripe Ltd.
54-
These Contributing Committers require write access to core repositories to maintain their pace,
55-
often working alongside Core Committers. They are guided by additional rules:
56-
57-
* Contributing Committers have write access to core repositories in order to work effectively with Github issues. They are expected to use those permissions with good judgement regarding merges of pull requests.
58-
* Complex or impactful changes need to be reviewed and approved by one or more Core Committers. This includes any additions, removals or changes to commonly used APIs. If that's not possible in the team, ping `@silverstripe/core-team` to get other Core Committers involved.
59-
* For these complex or impactful changes, Core Committers should be given 1-2 working days to review. Ideally at this point, the API has already been agreed on through issue comments outlining the planned work (see [RFC Process](request_for_comment]).
60-
* More straightforward changes (e.g. documentation, styling) or areas which require quite specialised expertise (e.g. React) that's less available through most Core Committers can be approved or merged by team members who aren't Core Committers.
61-
* Self-merges should be avoided, but are preferable to having work go stale or forcing other team members to waste time by context switching into a complex review (e.g. because the original reviewer went on leave). Any self-merge should be accompanied by a comment why this couldn't be handled in another way, and a (preferably written) approval from another team member.
62-
63-
This role may be granted by any Core Committer,
64-
who should give other Core Committers an opportunity to weigh in on the decision.
65-
32+
focus on core development work and are full-time employees of Silverstripe.
6633

67-
### Triage
68-
69-
Triage of issues and pull request is an important activity: Reviewing issues, adding labels,
70-
closing stale issues, etc. This does not require write access to the repository as a "Contributing Committer".
71-
This is a great way for active community members to help out, and start a path towards becoming a Core Committer.
72-
73-
Triage roles may be granted by any Core Committer,
74-
who should give other Core Committers an opportunity to weigh in on the decision.
34+
The CMS Squad require write access to core repositories to maintain their pace,
35+
often working alongside Core Committers.
7536

37+
CMS Squad members have write access to core repositories in order to work effectively with GitHub issues. They are expected to use those permissions with good judgement for merging pull requests.
7638

7739
## Guidelines
7840

7941
With great power (write access) comes great responsibility.
8042

8143
First and foremost rule of a maintainer is to collaborate with other maintainers. Follow the house rules and remember that others also care about the modules they maintain.
8244

83-
8445
### House rules overview
8546

86-
* Be friendly, encouraging and constructive towards other community members
87-
* Frequently review pull requests and new issues (in particular, respond quickly to @mentions)
88-
* Treat issues according to our [issue guidelines](issues_and_bugs), and use the [triage resources](triage_resources)
89-
* Don't commit directly to a release branch, raise pull requests instead (except trivial fixes)
90-
* Only merge code you have tested and fully understand. If in doubt, ask for a second opinion.
91-
* Follow the [Supported Modules Standard](https://www.silverstripe.org/software/addons/supported-modules-definition/)
92-
* Ensure contributions have appropriate [test coverage](../developer_guides/testing), are documented, and pass our [coding conventions](/getting_started/coding_conventions)
93-
* Keep the codebase "releasable" at all times (check our [release process](release_process))
94-
* Follow [Semantic Versioning](code/#picking-the-right-version) by putting any changes into the correct branch
95-
* Public API changes and non-trivial features should not be merged into release branches.
96-
* Public API changes on master should not be merged until they have the buy-in of at least two Core Committers (or better, through the [core mailing list](https://groups.google.com/forum/#!forum/silverstripe-dev))
97-
* Be inclusive. Ensure a wide range of Silverstripe CMS developers can obtain an understanding of your code and docs, and you're not the only one who can maintain it.
98-
* Avoid `git push --force`, and be careful with your git remotes (no accidental pushes)
99-
* Use your own forks to create feature branches
100-
* We release using the standard process. See the [Making a Silverstripe CMS Core Release](making_a_silverstripe_core_release)
47+
* Be friendly, encouraging and constructive towards other community members
48+
* Frequently review pull requests and new issues (in particular, respond quickly to @mentions)
49+
* Treat issues according to our [issue guidelines](/contributing/issues_and_bugs/), and use the [triage resources](/contributing/triage_resources/)
50+
* Don't commit directly to existing branches, raise pull requests instead
51+
* Use forks to create feature branches for pull requests
52+
* Only merge code you have tested and fully understand. If in doubt, ask for a second opinion.
53+
* Follow the [Supported Modules Standard](https://www.silverstripe.org/software/addons/supported-modules-definition/)
54+
* Ensure contributions have appropriate [test coverage](/developer_guides/testing/), are documented, and adhere to our [coding conventions](/getting_started/coding_conventions/)
55+
* Keep the codebase "releasable" at all times (check our [release process](/contributing/release_process/))
56+
* Follow [Semantic Versioning](/contributing/code/#picking-the-right-version) by putting any changes into the correct branch
57+
* Be inclusive. Ensure a wide range of Silverstripe CMS developers can obtain an understanding of your code and docs, and you're not the only one who can maintain it.
58+
* Avoid `git push --force`, and be careful with your git remotes (no accidental pushes)

0 commit comments

Comments
 (0)