/community

Community for GoRust contributors

欢迎大家来到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)

合伙人目前只有两个,加入条件待定,但是会很苛刻,希望大家有心理准备:)