Django 项目的组织
原则
Django 项目由一组志愿者管理,追求三个目标:
- 推动 Django Web 框架的开发,
- 促进与 Django 相关的软件生态系统,
- 根据 Django 行为准则 中描述的价值观,领导 Django 社区。
Django 项目并不是一个法律实体。非营利性组织 Django Software Foundation 负责处理与 Django 项目相关的财务和法律事务。除此之外,Django Software Foundation 让 Django 项目管理 Django 框架的开发、生态系统和社区。
合并者
角色
Mergers 是一小组人,他们将拉取请求合并到 Django Git 仓库 中。
权利
合并者拥有以下 prerogatives:
- 合并任何构成 小改变 (足够小,不需要使用 DEP 过程)的拉取请求。合并者不得合并由其主要编写的更改,除非拉取请求已获得批准:
- 另一位合并者,
- 一个管理委员会成员,
- triage & review 团队 的成员,或者
- 安全团队 的成员。
- 在适当的场合启动关于小改变的讨论,并请求其他合并者在讨论进行期间不要合并它。
- 如果在合并者看来,讨论未能达成共识,可以请求管理委员会就任何小改变进行投票。
- 当一个 重大更改 (足够重要以至于需要使用 DEP 过程)达到其中一个实施里程碑并打算合并时,请求管理委员会进行投票。
成员资格
管理委员会 会根据需要选择 Mergers,以保持其数量至少为三人,以分散工作负荷,避免过度负担或使个别合并者超负荷工作。合并者的数量没有上限。
合并者不必是 Django Fellow 的要求,但 Django 软件基金会有权将 Fellow 职位的资金用作确保合并者角色的可持续性的方式。
合并者角色受到以下限制:
- 一个人不能同时担任管理委员会的成员。如果一个合并者被选为管理委员会成员,他们在加入管理委员会后立即停止成为合并者。
- 一个人可以同时担任发布者和合并者的角色。
当出现空缺或管理委员会认为有必要选择额外的人员担任此角色时,选择流程如下:
- 任何在适当的讨论场合中保持良好地位的成员,或者在 DSF 的 Fellowship 委员会提供意见的情况下,Django 软件基金会董事会都可以提议考虑某个人。
- 管理委员会考虑提出的建议,然后管理委员会的任何成员正式提名一个候选人担任该角色。
- 管理委员会对提名者进行投票。
合并者可以随时辞去他们的角色,但应该尽力提前通知,以便选择替代者。Django 软件基金会终止 Django Fellow 的合同会暂时暂停该人的合并者角色,直到管理委员会能够对他们的提名进行投票为止。
否则,合并者可以被移除:
- 因被选为管理委员会成员而被取消资格。
- 因 Django 软件基金会的行为守则委员会采取的行动而被取消资格。
- 管理委员会的投票。
发布者
角色
Releasers 是一小组具有权力上传 Django 打包发布到 Python Package Index 和 djangoproject.com 网站的人员。
权利
Releasers构建 Django 发布版 并上传到 Python Package Index 和 djangoproject.com 网站。
成员资格
管理委员会 会根据需要选择发布者,以保持其数量至少为三人,以分散工作负荷,避免过度负担或使个别发布者超负荷工作。发布者的数量没有上限。
发布者不必是 Django Fellow 的要求,但 Django 软件基金会有权将 Fellow 职位的资金用作确保发布者角色的可持续性的方式。
一个人可以同时担任发布者和合并者的角色。
当出现空缺或管理委员会认为有必要选择额外的人员担任此角色时,选择流程如下:
- 任何在适当的讨论场合中保持良好地位的成员,或者在 DSF 的 Fellowship 委员会提供意见的情况下,Django 软件基金会董事会都可以提议考虑某个人。
- 管理委员会考虑提出的建议,然后管理委员会的任何成员正式提名一个候选人担任该角色。
- 管理委员会对提名者进行投票。
发布者可以随时辞去他们的角色,但应该尽力提前通知,以便选择替代者。Django 软件基金会终止 Django Fellow 的合同会暂时暂停该人的发布者角色,直到管理委员会能够对他们的提名进行投票为止。
否则,发布者可以被移除:
- 因 Django 软件基金会的行为守则委员会采取的行动而被取消资格。
- 管理委员会的投票。
管理委员会
角色
管理委员会是一组经验丰富的贡献者,他们:
- 提供 Django 的开发和发布流程监督,
- 协助设定功能开发和发布方向,
- 参与填补某些角色,以及
- 在其他决策过程失败时具有决定性的投票权。
他们的主要关注点是维护 Django Web 框架的质量和稳定性。
权利
管理委员会拥有以下 prerogatives:
- 对于任何关于 Django 技术更改的问题做出具有约束力的决定。
- 否决将任何特定代码合并到 Django 中或命令撤销任何特定合并或提交。
- 宣布关于 Django 未来技术方向的提案和想法的征集。
- 制定和调整 Django 发布的时间表。
- 选择和移除合并者和发布者。
- 在被视为适当时参与撤销管理委员会成员。
- 在管理委员会认为适当的时候,在不自动触发的情况下召集管理委员会选举。
- 参与修改 Django 的治理方式(参见 改变组织)。
- 拒绝对管理委员会认为不适合做出具有约束力决定的问题进行投票,或者管理委员会认为超出其权力范围的问题。
- 负责管理 Django 开源项目内的其他技术团队的治理,并相应地管理这些团队。
成员资格
管理委员会 是一个由五位经验丰富的贡献者组成的选举团队,他们展示:
- 对 Django 或 Django 生态系统进行实质性贡献的历史。这一历史必须至少在个人竞选管理委员会前的18个月开始,并包括以下至少两个方面的实质性贡献: - 在 Django 项目或 Django 生态系统的主要第三方包上的代码贡献 - 审查拉取请求和/或处理 Django 项目的问题 - 文档、教程或博客文章 - 在 django-developers 邮件列表或 Django 论坛上讨论 Django - 组织 Django 相关的活动或用户组
- 对 Django 的方向和未来的参与历史。这不需要是最近的,但在过去三年内没有参与的候选人仍必须展示对这三年内 Django 的变化和方向的理解。
每个 Django 的发布周期后都会选举一个新的管理委员会。选举过程如下:
- 管理委员会指定其成员之一以书面形式通知 Django 软件基金会的秘书触发选举的情况。秘书会在适当的场合发布选举通知,包括 django-developers 邮件列表和 Django 论坛,并公布选举时间表。
- 一旦选举被宣布,DSF 董事会 开始选民登记期。所有 DSF 的个人会员 都会自动注册,无需明确注册。所有其他认为自己有资格投票但尚未注册投票的人可以向 DSF 董事会申请投票权。投票者注册表格和投票人名册由 DSF 董事会维护。DSF 董事会可以对那些它认为以不诚实的方式注册或者认为虚构了自己的资格或者以其他方式不具备资格的选民的注册提出质疑并拒绝注册。
- 选民登记在选举宣布一周后关闭。此时开始候选人的注册。任何有资格的人都可以注册为候选人。候选人注册表格和候选人名册由 DSF 董事会维护,候选人必须在注册时提供资格证明。DSF 董事会可以对那些它认为不符合管理委员会成员资格的候选人的注册提出质疑并拒绝注册,或者认为他们是以不诚实的方式注册的。
- 候选人的注册在开放后一周关闭。在候选人注册关闭一周后,DSF 的秘书将候选人名册发布到 django-developers 邮件列表和 Django 论坛,选举正式开始。DSF 董事会提供一个供已注册选民使用的投票表格,并保管选票。
- 投票采用包含候选人名册和有关候选人的任何相关材料的秘密投票方式,名单顺序是随机的。每个选民可以在选票上投最多五个候选人。
- 选举在开始后一周结束。DSF 董事会随后计算选票并制作摘要,其中包括总投票数以及每位候选人获得的票数。这个摘要经过 DSF 董事会的多数票批准,然后由 DSF 的秘书发布到 django-developers 邮件列表和 Django 论坛。获得最高票数的五名候选人立即成为新的管理委员会成员。
管理委员会成员可以被撤职:
- 因 Django 软件基金会的行为守则委员会采取的行动而被取消资格。
- 确定他们没有管理委员会成员的资格。这一决定必须由管理委员会的其他成员和 DSF 董事会 共同做出。有效的不合格裁定要求管理委员会的所有其他成员和 DSF 董事会的所有可以投票的成员(如果受影响的人是 DSF 董事会成员,则不能投票)在是否认为该人不合格的动议上投票 “是”。