Skip to content

Commit 34594cf

Browse files
committed
A new Member contributor role that can trigger CI
We currently have three roles that contributors to the Swift project on GitHub can have: Everybody can participate the Swift open source project and become a *Contributor*. After creating a track record by creating 5 non-trivial pull requests that were accepted without modifications, contributors can request [*Commit Access*](https://www.swift.org/contributing/#commit-access), which allows them to merge PRs and also trigger CI. Finally, contributors can become [*Code Owners*](https://www.swift.org/community/#code-owners). With the current structure, gaining the ability to trigger CI has quite a high bar and hinders new contributors from accelerating their contributions to Swift. We are thus introducing a new role: After contributing to Swift multiple times, contributors can request to become a *Member*, which grants them the ability to trigger CI but does not give them commit access yet. This way they can test changes on their own schedule and taking the burden to trigger CI off those with commit access. For now, this is not indented to change any of the other roles. We are working on improvements and clarifications to the other roles as well but would like to keep this change focused on the *Member* role. Finally a word on the role’s naming: Becoming a *Member* will be implemented by adding the user to the `swiftlang` organization on GitHub, which also displays a *Member* badge next in PRs opened by that user. We want to align the naming in Swift’s contributor ladder with that of GitHub to avoid confusion.
1 parent 7105a53 commit 34594cf

File tree

2 files changed

+41
-21
lines changed

2 files changed

+41
-21
lines changed

community/index.md

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@ Advancing the Swift programming language with a coherent, clear view of its evol
2323

2424
* __[Project Lead](#project-lead)__ appoints technical leaders from the community. Apple Inc. is the project lead, and interacts with the community through its representative.
2525
* __[Core Team](#core-team)__ is the small group responsible for strategic direction and oversight of the Swift project.
26-
* __[Code Owner](#code-owners)__ is the individual responsible for a specific area of the Swift codebase.
26+
* __[Code Owner](/contributing/#code-owners)__ is the individual responsible for a specific area of the Swift codebase.
2727
* __[Committer](/contributing/#commit-access)__ is anyone that has commit access to the Swift code base.
28-
* __[Contributor](/contributing/#contributing-code)__ is anyone that contributes a patch or helps with code review.
28+
* __[Member](/contributing/#commit-access)__ are members of the swiftlang organization on GitHub.
29+
* __[Contributor](/contributing/#contributor)__ is anyone who has contributed to Swift by writing code, answering questions on the forums, reporting or triaging bugs, participating in the Swift evolution process, or other ways.
2930
* __Steering Groups__
3031
* __[Language](#language-steering-group)__ is a small group of experts that drive the Swift language forward in a coherent direction.
3132
* __[Platforms](/platform-steering-group)__ is a small group of experts that enables the Swift language and its tools to be used in new environments.
@@ -77,24 +78,6 @@ The current Language Steering Group members are:
7778
{% for person in people %}* {{ person.name }}
7879
{% endfor %}
7980

80-
#### Code Owners
81-
82-
[Contact via Forums](https://forums.swift.org/new-message?groupname=code-owners)
83-
84-
Code owners are individuals assigned to specific areas of the Swift project, with code quality their primary responsibility. The umbrella Swift project is composed of numerous sub-projects including the Swift standard library, extensions to the LLDB debugger, and the Swift package manager, to name a few. Each sub-project will be assigned a code owner. The code owner then works to get all contributions reviewed, gather feedback from the community, and shepherd approved patches into the product.
85-
86-
Anyone can review a piece of code, and we welcome code review from everyone that is interested. Code review procedures are not dictated by a central, global policy. Instead, the process is defined by each code owner.
87-
88-
Any community member that is active and shows themselves to be valuable can offer to become a code owner via posting to the forums, or be nominated by another member. If fellow contributors agree, the project lead will make the appointment and add the new owner's name to the code owners file. The position is completely voluntary, and can be resigned at any time.
89-
90-
The list of current code owners can be found in the file `CODE_OWNERS.txt` in the root of the parent Swift source tree. We also maintain a mailing group so you can [send an email][email-owners] to all the code owners.
91-
92-
There may be nothing more important to the success of Swift than strong, engaged code owners. We all owe them respect, gratitude, and whatever help we can offer.
93-
94-
95-
Each contributor is responsible for adding his or her name to the `CONTRIBUTORS.txt` file at the project's root and maintaining the contact information. If you are contributing under the umbrella of your company, please add your company’s information, and do not also list yourself as an additional copyright holder.
96-
97-
9881
{% include_relative _forums.md %}
9982

10083

contributing/_contributing-code.md

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,27 @@ We prefer that these issues be handled before submission, but we understand that
189189

190190
Commits that clearly violate these quality standards may be reverted, in particular when the change blocks other developers from making progress. The developer is welcome to recommit the change after the problem has been fixed.
191191

192-
### Commit Access
192+
### Contributor Ladder
193+
194+
This contributor ladder defines the roles you might gain while contributing to Swift on GitHub. Each role has privileges associated, which requires building trust with the community of contributors. We recognize there are many different types of contributors to Swift and we appreciate every single one! Everyone who has participated in the open source Swift project is a *Contributor*: This can be by writing code, answering questions on the forums, reporting or triaging bugs, or participating in the Swift evolution process.
195+
196+
As you climb the contributor ladder by contributing to Swift on GitHub, you gain new privileges but also gain trust and responsibilities that you are expected to fulfill. If a contributor violates this trust and these responsibilities, the Core Team may give them a notice and upon repeated infringements revoke their level. We believe in a healthy community and hope this action will never be necessary.
197+
198+
#### Member
199+
200+
A *Member* has constructively contributed to Swift multiple times. This role is held across the entire organization, becoming a *Member* allows you to trigger CI on all repositories in the swiftlang organization on GitHub.
201+
202+
- Requirements
203+
- Make multiple constructive contributions to the Swift projects, this can be in the form of PRs, engagement on the Swift Forums, filing valuable issue, triaging them, or similar forms of contributions.
204+
- Privileges
205+
- Ability to trigger CI testing
206+
- Show your membership in the swiftlang organization on your GitHub profile
207+
- Nomination
208+
- If you would like to become a member, please send an email to [the code owners list](mailto:[email protected]) with the GitHub user name that you want to use
209+
- Growth
210+
- Show that you use the privileges constructively and continue contributing to gain commit access.
211+
212+
#### Commit Access
193213

194214
Commit access is granted to contributors with a track record of submitting high-quality changes. If you would like commit access, please send an email to [the code owners list](mailto:[email protected]) with the GitHub user name that you want to use and a list of 5 non-trivial pull requests that were accepted without modifications.
195215

@@ -203,6 +223,23 @@ Once you’ve been granted commit access, you will be able to commit to all of t
203223

204224
Multiple violations of these policies or a single egregious violation may cause commit access to be revoked. Even with commit access, your changes are still subject to [code review](#code-review). Of course, you are also encouraged to review other peoples’ changes.
205225

226+
227+
#### Code Owners
228+
229+
Code owners are individuals assigned to specific areas of the Swift project, with code quality their primary responsibility. The umbrella Swift project is composed of numerous sub-projects including the Swift standard library, extensions to the LLDB debugger, and the Swift package manager, to name a few. Each sub-project will be assigned a code owner. The code owner then works to get all contributions reviewed, gather feedback from the community, and shepherd approved patches into the product.
230+
231+
Anyone can review a piece of code, and we welcome code review from everyone that is interested. Code review procedures are not dictated by a central, global policy. Instead, the process is defined by each code owner.
232+
233+
Any community member that is active and shows themselves to be valuable can offer to become a code owner via posting to the forums, or be nominated by another member. If fellow contributors agree, the project lead will make the appointment and add the new owner's name to the code owners file. The position is completely voluntary, and can be resigned at any time.
234+
235+
The list of current code owners can be found in the file `CODE_OWNERS.txt` in the root of the parent Swift source tree. We also maintain a mailing group so you can [send an email](mailto:[email protected]) to all the code owners.
236+
237+
There may be nothing more important to the success of Swift than strong, engaged code owners. We all owe them respect, gratitude, and whatever help we can offer.
238+
239+
240+
Each contributor is responsible for adding his or her name to the `CONTRIBUTORS.txt` file at the project's root and maintaining the contact information. If you are contributing under the umbrella of your company, please add your company’s information, and do not also list yourself as an additional copyright holder.
241+
242+
206243
[community]: /community "Swift.org community overview"
207244
[get_started]: /getting-started/ "How to setup your own version of Swift"
208245

0 commit comments

Comments
 (0)