欢迎大家来到GoRust开源组织,我们的目标是打造一个世界级的精品开源组织,已经在规划的大型项目是(im.dev)[https://github.com/go-rust/im.dev],因此急需大家的加入。
为了能够在未来更好的打造和维护这个组织,我们精心设计了一整套社区标准和角色定义,希望想加入组织的你能仔细阅读,如果有疑问,可以在issues中给我们反馈。
成为社区成员
注意!本文档将列出GoRust组织不同贡献者对应的职责。整个GoRust包含多个项目(目前主要就是im.dev),因此相应的角色会限制在对应的项目底下。
开发技能要求
- 前端开发:熟练掌握reactjs 、typscript、css、less
- 后端开发:熟练掌握go语言
- 全栈开发:熟练掌握前面的所有技能
社区角色
角色 | 职责 | 要求 | 被谁定义 |
---|---|---|---|
candidate(预备成员) | 无 | 通过基本的技能考核 | maintainer |
member(正式成员) | 代码和文档贡献者 | 得到2个现有成员的支持,给项目做过多次贡献 | maintainer |
approver(审核者) | 对代码贡献进行审查和批准 | 富有经验且活跃的代码Reviewer,同时也是一个子项目的贡献者 | maintainer |
maintainer(维护者) | 管理子项目的整体方向和优先级 | 掌握全栈开发,熟悉项目的方方面面,哪里需要都可以补上,富有责任心 | partner |
partner(合伙人) | 待定 | 待定 | Sunface |
角色进阶路线
candidate -> member -> approver -> maintainer -> partner
加入社区,成为预备成员(candidate)
- 在community仓库下提交申请加入的issue
- 我们会在issue中跟您进行互动和确认
正式成员(member)
从正式成员开始,你就是组织的一部分了,我们会在github、imdev等各种平台上展示你的风采。
要求
- 得到2个现有成员的支持,给项目做过2次以上的贡献
- 加入QQ群933696593 或者 Gitter聊天频道
职责和权利
- 对于被指派的issue和RP作出响应
- 对于贡献的代码必须要持续负责和维护,除非代码所有权发生了变更
- 代码要有良好的测试
- 测试要确保能够长期通过
- 处理接受代码后发现的bug或提交的issue
- 成员可以通过Github workflow来做审查和批准,但是这不足以合并一个PR,无论如何都需要一个审核者来做审查
- 成员会被安排issues和PRs,而且人们可以要求成员来审查代码
/cc @username
注意: 经常贡献代码的成员应该积极执行代码审查(Code Review)并努力成为该子项目的审核者
审核者(approver)
代码审核者可以审查和批准代码的提交,代码审查要聚焦在代码质量和正确性,批准聚焦在全盘可接受性: 前后/向前兼容性、是否符合API的约定、性能和正确性问题、跟其他系统的交互性等等。
审核者职责范围局限在代码库的某一个部分。
要求 想要成为审核者,需要满足以下条件:
- 代码审查持续1个月以上
- 为10个以上的RPs执行过代码审查和合并
- 被一个
维护者
提名- 其它维护者没有异议
职责和权利
- 审核者身份是是否能接受大型代码贡献的前提条件
- 表现出良好的技术判断力
- 通过代码审查来保证项目的质量
- 从整体角度来思考是否接受某个贡献,例如与其它功能的依赖关系,向前/向后兼容,API定义等
- 对于需要审查的请求积极响应
- 承担一定的贡献者导师角色
维护者(maintainer)
维护者是GoRust项目的技术权威,他们必须拥有被证明过的良好判断力和责任心,以保证子项目的 良好运行。维护者要为子项目设定技术方向、证明设计的正确性等。
要求
- 必须是全栈
- 深刻理解子项目的技术目标和方向
- 深刻理解子项目的技术领域知识(特别是对应的语言)
- 通过以下行动持续的对设计和方向作出贡献:
- 创建和审查提议
- 初始化、贡献及解决讨论(邮件, GitHub issues, 会议)
- 识别PR设计和实现过程中的细微或复杂问题
- 通过实现或者审查对子项目直接作出贡献
- 与整个项目的目标、规范和设计原则保持一致,作为项目规范的一部分,引入一些通用的问题进行讨论
职责和权利
- 核心成员,享受所有可能的好处
- 为子项目作出技术设计上的决定
- 为子项目设定技术方向和优先级
- 定义项目里程(milestones)和发布
- 作为整个子项目其它角色的导师角色
- 逐步增强 审查者 and 维护者 对workflow的关注 (例如:响应力, 可用性等等)
- 确保子项目的持续健康:
- 充分的单元测试覆盖率,保证发布的可靠性
- 测试需要稳定可靠的通过(不脆弱),当测试失败时,要及时修复
- 确保讨论和决策的过程是健康的
- 和其它维护者一起维护项目的整体健康
合伙人(partner)
合伙人目前只有两个,加入条件待定,但是会很苛刻,希望大家有心理准备:)