未验证 提交 4973b30e 编写于 作者: T TyrantLucifer 提交者: GitHub

[Feature][doc] Add a guide to nominate new committer (#12175)

Co-authored-by: CalvinKirs's avatarKirs <ACM_China@yeah.net>
上级 aa5526ef
# How to Become DolphinScheduler Committer
# How to become a committer of Apache Dolphinscheduler
Anyone can be a contributor to an Apache project. Being a contributor simply means that you take an interest in the project and contribute in some way, ranging from asking sensible questions (which documents the project and provides feedback to developers) through to providing new features as patches.
Dolphinscheduler Project Management Committee (PMC) is responsible for assessing the contributions of candidates.
If you become a valuable contributor to the project you may well be invited to become a committer. Committer is a term used at the ASF to signify someone who is committed to a particular project. It brings with it the privilege of write access to the project repository and resources.
Like many Apache projects, Dolphinscheduler welcome all contributions, including code contributions, blog entries, guides for new users, public speeches, and enhancement of the project in various ways.
In Dolphinscheduler community, if a committer who have earned even more merit, can be invited to be a part of the Project Management Committee (PMC).
Becoming a committer to get started contributing to Dolphinscheduler, learn how to contribute – anyone can submit patches, documentation and examples to the project.
One thing that is sometimes hard to understand when you are new to the open development process used at the ASF, is that we value the community more than the code. A strong and healthy community will be respectful and be a fun and rewarding place. More importantly, a diverse and healthy community can continue to support the code over the longer term, even as individual companies come and go from the field.
The PMC regularly adds new committers from the active contributors, based on their contributions to Dolphinscheduler. The qualifications for new committers include:
More details could be found [here](https://community.apache.org/contributors/).
Sustained contributions to Dolphinscheduler: Committers should have a history of major contributions to Dolphinscheduler. An ideal committer will have contributed broadly throughout the project, and have contributed at least one major component where they have taken an “ownership” role. An ownership role means that existing contributors feel that they should run patches for this component by this person.
Quality of contributions: Committers more than any other community member should submit simple, well-tested, and well-designed patches. In addition, they should show sufficient expertise to be able to review patches, including making sure they fit within Dolphinscheduler’s engineering practices (testability, documentation, API stability, code style, etc). The committership is collectively responsible for the software quality and maintainability of Dolphinscheduler. Note that contributions to critical parts of Dolphinscheduler, like its core modules, will be held to a higher standard when assessing quality. Contributors to these areas will face more review of their changes.
Community involvement: Committers should have a constructive and friendly attitude in all community interactions. They should also be active on the dev and user list and help mentor newer contributors and users. In design discussions, committers should maintain a professional and diplomatic approach, even in the face of disagreement.
## Nominate new committer
In Dolphinscheduler, **new committer nomination** could only be officially started by existing PMC members. If a new committer feels that he/she is qualified, he/she should contact any existing PMC member and discuss. If this is agreed among some members of the PMC, the process will kick off.
The following steps are recommended (to be initiated only by an existing PMC member):
1. Send an email titled `[DISCUSS] Promote xxx as new committer` to `private@dolphinscheduler.apache.org`. List the important contributions of the candidate,
so you could gather support from other PMC members for your proposal.
2. Keep the discussion open for more than 3 days but no more than 1 week, unless there is any express objection or concern.
3. If the PMC generally agrees to the proposal, send an email titled `[VOTE] Promote xxx as new committer` to `private@dolphinscheduler.apache.org`.
4. Keep the voting process open for more than 3 days, but no more than 1 week. Consider the result as `Consensus Approval` if there are `3 + 1` votes with `NO` vetos. Please note that +1 votes > -1 votes.
5. Send an email titled `[RESULT][VOTE] Promote xxx as new committer` to `private@dolphinscheduler.apache.org`, and list the voting details, including who the voters are.
## Invite new committer
The PMC member who starts the promotion is responsible for sending an invitation to the new committer and guiding him/her to set up the ASF env.
The PMC member should send an email using the following template to the new committer:
```
To: <invitee name>@gmail.com
Cc: private@dolphinscheduler.apache.org
Subject: Invitation to become dolphinscheduler committer: <invitee name>
Hello <invitee name>,
The Dolphinscheduler Project Management Committee] (PMC)
hereby offers you committer privileges to the project. These privileges are
offered on the understanding that you'll use them
reasonably and with common sense. We like to work on trust
rather than unnecessary constraints.
Being a committer enables you to more easily make
changes without needing to go through the patch
submission process.
Being a committer does not require you to
participate any more than you already do. It does
tend to make one even more committed. You will
probably find that you spend more time here.
Of course, you can decline and instead remain as a
contributor, participating as you do now.
A. This personal invitation is a chance for you to
accept or decline in private. Either way, please
let us know in reply to the [private@dolphinscheduler.apache.org]
address only.
B. If you accept, the next step is to register an iCLA:
1. Details of the iCLA and the forms are found
through this link: http://www.apache.org/licenses/#clas
2. Instructions for its completion and return to
the Secretary of the ASF are found at
http://www.apache.org/licenses/#submitting
3. When you transmit the completed iCLA, request
to notify the Apache Dolphinscheduler and choose a
unique Apache id. Look to see if your preferred
id is already taken at
http://people.apache.org/committer-index.html
This will allow the Secretary to notify the PMC
when your iCLA has been recorded.
When recording of your iCLA is noticed, you will
receive a follow-up message with the next steps for
establishing you as a committer.
```
## Invitation acceptance process
The new committer should reply to `private@dolphinscheduler.apache.org` (choose `reply all`), and express his/her intention to accept the invitation.
Then, this invitation will be treated as accepted by the project's PMC. Of course, the new committer may also choose to decline the invitation.
Once the invitation has been accepted, the new committer has to take the following steps:
1. Subscribe to `dev@dolphinscheduler.apache.org`. Usually this is already done.
2. Choose a Apache ID that is not on the [apache committers list page](http://people.apache.org/committer-index.html).
3. Download the [ICLA](https://www.apache.org/licenses/icla.pdf) (If the new committer contributes to the project as a day job, [CCLA](http://www.apache.org/licenses/cla-corporate.pdf) is expected).
4. After filling in the `icla.pdf` (or `ccla.pdf`) with the correct information, print, sign it by hand, scan it as an PDF, and send it as an attachment to [secretary@apache.org](mailto:secretary@apache.org). (If electronic signature is preferred, please follow the steps on [this page](http://www.apache.org/licenses/contributor-agreements.html#submitting))
5. The PMC will wait for the Apache secretary to confirm the ICLA (or CCLA) filed. The new committer and PMC will receive the following email:
```
Dear XXX,
This message acknowledges receipt of your ICLA, which has been filed in the Apache Software Foundation records.
Your account has been requested for you and you should receive email with next steps
within the next few days (can take up to a week).
Please refer to https://www.apache.org/foundation/how-it-works.html#developers
for more information about roles at Apache.
```
In the unlikely event that the account has not yet been requested, the PMC member should contact the project V.P..
The V.P. could request through the [Apache Account Submission Helper Form](https://whimsy.apache.org/officers/acreq).
After several days, the new committer will receive an email confirming creation of the account, titled `Welcome to the Apache Software Foundation (ASF)!`.
Congratulations! The new committer now has an official Apache ID.
The PMC member should add the new committer to the official committer list through [roster](https://whimsy.apache.org/roster/pmc/dolphinscheduler).
## Set up the Apache ID and dev env
1. Go to [Apache Account Utility Platform](https://id.apache.org/), create your password, set up your personal mailbox (`Forwarding email address`) and GitHub account(`Your GitHub Username`). An organizational invite will be sent to you via email shortly thereafter (within 2 hours).
2. If you would like to use the `xxx@apache.org` email service, please refer to [here](https://infra.apache.org/committer-email.html). Gmail is recommended, because this forwarding mode is not easy to find in most mailbox service settings.
3. Follow the `Authorized GitHub 2FA wiki` to enable two-factor authorization (2FA) on [Github](http://github.com/). When you set 2FA to "off", it will be delisted by the corresponding Apache committer write permission group until you set it up again. (**NOTE: Treat your recovery codes with the same level of attention as you would your password!**)
4. Use [GitBox Account Linking Utility](https://gitbox.apache.org/setup/) to obtain write permission of the Dolphinscheduler project.
If you would like to show up publicly in the Apache GitHub org, you need to go to the [Apache GitHub org people page](https://github.com/orgs/apache/people),
search for yourself, and choose `Organization visibility` to `Public`.
## Committer rights, duties, and responsibilities
The Dolphinscheduler project doesn't require continuing contributions from you after you have become a committer, but we truly hope that you will continue to play a part in our community!
As a committer, you could
1. Review and merge the pull request to the master branch in the Apache repo. A pull request often contains multiple commits. Those commits **must be squashed and merged** into a single commit **with explanatory comments**. It is recommended for new committers to request recheck of the pull request from senior committers.
2. Create and push codes to the new branch in the Apache repo.
3. Prepare a new release. Remember to confirm with the committer team before you prepare, because that it is the right time to create the release.
The PMC hopes that the new committer will take part in the release process as well as release voting, even though their vote will be regarded as `+1 no binding`.
Being familiar with the release process is key to being promoted to the role of PMC member.
## Project Management Committee
The Project Management Committee (PMC) member does not have any special rights in code contributions.
They simply oversee the project and make sure that it follows the Apache requirements. Its functions include:
1. Binding voting for releases and license checks;
2. New committer and PMC member recognition;
3. Identification of branding issues and brand protection; and
4. Responding to the questions raised by the ASF board, and taking necessary actions.
The V.P. and chair of the PMC is the secretary, who is responsible for initializing the board report.
In most cases, a new PMC member is nominated from the committer team. But it is also possible to become a PMC member directly, so long as the PMC agrees to the nomination and is confident that the candidate is ready. For instance, this can be demonstrated by the fact that he/she has been an Apache member, an Apache officer, or a PMC member of another project.
The new PMC voting process should also follow the `[DISCUSS]`, `[VOTE]` and `[RESULT][VOTE]` procedures using a private mail list, just like the voting process for new committers.
Before sending the invitation, the PMC must also send a NOTICE mail to the Apache board.
```
To: board@apache.org
Cc: private@dolphinscheduler.apache.org
Subject: [NOTICE] Jane Doe for Dolphinscheduler PMC
Dolphinscheduler proposes to invite Jane Doe (janedoe) to join the PMC.
(include if a vote was held) The vote result is available here: https://lists.apache.org/...
```
After 72 hours, if the board doesn't object to the nomination (which it won't most cases), an invitation may then be sent to the candidate.
Once the invitation is accepted, a PMC member should add the new member to the official PMC list through [roster](https://whimsy.apache.org/roster/pmc/dolphinscheduler).
# 如何成为 DolphinScheduler Committer
# 如何成为Apache Dolphinscheduler项目的committer
每个人都可以成为Apache项目的贡献者。作为一个贡献者只是意味着你对项目感兴趣并以某种方式做出贡献,从提出合理的问题(这些问题记录了项目并向开发人员提供反馈)到提供新的特性作为补丁
Dolphinscheduler 项目管理委员会(PMC)会评估候选人的贡献,并在合适的时间提名候选者
如果你成为对一个项目有价值的贡献者,你有可能被邀请成为一个committer。committer是ASF(Apache软件基金会)中用来表示提交特定项目的人的术语。它给你带来对项目仓库和资源写的权限
像许多Apache项目一样,Dolphinscheduler欢迎所有形式的贡献,包括代码贡献、博客布道、新用户指南、公开演讲,以及以各种方式宣传项目和优化项目
在Dolphinscheduler社区,如果一个committer获得大量的优秀成绩,就可以被邀请加入项目管理委员会(PMC)
成为committer的第一步是要学习如何为Dolphinscheduler贡献并开始为Dolphinscheduler贡献,任何人可以向项目提交补丁、使用文档、测试用例等
当您不熟悉ASF使用的开源的开发过程时,有时难以理解的一点,就是我们更重视社区而不是代码。一个强大而健康的社区将受到尊重,成为一个有趣和有益的地方。更重要的是,一个多元化和健康的社区
可以长时间的持续支持代码,即使个别公司在这个领域来来往往,也是如此。
PMC会定期基于活跃贡献者们对Dolphinscheduler的贡献从他们中提名增加新的committer,要被提名为committer的条件如下:
更多详细信息可以在[这里](https://community.apache.org/contributors/)找到
1. 对Dolphinscheduler有持续的贡献:候选人应该对Dolphinscheduler有重大贡献,并且至少贡献了一个主要的组件,并在其中扮演了"owner"的角色。
2. 贡献的质量:候选人提交代码的质量应该比其他贡献者更高,此外他们应该表现出足够的专业知识来审查每个pr,包括确保它们符合Dolphinscheduler的工程实践(可测试性,文档,API稳定性,代码风格,等等)。委员会与committer对Dolphinscheduler的软件质量和可维护性共同负责。请注意,对Dolphinscheduler关键部分的贡献,比如它的核心模块,在评估质量时将会有更高的标准,这些领域的贡献者将面临更多的修改审查。
3. 社区参与:候选人在所有的社区互动中应该有一个建设性的和友好的态度,他们还应该在开发和用户列表中活跃,帮助指导新的贡献者和用户。在设计讨论中,候选人应该保持专业和开发的态度,即使面对分歧时也要有合理的沟通。
## 提名新的committer
在Dolphinscheduler中,committer提名只能由现有的PMC成员开始。如果一个新的提交者觉得他/她有资格,他/她应该联系任何现有的PMC成员并进行讨论。如果这一点在PMC的一些成员中得到了认同,那么这个过程就会启动。
建议采取以下步骤(仅需要现有2个PMC成员就可以发起):
1. 发送一封标题为"[讨论]晋升xxx为新的committer"的电子邮件到`private@dolphinscheduler.apache.org`,并在邮件中列出该候选人的重要贡献,这样就可以提名流程。
2. 保持讨论要超过3天,但不超过1周,除非有任何明确的反对。
3. 如果PMC普遍同意该提议,请发送一封题为"[投票]提名xxx成为新的committer"的电子邮件到`private@dolphinscheduler.apache.org`
4. 保持投票过程超过3天,但不超过1周。至少3 + 1票,且无反对票,则视为"共识批准"。注:+1票 > -1票。
5. 发送一封题为"[结果] [投票]晋升xxx为新的committer"的电子邮件到`private@dolphinscheduler.apache.org`,并列出投票细节,包括谁是投票者。
## 邀请新的committer
发起提名的PMC成员负责向新的committer发出邀请,并指导他/她建立ASF精神思想。
PMC成员应使用以下模板向新的committer发送一封电子邮件:
```
To: <invitee name>@gmail.com
Cc: private@dolphinscheduler.apache.org
Subject: Invitation to become dolphinscheduler committer: <invitee name>
Hello <invitee name>,
The Dolphinscheduler Project Management Committee] (PMC)
hereby offers you committer privileges to the project. These privileges are
offered on the understanding that you'll use them
reasonably and with common sense. We like to work on trust
rather than unnecessary constraints.
Being a committer enables you to more easily make
changes without needing to go through the patch
submission process.
Being a committer does not require you to
participate any more than you already do. It does
tend to make one even more committed. You will
probably find that you spend more time here.
Of course, you can decline and instead remain as a
contributor, participating as you do now.
A. This personal invitation is a chance for you to
accept or decline in private. Either way, please
let us know in reply to the [private@dolphinscheduler.apache.org]
address only.
B. If you accept, the next step is to register an iCLA:
1. Details of the iCLA and the forms are found
through this link: http://www.apache.org/licenses/#clas
2. Instructions for its completion and return to
the Secretary of the ASF are found at
http://www.apache.org/licenses/#submitting
3. When you transmit the completed iCLA, request
to notify the Apache Dolphinscheduler and choose a
unique Apache id. Look to see if your preferred
id is already taken at
http://people.apache.org/committer-index.html
This will allow the Secretary to notify the PMC
when your iCLA has been recorded.
When recording of your iCLA is noticed, you will
receive a follow-up message with the next steps for
establishing you as a committer.
```
## 接受邀请
新的提交者应该回复`private@dolphinscheduler.apache.org`(选择`回复所有`),并表达他/她接受邀请的意愿。
一旦接受了邀请,新的committer必须采取以下步骤:
1. 订阅`dev@dolphinscheduler.apache.org`,通常情况下,这已经完成
2. 选择一个不在[apache committers list page](http://people.apache.org/committer-index.html)上的Apache ID
3. 下载[ICLA](https://www.apache.org/licenses/icla.pdf)(如果新的提交者将项目作为日常工作来贡献,则应下载[CCLA](http://www.apache.org/licenses/cla-corporate.pdf)
4.`icla.pdf`(或`ccla.pdf`)中填写正确的信息后,打印出来,手写签名,扫描成PDF格式,并作为附件发送至[secretary@apache.org](mailto:secretary@apache.org)。(如果希望使用电子签名,请按照[本页](http://www.apache.org/licenses/contributor-agreements.html#submitting)上的步骤进行)
5. PMC将等待Apache秘书确认所提交的ICLA(或CCLA),新的committer和PMC将收到以下电子邮件:
```
Dear XXX,
This message acknowledges receipt of your ICLA, which has been filed in the Apache Software Foundation records.
Your account has been requested for you and you should receive email with next steps
within the next few days (can take up to a week).
Please refer to https://www.apache.org/foundation/how-it-works.html#developers
for more information about roles at Apache.
```
在极端情况下,如果账户申请过程中出现问题,PMC成员应该联系项目的V.P.,V.P.可以通过[Apache Account Submission Helper Form](https://whimsy.apache.org/officers/acreq)进行申请。
几天后,新的committer将收到一封确认创建账户的电子邮件,标题为 `欢迎来到Apache软件基金会(ASF)!`。祝贺你! 现在有了一个正式的Apache ID。
PMC成员应通过[花名册](https://whimsy.apache.org/roster/pmc/dolphinscheduler)将新的提交者加入官方committer名单。
## 初始化Apache ID和设置开发环境
1. 进入[Apache Account Utility Platform](https://id.apache.org/),创建你的密码,设置你的个人邮箱(`Forwarding email address`)和GitHub账户(`Your GitHub Username`)。此后不久(2小时内),我们将通过电子邮件向你发出组织邀请。
2. 如果你想使用`xxx@apache.org`电子邮件服务,请参考[这里](https://infra.apache.org/committer-email.html)。推荐使用`Gmail`,因为这种转发模式在大多数邮箱服务设置中都不容易被设置。
3. 根据`GitHub 2FA wiki`,在[Github](http://github.com/)上启用双因素授权(2FA)。当你将2FA设置为关闭时,它将被相应的Apache committer写权限组除名,直到你再次开启。(**注意:对待你的恢复码要像对待你的密码一样严谨!**)
4. 使用[GitBox Account Linking Utility](https://gitbox.apache.org/setup/)获得Dolphinscheduler项目的写入许可。
如果你想在Apache GitHub组织中公开显示,你需要到[Apache GitHub组织人员页面](https://github.com/orgs/apache/people)搜索你自己,并选择 "组织可见性 "为 "公开"。
## Committer的权利、义务和责任
Dolphinscheduler项目并不要求你在成为committer后继续做出贡献,但我们真心希望你能继续在社区中发挥榜样作用!
作为committer,你应该:
1. review贡献者的pr,并将合格的pr合并到项目主分支,一个pr通常包含多个提交,这些提交**必须被压缩并合并为一个提交****并附上解释说明**,我们建议新的committer在review完pr后再请求资深committer重新review pr。
2. 创建并推送代码至项目中的新分支。
3. 按照发布流程来准备一个新的版本,记住要与committer团队确认,发布版本之前与团队确认是必须要做的事情。
PMC希望新的committer能够参与发布过程以及发布投票,尽管他们的投票将被视为"+1无约束力",熟悉发布过程是晋升为PMC成员的关键。
## 项目管理委员会
项目管理委员会(PMC)成员在代码贡献方面没有任何特殊权利,
他们只是监督项目,并确保其遵循Apache的要求,其职能包括:
1. 对版本发布和许可检查进行有约束力的投票
2. 认可新的committer和PMC成员
3. 确定品牌问题和品牌保护
4. 回应ASF董事会提出的问题,并采取必要的行动
副主席和PMC的主席是秘书,负责初始化董事会报告。
在大多数情况下,一个新的PMC成员是由committer团队提名的,但也有可能直接成为PMC成员,只要PMC同意提名并确信候选人有资格。例如,可以通过他/她曾经是Apache成员、Apache官员或其他项目的PMC成员来证明这一点。
新的PMC投票过程也应遵循 新的PMC投票过程也应遵循`[讨论]``[投票]``[结果][投票]`程序,使用一个私人邮件列表,就像新提交者的投票过程,在发送邀请之前,PMC还必须向Apache董事会发送NOTICE邮件;`[讨论]``[投票]``[结果][投票]`程序使用私人邮件列表,就像新committer的投票过程,在发送邀请之前,PMC还必须向Apache董事会发送一封NOTICE邮件:
```
To: board@apache.org
Cc: private@dolphinscheduler.apache.org
Subject: [NOTICE] Jane Doe for Dolphinscheduler PMC
Dolphinscheduler proposes to invite Jane Doe (janedoe) to join the PMC.
(include if a vote was held) The vote result is available here: https://lists.apache.org/...
```
72小时后,如果董事会不反对提名(大多数情况下不会反对),那么就可以向候选人发出邀请。
一旦候选人接受邀请,PMC成员应通过[花名册](https://whimsy.apache.org/roster/pmc/dolphinscheduler)将新成员加入PMC正式名单。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册