核心团队中那些忙碌的小蜜蜂们肩负着许多责任,让 BeeWare 这个蜂巢继续运转。这是一个不断发展的项目,因此本页内容可能会有所变动。

这些包括但不限于回复问题、审查和合并代码、指导新的贡献者以及 BeeWare 项目的整体架构。

有一些人,我们信任他们,让他们做出代码决定;有一些人,我们信任他们,让他们做出代码和组织决定;还有一个人负责引导整个组织的愿景,并在社区无法达成共识时受托做出最终决定。

这些级别可描述如下:

蜜蜂,或工蜂:

  • 任何 BeeWare 社区成员。鉴于我们在 GitHub 上公开工作,任何人都可以对代码提出修改建议,并将其代码合并。对您贡献能力的唯一限制是您的工作需要由有权的团队成员合并。

养蜂人:

  • 被公认为可信赖的贡献者的蜜蜂。在一段时期内,这些蜜蜂在 BeeWare 项目的某一特定部分表现出了能力。这可能是技术层面上(例如 JavaScript、Python、Objective-C 专业知识;GTK+、macOS 知识),或其他层面(社区管理、代码审查)上的能力。养蜂人还可能拥有在它们的专业知识得到认可的项目的 commit 位。

高级养蜂人:

  • 高级养蜂人:拥有 GitHub 的高级访问权限,同时还承担着监督整个项目的责任。他们能够做出架构上的决策,但最终要向 BDFN 回答。

创始养蜂人:Russell Keith-Magee

  • 第一个站在山上发现需要剃毛的牦牛的人
  • 这个角色从来不回改变,一直持续到永远
  • 这个角色与 BDFN 的角色不同

“目前仁慈的独裁者”(BDFN,Be(e-)nevolent Dictator for Now):Russell Keith-Magee

  • 对于终身仁慈独裁者(Benevolent Dictator For Life)概念的改写,BDFN 有责任决定项目的方向与决策。使用“目前”而不是“终身”是对 Django 的不将核心维护者的责任放在一个人的自然生命上的主题的致敬。生活在开源外存在,代码与生活之间平衡与总体幸福感是需要记住的一件重要事情。

方针(非实际规则)

与任何拥有多人提交权的项目一样,团队应遵循一些一般准则:

  • 做项目在更广泛社区的良好代表
  • 尊重对任何 BeeWare 项目的询问和贡献
  • 假定每个人都是出于好意,即使他们用词不当。
  • 假定如果有人用“错误”的方式做了某事,那是因为我们没有沟通好过程
  • 假定任何愤怒或沮丧的表达都是发自内心想使用 BeeWare 工具或库的真实想法
  • 鼓励社区的其他成员在 BeeWare 社区内外的交流中体现这些理念
  • 任何养蜂人都不应 commit 自己的代码
    • 例外:“某处已严重损坏,需要立即修复”
    • 例外情况:BDFN(将来可能会改变)
  • 核心团队成员提交审核的所有代码都应由另一名团队成员审核
    • 例外:BDFN(将来可能会更改)
  • 所有代码在合并前都应通过持续集成(CI)测试
    • 例外:由于其他原因,已知有问题但需要提交的代码
    • 例外:在没有足够 CI 测试的版本库中的代码
    • 例外:工作并已提交总比不完美要好
  • 验收流程应尽可能自动化
    • 这意味着测试、linting、拼写检查、测试覆盖率等等

成为养蜂人

新的养蜂人是否加入团队完全由现有的核心团队决定。虽然目前还没有这方面的明确规则,但一般来说,如果某人对 BeeWare 项目做出了坚实的贡献,则会被邀请成为项目的养蜂人。这也可以扩展到具有特定可能现有团队所缺乏的领域知识(例如,iOS/macOS)的人。这也不一定要基于 commits。任何能证明对整个项目有既得利益的人都可以要求获得向项目 commit 的许可。

所有新的养蜂人都将经过“上岗”过程(没有更好的词来形容),学习项目的核心价值和指导方针。可以在关于页面找到核心价值的概括。任何加入团队的人都应该坚持这些价值观,并为随着时间的推移,给不断发展这些价值观的讨论做出贡献。

任何养蜂人,不管是新手还是老手,都没有期望作为任何一个项目的唯一维护者。有很多养蜂人,还有更多的人可以提供帮助、建议和指导。