paint-brush
Python Wheels vs Eggs(以及数据驱动的决策必须如何成为开源规范)经过@aviaviavi
835 讀數
835 讀數

Python Wheels vs Eggs(以及数据驱动的决策必须如何成为开源规范)

经过 Avi Press2022/05/09
Read on Terminal Reader
Read this story w/o Javascript

太長; 讀書

Dustin Ingram 最近的一条推文显示,2021 年 12 月,Python 鸡蛋在已构建发行版上传中的占比不到 1%。这一数据引发了一场关于是否应弃用 Python 鸡蛋的辩论,该数据仅解决了一部分数据经过考虑的。这表明开源空间中的许多其他关键决策目前是基于不完整的数据和个人经验/偏好做出的。

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Python Wheels vs Eggs(以及数据驱动的决策必须如何成为开源规范)
Avi Press HackerNoon profile picture

软件开发的世界总是在不断发展,并且时不时地,当道路分叉在你面前时,你会遇到一个时刻。作为开发人员,我们可以选择采用哪条路径,但每条路径都会带来特定的后果,这些后果会影响代码未来的有效性和影响。


目前,我们正在经历 Python Eggs 的其中一个时刻。最近鸣叫来自达斯汀英格拉姆的研究表明,到 2021 年 12 月,鸡蛋在已建分销上传中的占比不到 1%。


这些数据引发了一场关于是否应该弃用 Python Egg 的激烈辩论。这次对话有很多我们可以在开源社区中学到的东西,因此我们认为我们应该在这篇文章中探索这些经验教训。

蟒蛇轮与鸡蛋

Python 包的 .egg 格式于 2004 年首次推出,从那时起大部分时间都发挥着重要作用。然而,当 Python Wheels 在 2012 年推出时,egg 格式的弱点变得更加广为人知,例如缺乏对干净卸载或升级的支持,以及只能在任何单个目录上安装项目的单个版本的事实.


Python Wheels 在这些方面提供了有意义的改进,以及在分发格式、更丰富的文件命名约定、版本控制和更好的内部组织方面的额外改进。


有鉴于此,许多人正在争论不赞成上传新鸡蛋是否是正确的选择。


开发人员应该如何做出这个决定?

数据驱动决策的重要性

作为开发人员,我们完成目标的时间和资源有限。我们的效率很大程度上取决于优先级——选择要花时间做的事情,更重要的是,选择不花时间做的事情。因此,当我们必须考虑弃用鸡蛋是否是正确的决定时,我们希望使用支持该决定的正确数据来这样做。


结果,许多人指出这些上传统计数据清楚地表明 Python 鸡蛋不再像以前那样强大。事实上,与没有数据的情况相比,这些数据能够对决策进行更明智的讨论。


然而,这并不能说明全部情况。即使上传的比例无关紧要,我们仍然不太清楚鸡蛋是如何被使用和依赖的。此下载数据可能存在于某处,但通常不可用,因此我们可以进行适当的分析。


这表明目前基于轶事经验、直觉和个人偏好做出的广泛其他关键决策。如果无法轻松访问数据,我们正在削弱我们做出明智和公正决策的能力。


作为一个社区,我们应该努力提高知名度,以便我们能够更好地为用户服务, 解锁杠杆我们随着时间的推移建立起来的。

介绍适用于 Python 的围巾网关

这些数据对于我们作为开发人员的长期决策至关重要,因为它可以帮助我们了解代码的哪些方面真正为我们的用户带来了结果。考虑到这一点,我们很高兴推出了对Scarf Gateway的 Python 支持,这将为任何和所有 Python 包带来更好的可见性。


这是朝着保护我们作为开源社区所需的数据迈出的重要一步,以便在各种关键问题上做出更好的决策;从基础设施到包装格式再到漏洞评估等等。


对于您作为开发人员到达的每个决策点,拥有有关项目使用方式的及时准确的数据可以帮助您回避自己的偏见,并朝着对关键利益相关者产生最大影响的道路前进。


数据驱动的决策是开源世界如何更聪明而不是更努力地工作的方式。