阅读(2500) (0)

PyTorch 治理

2020-09-15 14:15:21 更新

原文: PyTorch 治理

治理哲学与指导原则

PyTorch 采用治理结构,由一小组维护者推动整个项目方向,强烈偏向于 PyTorch 重视设计和代码贡献的设计理念。 除了核心维护者之外,还有一些稍微更广泛的核心开发人员,它们能够直接合并拉取请求并拥有核心代码库的各个部分。

除了维护者和核心开发人员之外,还鼓励社区做出贡献,提出问题,提出建议,审查拉动请求并出现在社区中。 有了贡献和投资意愿,就可以向任何人提供写访问权或部分代码库的所有权。

在此治理结构的基础上,该项目具有以下核心运营宗旨,通过这些宗旨进行决策并得出整体文化:

  1. 代码贡献的重要性远远超过公司赞助,并且独立开发人员也受到高度重视。
  2. 项目影响力是通过贡献获得的(无论是 PR,论坛答案,代码审查还是其他)

关键人物及其职能

项目维护者

项目维护者为 PyTorch 项目提供领导和指导。 具体包括:

  • 为项目表达凝聚力的长期愿景
  • 拥有对 PyTorch 代码库的深刻理解
  • 以所有有关方面都可以接受的方式谈判和解决有争议的问题

PyTorch 维护人员:

  • Adam Paszke (apaszke)
  • Soumith Chintala (soumith)
  • Edward Yang (ezyang)
  • Greg Chanan (gchanan)
  • Dmytro Dzhulgakov (dzhulgakov)
  • (日落)Sam Gross(科尔斯伯里)

核心开发人员

PyTorch 项目由一组核心开发人员开发。 您可以在 PyTorch Governance |网站上找到核心开发人员列表。 感兴趣的人。

成员资格是由 GitHub 上“ PyTorch” 组织中“ PyTorch 核心”团队中的存在来决定的,但是贡献可以采取多种形式:

  • 提交对存储库的更改;
  • 审查其他人的拉取请求;
  • 在问题跟踪器上分类错误报告;
  • 在官方 PyTorch 交流渠道上讨论话题。

主持人

有一群人(其中有些不是核心开发人员)负责确保有关官方交流渠道的讨论符合《行为准则》。 他们针对违法行为采取行动,并帮助支持一个健康的社区。 您可以在中找到主持人列表

做决定

毫无争议的变化

主要工作是通过错误跟踪程序问题以及在 GitHub 上的拉取请求来完成的。 核心开发人员应避免将其更改直接推送到 PyTorch 存储库,而应依赖于请求请求。 核心开发人员批准拉取请求后,无需进行进一步处理即可将其合并。 核心开发人员和项目维护人员最终会批准这些更改。

通知有关专家有关错误跟踪器问题或请求请求很重要。 强烈推荐给定兴趣领域的专家进行审核,尤其是在请求请求批准时。 否则,最终可能会导致相关专家撤消更改。

有争议的决策过程

给定关注领域的重大变化要求打开 GitHub 问题进行讨论。 这包括:

  • 对框架的任何语义或语法更改。
  • 向后不兼容的 Python 或 Cpp API 更改。
  • 核心框架的补充,包括现有库中的实质性新功能。
  • 删除核心功能

项目维护者最终会批准这些更改。

常问问题

问:如果我想拥有(或部分拥有)项目的一部分,例如域 api(即 Torch Vision)怎么办? 这是绝对可能的。 第一步是开始为现有项目领域做出贡献,并为它的健康和成功做出贡献。 除此之外,您可以通过 GitHub 问题提出建议,以提供新功能或进行更改以改善项目范围。

问:如果我是一家希望内部使用 PyTorch 进行开发的公司,可以授予或购买董事会席位以驱动项目方向怎么办? 不,PyTorch 项目严格由维护者驱动的项目理念来驱动,并且没有董事会或工具来获得与对技术方向的影响力相关的财务贡献。

问:PyTorch 项目是否支持赠款或方法来支持使用该项目或对该项目做出贡献的独立开发人员? 否,目前不行。 但是,我们正在寻找方法,以更好地支持 PyTorch 周围的独立开发者社区。 如果您有建议或意见,请在 PyTorch 论坛上进行讨论。

问:如何为项目贡献代码? 如果更改相对较小,则可以立即在 GitHub 上打开拉取请求,以供项目提交者进行审核和合并。 对于较大的更改,请打开问题以提出建议,以供事先讨论。

问:我可以成为该项目的提交者吗? 不幸的是,当前对 PyTorch 的提交过程涉及与 Facebook 基础结构的交互,该交互只能由 Facebook 员工触发。 但是,我们正在寻找将提交者基础扩展到 Facebook 以外的个人的方法,并将在存在允许此操作的工具时提供更新。

问:如果我想在会议上或其他场合提供 PyTorch 教程怎么办? 我需要成为“官方”提交者吗? 不,我们鼓励社区成员尽可能地展示他们的作品。