Organization of the Django Project

Principles

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

  • 推动Django Web Framework的开发,
  • 促进Django相关软件的生态系统,
  • 根据Django行为规范中描述的值引导Django社区。

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

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

Core team

Role

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

核心团队成员应该代表社区和所有依赖Django的人,作为项目社区和保管人的榜样。

他们将在必要时在极少数情况下在网上讨论或官方Django活动中进行干预,出现需要干预的情况。

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

Prerogatives

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

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

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

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

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

Membership

核心团队与创建Django的four people发现其起源。已通过挑选志愿者发展到a few dozen people,他们证明:

  • 很好地掌握了Django项目的哲学
  • 有建设性和有帮助的坚实记录
  • 以任何形式对项目目标作出重大贡献
  • 愿意花一些时间来改善Django

随着项目的成熟,贡献超越了代码。这里有一个不完整的列表,可以考虑加入核心团队,没有特定的顺序:

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

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

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

核心团队成员承认持续和宝贵的努力,与Django项目的理念和目标保持一致。

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

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

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

Technical board

Role

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

Prerogatives

技术委员会有两个特权:

  • 如果没有达成共识,作出重大技术决定。这发生在django-developers邮件列表。
  • 否决提交访问权限或删除提交访问权限。这发生在django-core邮件列表。

在这两种情况下,技术委员会是最后的手段。在这些事情上,它履行了与以前的“生命中独裁者”类似的职能。

当董事会希望行使这些特权时,它必须对决议进行私人的简单多数投票。法定人数是完整的委员会 - 每个成员必须投票或明确弃权。然后,董事会在适当的邮件列表上传达结果,如果可能的话,传达原因。没有呼吁这样的决定。

此外,技术委员会可酌情以咨询身份就非技术性决定采取行动。

Membership

技术委员会是由五个提交者组成的选举组。他们希望有经验,但没有正式的资历要求。其当前组成在here发布。

在Django的每个主要版本后选出一个新的董事会。选举过程由离职技术委员会提名的回报人员管理。选举程序如下:

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

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

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

    在一个领带的情况下,加入核心团队的人早先胜利。

申请和投票期间为一到两个星期,由即将离任的董事会决定。

Changing the organization

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