PyTorch 治理| 感兴趣的人
在开源世界中,PyTorch 凭借其独特的治理模式,汇聚了全球开发者的智慧,不断推动深度学习技术的边界。今天,编程狮将为你揭开 PyTorch 治理的神秘面纱,看看它是如何运转的,以及你如何能融入其中。
一、PyTorch 治理:社区驱动的开源力量
PyTorch 的治理结构是一种典型的社区驱动模式,其核心理念是 “代码贡献至上”。这意味着,不论你是来自大型科技公司的工程师,还是独立的编程爱好者,只要你能为项目写出有价值的代码,就能在这个社区中获得认可和尊重。
(一)项目维护者:PyTorch 的领航员
项目维护者是 PyTorch 的核心领导力量,他们负责为整个项目规划方向、把握技术路线。例如,Adam Paszke 作为 PyTorch 的创始人之一,他不仅提出了许多关键的设计理念,还持续参与代码审查和项目决策,确保 PyTorch 能始终走在技术前沿。
维护者的职责还包括解决社区中的争议。当开发者们对某个技术方案存在分歧时,维护者会像裁判一样,综合考虑各方意见,做出对项目最有利的决定。
(二)核心开发人员:PyTorch 的建设者
核心开发人员是 PyTorch 的中坚力量。他们可以直接合并拉取请求,对代码库的各个部分进行维护。这些开发者来自世界各地,他们通过多种方式为项目贡献力量:
- 提交代码更改 :修复漏洞、优化性能、新增功能等。例如,开发人员可能会提交一个拉取请求,优化 PyTorch 的张量计算性能,让深度学习模型的训练速度更快。
- 审查拉取请求 :帮助其他贡献者审查代码,确保代码质量。这种代码审查机制就像一个质量过滤器,保证了 PyTorch 代码库的稳定性和可靠性。
- 参与社区讨论 :在 PyTorch 的官方交流渠道上,核心开发人员会积极参与话题讨论,分享他们的见解和经验。
(三)主持人:社区氛围的守护者
主持人负责维护社区的健康氛围。他们会密切关注官方交流渠道上的讨论,确保大家的发言符合《行为准则》。如果有人发表不当言论,主持人会及时介入处理,营造一个积极、友好、富有建设性的社区环境。
二、决策机制:从代码到方向的把控
(一)无争议变更的高效流程
对于没有争议的变更,PyTorch 的决策流程非常高效。核心开发人员通过提交拉取请求的方式进行代码合并。当拉取请求获得批准后,就可以直接合并到代码库中。
不过,通知相关领域的专家了解错误跟踪器上的问题或拉取请求是非常重要的。这样可以避免相关专家事后撤销已合并更改的情况。
(二)有争议决策的审慎流程
当涉及到有争议的重大变更时,PyTorch 会开启 GitHub 问题进行充分讨论。以下几类变更通常需要这样的讨论:
- 框架的语义或语法发生任何变更。
- 向后不兼容的 Python 或 Cpp API 变更。
- 核心框架的补充,例如在现有库中引入实质性新功能。
- 删除核心功能。
在这种情况下,项目维护者拥有最终决定权,他们会仔细权衡各方意见,做出对项目最有利的决策。
三、常见问题:你想知道的都在这里
(一)如何拥有项目的一部分?
如果你想拥有(或部分拥有)项目的一部分,例如某个特定的域 API(如 Torch Vision),这是完全有可能的。首先,你需要从为现有项目领域做出贡献开始,积极推动它的健康和持续发展。在此基础上,你还可以通过 GitHub 问题提出新的功能建议或改进方案。
(二)公司能否通过购买董事会席位驱动项目方向?
不行,PyTorch 项目严格遵循由维护者驱动的理念来决定项目的发展方向。项目并没有设立董事会,也不会提供任何可以通过财务贡献来获取技术方向影响力的相关工具。
(三)PyTorch 是否支持独立开发人员?
目前,PyTorch 项目尚未推出专门的赠款或支持方法来直接支持使用该项目或对项目做出贡献的独立开发人员。不过,社区正在积极探索新的途径,努力寻找更好的方式来支持 PyTorch 周边的独立开发者社区。
(四)如何为项目贡献代码?
对于较小的代码变更,你可以直接在 GitHub 上创建拉取请求,提交你的代码供项目提交者进行审核和合并。而对于较大的变更,建议你先在 GitHub 上创建问题,详细阐述你的想法和建议,以便与社区成员进行充分的讨论和沟通。
(五)如何成为项目的提交者?
目前,由于 PyTorch 的提交过程与 Facebook 的基础设施存在一定的关联,只有 Facebook 的员工才能触发提交操作。不过,社区正在积极寻找解决方案,努力将提交者基础扩展到 Facebook 之外的个人开发者。
(六)是否需要成为 “官方” 提交者才能举办 PyTorch 教程?
不需要,PyTorch 社区鼓励每一位社区成员积极展示自己的作品和成果。无论你是否是项目的 “官方” 提交者,只要你对 PyTorch 有深入的理解和丰富的实践经验,都可以在会议上或其他场合举办 PyTorch 教程。
四、总结
PyTorch 的治理模式是一种社区驱动的开源力量,它充分发挥了核心团队的专业优势,还广泛吸纳了社区的智慧和力量。希望这篇教程能够帮助你更好地融入 PyTorch 开源社区,无论是作为学习者汲取知识,还是作为贡献者回馈社区,都能让你在深度学习的道路上收获满满。
更多建议: