Django项目的组织¶
原则¶
Django项目由一个追求三个目标的志愿者团队管理:
推动Django Web Framework的开发,
促进Django相关软件的生态系统,
根据 Django Code of Conduct 中描述的值引导Django社区。
Django项目不是法律实体。 Django Software Foundation 是一个非营利组织,负责处理与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
邮件列表上。
在这两种情况下,技术委员会是最后的手段。在这些事情上,它履行与以前的“生命的独裁者”类似的职能。
当董事会希望行使这些特权时,它必须对决议进行私人的简单多数投票。法定人数是完整的委员会 - 每个成员必须投票或明确弃权。然后,董事会在适当的邮件列表上传达结果,如果可能的话,传达原因。没有呼吁这样的决定。
此外,技术委员会可酌情以咨询身份就非技术性决定采取行动。
更改组织¶
对本文件的更改要求核心团队投票中投票的五分之四多数票,而技术委员会不得否决。