Django 项目的组织 — Django 文档

来自菜鸟教程
Django/docs/3.0.x/internals/organization
跳转至:导航、​搜索

Django 项目的组织

原则

Django 项目由一群追求三个目标的志愿者管理:

  • 推动 Django Web 框架的开发,
  • 培育 Django 相关软件的生态系统,
  • 按照 Django 行为准则 中描述的价值观领导 Django 社区。

Django 项目不是法律实体。 Django 软件基金会 是一个非营利组织,负责处理与 Django 项目相关的财务和法律事务。 除此之外,Django 软件基金会让 Django 项目管理 Django 框架、其生态系统和社区的开发。

Django 核心团队做出决策、提名新成员并选举技术委员会。 虽然它在理论上拥有决策权,但它的目标是在实践中尽可能少地使用它。 粗略的共识应该是常态,正式投票是例外。


核心团队

角色

核心团队是管理 Django 项目的一群值得信赖的志愿者。 他们承担实现项目目标所需的许多角色,尤其是那些需要高度信任的角色。 他们做出决定项目未来的决定。

核心团队成员应代表社区和所有依赖 Django 的人,充当社区和项目托管人的榜样。

必要时,他们会在出现需要干预的情况的极少数情况下干预在线讨论或官方 Django 活动。

他们拥有 Django 项目基础设施的权限,包括 Django 项目网站本身、Django GitHub 组织和存储库、Trac 错误跟踪器、邮件列表、IRC 频道等。


特权

核心团队成员可以参与正式投票,通常是提名新的团队成员和选举技术委员会。

一些贡献不需要提交访问。 根据贡献者加入团队的原因,他们可能有也可能没有对 Django 代码库的提交权限。

但是,如果需要,任何团队成员都可以通过写信给核心团队的邮件列表来请求提交访问。 除非此人撤回其请求或技术委员会否决该提案,否则将授予访问权限。

具有提交访问权限的核心团队成员被称为“提交者”或“核心开发人员”。

其他权限,例如访问服务器,通过相同的过程授予那些需要它们的人。


会员资格

Django 团队成员 演示:

  • 很好地掌握了 Django 项目的哲学
  • 具有建设性和乐于助人的良好记录
  • 对项目目标的任何形式的重大贡献
  • 愿意花一些时间来改进 Django

随着项目的成熟,贡献远远超出了代码。 以下是一个不完整的领域列表,其中可以考虑加入核心团队的贡献,没有特定的顺序:

  • 致力于社区管理和外展工作
  • 在邮件列表和 IRC 上提供支持
  • 对票进行分类
  • 编写补丁(代码、文档或测试)
  • 审查补丁(代码、文档或测试)
  • 参与设计决策
  • 提供特定领域(安全、i18n 等)的专业知识
  • 管理持续集成基础架构
  • 管理服务器(网站、跟踪器、文档等)
  • 维护相关项目(djangoproject.com 站点、ex-contrib 应用程序等)
  • 创建视觉设计

为核心团队成员保留的区域很少:

  • 审查安全报告
  • 合并补丁(代码、文档或测试)
  • 包装发布

核心团队成员承认与 Django 项目的理念和目标一致的持续和有价值的努力。

它由核心团队投票的五分之四多数票通过,技术委员会没有否决权。

核心团队成员一直在寻找有前途的贡献者,教他们如何管理项目,并在他们准备好时将他们的名字提交给核心团队的投票。 如果你想加入核心团队,你可以私下联系核心团队成员或在Django Core Mentorship邮件列表上寻求指导。

核心团队成员没有时间限制。 然而,为了让公众对有多少人维护 Django 有一个合理的了解,鼓励停止贡献的核心团队成员声明自己是“过去的团队成员”。 那些在两年内没有做出任何非平凡贡献的人可能会被要求将自己移至此类别,如果他们没有回应,则移至该类别。 过去的团队成员失去了他们的特权,例如投票权和提交访问权限。


技术委员会

角色

技术委员会是一群经验丰富且积极的提交者,他们指导技术选择。 他们主要关心的是保持 Django Web 框架的质量和稳定性。


特权

技术委员会拥有两项特权:

  • 在没有达成共识的情况下做出重大技术决策。 这发生在 django-developers 邮件列表上。
  • 否决提交访问权限或删除提交访问权限。 这发生在 django-core 邮件列表中。

在这两种情况下,技术委员会都是最后的手段。 在这些问题上,它履行了与前仁慈的终身独裁者类似的功能。

当董事会想要行使其中一项特权时,它必须对决议进行私下的简单多数投票。 法定人数是全体委员会——每个成员必须明确投票或弃权。 然后董事会在适当的邮件列表上传达结果,如果可能的话,传达原因。 没有人对此类决定提出上诉。

此外,技术委员会可以自行决定以顾问身份对非技术决策采取行动。


会员资格

技术委员会是由五名提交者选举产生的。 他们应该有经验,但没有正式的资历要求。

每次 Django 功能发布后都会选出一个新的董事会。 选举过程由即将离任的技术委员会提名的一名选举官员管理。 选举过程如下:

  1. 候选人向团队宣传他们的技术委员会申请。

    他们一定已经是提交者了。 技术委员会成员没有任期限制。

  2. 每个团队成员可以在候选人中投票给 0 到 5 人。 候选人按他们获得的总票数排名。

    在平局的情况下,较早加入核心团队的人获胜。

申请和投票期持续一到两周,由即将离任的董事会自行决定。


改变组织

对本文档的更改需要在核心团队投票中获得五分之四的多数票,并且没有技术委员会的否决权。