Django项目的组织

原理¶ T0>

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

  • 推动Django Web框架的发展,
  • 促进Django相关软件的生态系统,
  • 按照Django行为准则中描述的值引导Django社区。

Django项目不是一个法律实体。 The Django Software Foundation, a non-profit organization, handles financial and legal matters related to the Django Project. 除此之外,Django软件基金会让Django项目管理Django框架,其生态系统和社区的发展。

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

核心团队

作用¶ T0>

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

预计核心团队成员将代表社区和所有依赖Django的人,为项目的社区和托管人发挥榜样作用。

必要时,他们将在网上讨论或Django官方活动中介入,偶尔会出现需要干预的情况。

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

特权¶ T0>

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

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

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

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

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

成员¶ T0>

Django team members demonstrate:

  • 对Django项目的理念有很好的把握
  • 有建设性和有帮助的坚实记录
  • 以任何形式为项目目标作出重大贡献
  • 愿意花一些时间去改进Django

随着项目的成熟,贡献超越了代码。 以下列出了可能考虑加入核心团队的不完整的列表:

  • 致力于社区管理和外展
  • 在邮件列表和IRC上提供支持
  • 分期付款门票
  • 编写补丁(代码,文档或测试)
  • 检查修补程序(代码,文档或测试)
  • 参与设计决策
  • 提供特定领域的专业知识(安全,国际化等)
  • 管理持续集成基础架构
  • 管理服务器(网站,跟踪器,文档等)
  • 维护相关的项目(djangoproject.com网站,前贡献应用程序等)
  • 创建视觉设计

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

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

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

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

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

核心团队成员没有时间限制。 然而,为了向公众提供一个合理的想法,说明有多少人在维护Django,鼓励已经停止贡献的核心团队成员声明自己是“过去的团队成员”。 那些在两年内没有做出不小的贡献的人可能会被要求转到这个类别,如果他们没有回应就搬到那里。 过去的团队成员失去了投票权和提交权限等特权。

技术委员会

作用¶ T0>

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

特权¶ T0>

技术委员会有两个特权:

  • 如果没有找到共识,就做出重大技术决定。 这发生在django-developers邮件列表上。
  • 通过提交访问授权或删除提交访问。 这发生在django-core邮件列表上。

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

当董事会想要行使这些特权中的一项时,它必须对决议进行一次简单的多数表决。 法定人数是全委员会 - 每个成员必须投票或明确弃权。 然后,董事会在适当的邮件列表上传达结果,如果可能的话,还要传达原因。 这样的决定是没有吸引力的。

此外,技术委员会可酌情以非技术性决定的咨询身份行事。

成员¶ T0>

The technical board is an elected group of five committers. 他们预计会有经验,但没有正式的资历要求。

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

  1. 候选人将技术委员会的申请通告给团队。

    他们必须是提交者。 技术委员会成员没有任何限制。

  2. 每个小组成员可以在候选人中投票0到5人。 候选人按照他们收到的总票数排列。

    如果平分,那么加入核心团队的人就会获胜。

申请和投票期限均为一至两周,由董事会酌情决定。

改变组织

对本文件的修改需要核心团队投票的五分之四多数投票,而技术委员会不得否决。