Django 项目组织

原则

Django 项目由一个志愿者团队管理,他们追求三个目标

  • 推动 Django Web 框架的开发,

  • 培养 Django 相关软件的生态系统,

  • 根据Django 行为准则中描述的价值观领导 Django 社区。

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

合并

角色

合并者是一小群将拉取请求合并到Django Git 仓库的人。

特权

合并者拥有以下特权

  • 合并任何构成小更改(足够小,不需要使用DEP 流程)的拉取请求。合并者不得合并主要由该合并者编写的更改,除非拉取请求已获得以下人员的批准:

  • 在适当的场所发起关于小更改的讨论,并请求其他合并者在讨论进行时不要合并它。

  • 如果合并者认为讨论未能达成共识,则请求指导委员会对任何小更改进行投票。

  • 重大更改(重要到需要使用DEP 流程)达到其实施里程碑之一并打算合并时,请求指导委员会进行投票。

成员资格

指导委员会根据需要选择合并者,以将人数维持在至少三人,以分散工作量并避免任何个人合并者负担过重或筋疲力尽。合并者数量没有上限。

合并者也不必是 Django Fellow,但 Django 软件基金会拥有使用 Fellow 职位资金来使合并者角色可持续发展的能力。

合并者角色适用以下限制

  • 一个人不得同时担任指导委员会成员。如果一位合并者当选为指导委员会成员,则在担任指导委员会成员后,他们将立即停止担任合并者。

  • 一个人可以同时担任发布者和合并者的角色。

当出现空缺或指导委员会认为有必要为该角色选择更多人员时,选择过程如下

  • 任何适当讨论场所的正式成员,或在 DSF 的 Fellowship 委员会的意见下采取行动的 Django 软件基金会董事会,都可以建议某人供考虑。

  • 指导委员会考虑提出的建议,然后指导委员会的任何成员正式提名候选人担任该角色。

  • 指导委员会对被提名人进行投票。

合并者可以随时辞去其职位,但应努力提前通知,以便能够选择替代者。Django 软件基金会终止 Django Fellow 的合同将暂时暂停该人的合并者角色,直到指导委员会能够对他们的提名进行投票。

否则,合并者可能会被以下情况移除

  • 因当选为指导委员会成员而失去资格。

  • 因 Django 软件基金会行为准则委员会采取的行动而失去资格。

  • 指导委员会的投票。

发布者

角色

发布者是一小群有权将 Django 的打包版本上传到Python 包索引djangoproject.com网站的人。

特权

发布者构建 Django 版本并将其上传到Python 包索引djangoproject.com网站。

成员资格

指导委员会根据需要选择发布者,以将人数维持在至少三人,以分散工作量并避免任何个人发布者负担过重或筋疲力尽。发布者数量没有上限。

发布者也不必是 Django Fellow,但 Django 软件基金会拥有使用 Fellow 职位资金来使发布者角色可持续发展的能力。

一个人可以同时担任发布者和合并者的角色。

当出现空缺或指导委员会认为有必要为该角色选择更多人员时,选择过程如下

  • 任何适当讨论场所的正式成员,或在 DSF 的 Fellowship 委员会的意见下采取行动的 Django 软件基金会董事会,都可以建议某人供考虑。

  • 指导委员会考虑提出的建议,然后指导委员会的任何成员正式提名候选人担任该角色。

  • 指导委员会对被提名人进行投票。

发布者可以随时辞去其职位,但应努力提前通知,以便能够选择替代者。Django 软件基金会终止 Django Fellow 的合同将暂时暂停该人的发布者角色,直到指导委员会能够对他们的提名进行投票。

否则,发布者可能会被以下情况移除

  • 因 Django 软件基金会行为准则委员会采取的行动而失去资格。

  • 指导委员会的投票。

指导委员会

角色

指导委员会是一个经验丰富的贡献者组成的团体,他们

  • 监督 Django 的开发和发布流程,

  • 协助确定功能开发和发布的方向,

  • 选择合并者和发布者,以及

  • 在其他决策流程失败时进行投票表决。

他们主要关注的是维护 Django Web 框架的质量和稳定性。

特权

指导委员会拥有以下特权

  • 对 Django 的任何技术更改问题做出具有约束力的决定。

  • 否决将任何特定代码片段合并到 Django 中或命令还原任何特定合并或提交。

  • 宣布征求对 Django 未来技术方向的建议和想法。

  • 选择和移除合并者和发布者。

  • 在认为合适时参与移除指导委员会成员。

  • 在指导委员会认为选举合适时,在那些自动触发的选举之外,呼吁进行指导委员会选举。

  • 参与修改 Django 的治理(参见更改组织)。

  • 拒绝对指导委员会认为尚未成熟到可以做出具有约束力的决定或指导委员会认为超出其权力范围的事项进行投票。

  • 负责 Django 开源项目中其他技术团队的治理,并据此管理这些团队。

成员资格

指导委员会是由五位经验丰富的贡献者组成的选举产生的团体,他们证明了

  • 对 Django 或 Django 生态系统做出实质性贡献的历史。此历史必须至少在个人竞选指导委员会前的 18 个月开始,并且包括以下要点中的至少两个要点中的实质性贡献

    • 对 Django 项目或 Django 生态系统中的主要第三方软件包进行代码贡献

    • 审查拉取请求和/或对 Django 项目工单进行分类

    • 文档、教程或博文

    • 在 django-developers 邮件列表或 Django 论坛上讨论 Django

    • 运行 Django 相关活动或用户组

  • 参与 Django 的方向和未来的历史。这不需要是最近的,但过去三年没有参与的候选人仍然必须证明他们在过去三年内了解 Django 的变化和方向。

在每个 Django 发布周期之后,都会选举一个新的委员会。选举过程如下

  1. 指导委员会指示其成员之一以书面形式通知 Django 软件基金会的秘书,触发选举以及触发选举的条件。秘书发布到适当的场所——django-developers邮件列表和Django 论坛,以宣布选举及其时间表。

  2. 选举宣布后,DSF 董事会将开始选民登记阶段。所有DSF 个人成员都会自动注册,无需明确注册。所有认为自己有资格投票但尚未登记投票的其他人员,都可以向 DSF 董事会申请投票权。选民登记表和选民名单由 DSF 董事会维护。DSF 董事会可能会质疑和拒绝它认为恶意注册或伪造资格或其他不合格的选民的注册。

  3. 选民登记在选举宣布一周后结束。此时,候选人登记开始。任何合格的人都可以注册为候选人。候选人登记表和候选人名单由 DSF 董事会维护,候选人必须在注册时提供其资格的证明。DSF 董事会可能会质疑和拒绝它认为不符合指导委员会成员资格或认为恶意注册的候选人的注册。

  4. 候选人注册在开放一周后关闭。候选人注册关闭一周后,DSF 秘书将在django-developers邮件列表和Django 论坛上发布候选人名单,选举开始。DSF 董事会提供可供已注册选民访问的投票表单,并负责保管投票。

  5. 投票采用无记名投票方式,包含候选人名单和任何与候选人相关的材料,并以随机顺序排列。每个选民最多可以在选票上投票给五名候选人。

  6. 选举在开始一周后结束。然后,DSF 董事会统计投票并生成摘要,包括总投票数和每位候选人获得的票数。该摘要经 DSF 董事会多数票批准,然后由 DSF 秘书发布到django-developers邮件列表和 Django 论坛。获得最高票数的五名候选人立即成为新的指导委员会。

指导委员会成员可以被移除,如果:

  • 因 Django 软件基金会行为准则委员会采取的行动而失去资格。

  • 确定他们不具备指导委员会成员的资格。此确定必须由指导委员会的其他成员和DSF 董事会共同做出。有效的资格认定要求指导委员会的所有其他成员和DSF董事会的所有有投票权的成员(如果受影响的人是DSF董事会成员,则不得投票)在关于该人是否不合格的动议上投票“是”。

组织变更

对本文档的更改需要使用DEP 流程,并进行DEP 0010中描述的修改。

返回顶部