跳过正文
  1. Posts/

被 Airflow Maintainer 一顿夸:Rust 重写版 pre-commit 项目 prek 的崛起

·1242 字·3 分钟· ·
沈显鹏
作者
沈显鹏
目录

昨天在网上冲浪,突然看到了一个仓库叫 prek,一看介绍是 —— ⚡ Better pre-commit, re-engineered in Rust。这就引起了我的兴趣,毕竟 pre-commit 作为非常广泛的预提交的工具,如果能改进,尤其是性能方面的改进,肯定是好事。

最最有意思的是 pre-commit 的作者也来到这个项目的 Issue 里发帖了,他先表示要合作,然后提到该项目违反了版权(已修复),再后面说这是一个恶意的、不道德,以及抄袭。

让我们一起来看看这个帖子是怎么回事,我这里直接用 Google 翻译,带大家过一遍。

asottile

j178

asottile

jbvsmo

potiuk

最终,在 Airflow Maintainer 留言之后,作者点了一个 ❤ 然后锁了这个帖子。(这个操作可谓恰到好处)

链接在这里:https://github.com/j178/prek/issues/73

这件事有点像 uv 取代 pip 的故事,只不过我没看到像这次一样的争议。原因或许在于 pip 是由众多社区志愿者共同维护的项目,而 pre-commit 更像是 Anthony Sottile 的“个人”项目。虽然它是开源的,但原作者对项目拥有绝对的控制权。

此外,它的衍生项目 pre-commit.ci 对开源项目免费,但对私有仓库($10/月)、初创公司($20/月)和大型组织($100/月)则收取费用。如果出现有竞争力的替代方案,可能会对其收入造成影响。

这里简单介绍一下 Anthony Sottile —— 他是 pre-commit 的作者,同时也是 pytest-devtox-dev 的核心开发者,维护 flake8,PyCQA 成员,GitHub Star 等等。只要你使用 Python,就很可能接触到他参与的项目。此外,他还是一名 YouTuber,会进行编程直播。我最初是因为使用 pre-commit 才了解到他,也看过他的视频,专业能力确实很强。不过,正如上文所提到的,他在 pre-commit 社区的互动方式,确实让部分人感到不适甚至不愉快。

我的看法
#

除非 pre-commit 原作者 Anthony Sottile 能够更积极、更开放地推进,并加快 pre-commit-rs 的开发进度,否则 prek 对它的威胁将持续增加。从目前的趋势来看,prek 已经展现出强劲的势头。

基于以下几点,我认为它很有可能走得很远:

  • 作者影响力: prek 作者是活跃且有影响力的开源贡献者,参与并贡献了 encode/httpxastral-sh/uvastral-sh/rye 等知名项目,具备长期获得社区信任与背书的能力。
  • 重量级背书: prek 已经获得知名贡献者如 Jarek Potiuk 的积极背书——他是 Apache Airflow 的贡献者与 PMC 成员,Airflow 正在积极筹备切换到 prek
  • 社群形象差异:pre-commit 原作者相比,其“高冷”风格可能限制了外部贡献者的参与意愿;反观 prek,作者听取的社区的建议将这个项目名字从 prefligit 改为 prek,我认为这个一个更好的名字,即简短,从发音上也更容易获得好感,这样也为替代方案的崛起创造了空间。
  • 社区需求: 社区需要一个像 prek 这样积极推动 Rust 重写的项目,来打破 pre-commit 的现状。

除非 Anthony Sottile 做出 180 度转变,主动邀请外部贡献者共同加速 pre-commit-rs 的开发,并改变现有的社区互动方式,否则这种趋势短期内难以逆转。综合来看,我对 prek 的未来持乐观态度。

在我截稿时,还看到作者将上述对话内容发布在 V2EX 和 Twitter 上,引发了更多关注。

v2ex

twitter

这部分我不作过多评价——开源社区本就是一个不断交流、切磋和竞争的舞台。


转载本站文章请注明作者和出处,请勿用于任何商业用途。欢迎关注公众号「DevOps攻城狮」

相关文章

全程记录|PyCon LT 2025 第三天:AI 能取代你吗?
·1468 字·3 分钟
今天是 PyCon LT 2025 的最后一天,主题是 AI and ML Day。分享了几位女性讲者的精彩演讲,以及对数据科学和 AI 的新认识。
全程记录|PyCon LT 2025 第二天:被几位女性开发者圈粉了
·1570 字·4 分钟
今天是 PyCon LT 2025 的 Data Day,主题是 Dataframes、Databases、Orchestration。虽然不太熟悉这些领域,但几位女性讲者的演讲让我印象深刻,收获颇丰。
全程记录|PyCon LT 2025 第一天:我在异国 Python 大会上的见闻
·1826 字·4 分钟
参加了 PyCon LT 2025 的第一天,分享了演讲内容、个人感受以及对 Python 社区的思考。
CPython 停止更新 Copyright 了,为什么?
·1928 字·4 分钟
CPython 停止更新 Copyright 的原因和过程。了解 Python 项目法律团队的建议,以及如何处理开源项目中的版权声明。
pip vs pipx 的区别
·850 字·2 分钟
本文介绍了 pip 和 pipx 的区别,帮助开发者选择合适的工具来管理 Python 包和命令行工具。
初步了解 PyPA(Python Packaging Authority)下的知名项目和关系
·1391 字·3 分钟
本文介绍了 PyPA(Python Packaging Authority)下的知名项目,包括 pip、setuptools、wheel 等,并分析了它们之间的关系,帮助读者更好地理解 Python 包管理和分发的生态系统。