Hacker News 中文摘要

RSS订阅

I no longer care to work on any Ruby gems so I've archived all my repositories

Ruby 设计者松本行弘(Yukihiro Matsumoto,人称 Matz)在 2000 年文章里说,Ruby 旨在让程序员快乐;2019 年他又说,Ruby 是为人类而非机器设计的。我是在那个以快乐、创造性和人类为本的时代写出这些代码的,但那个为人的时代已经过去,我对维护 Ruby gems 的热情也随之消失。Ruby 最主要的应用是用 Rails 开发网页应用,而 Rails 虽是开源软件,却被其观点令我反感的人拥有和控制,不过已有一项正在进行中的努力。

正文

我决定归档自己那些 Ruby gem 的源代码,明确表示不再维护;我写这篇文章,是为了让这些项目能链接到它,解释原因。

在 2000 年发表的一篇文章 中,Ruby 的设计者 Yukihiro Matsumoto(人称 “Matz”)写道:

“对我来说,人生的目的至少有一部分是拥有快乐。程序员在能够专注于编程的创造性一面时,往往会感到快乐,因此 Ruby 被设计成让程序员快乐。”

而在近至 2019 年的一次访谈 中,他说:

“我为人类设计 Ruby,而不是为机器。”

我开发这些代码,正是在 Ruby 号称为了快乐、为了创造力、为了人类——也就是为人做事——的那个年代。但那个为人做事的时代已经过去,我对维护 Ruby gem 的热情也随之消失。我不会说那段日子一直都很美好,但至少我们当时是在和人一起工作、为人工作。

Ruby 最重要的用途一直是用 Rails 开发 Web 应用。Rails 是开源软件,却由一个我对其观点感到憎恶的人拥有和控制,尽管有一项正在进行中的努力试图分叉它。从他今年在 Rails World 的主题演讲来看——这个大会是他几年前未被邀请参加 RailsConf 后一气之下自己创办的——他对 Ruby、Rails 甚至编程本身都已不再有多大兴趣了。(他现在用 LLM 智能体在 Rust 里批量生成应用,而他把 Rust 比作“往自己眼睛里倒硫酸”;但显然这没关系,因为他连生成出来的东西都不看。)

但即便在 Rails 之外,Ruby 语言本身现在也大量使用 LLM 智能体开发。Matz 正在演讲中把 Ruby 重新定位为“AI 时代的编程语言”,由 LLM 智能体输出,并表示要做到这一点,LLM 需要消费更多优质的人工编写的 Ruby 代码。你可能已经看出这里的问题了。

在这样的背景下,我再也没有动力去为一个公共领域做贡献,而这个领域正被大型企业掠夺性开采,用来喂养那些机器;正是这些机器不加思考的输出在污染它。当人们声称手写代码不再可持续时,他们并不完全错,但这只相当于:一旦有人在床上拉了屎,继续睡在那张床上也就不再可持续了。

你想要改动?去问你的智能体什么的吧。我听说现在你们就该这么干。我退出。

评论

讨论整体疲惫且撕裂:多数人同情那种“手写代码乐趣被人工智能抽走、开源贡献沦为给巨头白打工”的失落,但也有不少声音认为这不过是工具演进,甚至让人不再被维护者卡脖子;分歧之外,还有人冷嘲退场者是情绪发泄,或只是在哀悼失去的社群声望。

认为人工智能正在夺走手写代码与开源协作的乐趣

  • 很多人把“写得快”和“写得开心”分开:他们承认大模型能提高产出,却怀念手工写代码时的专注、好奇与人和人协作的温度,觉得现在只剩下速度和结果。(较多人) > 当人们说手写代码已不可持续时,他们没全错——就像床被人拉了屎之后,继续睡也不可持续一样。(@lbrito)
  • 这种失落也体现在个人身份上:有人回顾自己从小因想知道电脑如何工作而学编程,干了近二十年却第一次怀疑还要不要留在这一行,因为“解决问题的乐趣”已经死了。(较多人)
  • 在协作层面,开源原本吸引人的是人与人的社区感;当机器人贡献成为常态,那种“和真人一起把项目变好”的快乐也随之消失。(较多人)

认为人工智能只是解放工具,不必再被维护者或上游项目卡住

  • 对实用派来说,人工智能把“依赖别人”变成“自己动手”:合并请求被晾着就自己用大模型派生出私有分支来维护,想要什么库就让智能体直接生成,不再被某个维护者的心情绑架。(较多人)
  • 还有人把人工智能当成分工手段:让模型去写底层或重复劳动,自己保留喜欢的语言与上层逻辑,反而重新获得了创造空间。(较多人) > 我让大模型去写底层的 Rust 库,自己仍然享受在上层写 Ruby,算是双赢。(@dahrkael)
  • 对非典型开发者或爱好者,人工智能打开了以前要花大量时间或金钱才能做的事:翻译、古籍与家谱转录、新闻产品等,使他们重新觉得“造东西”是好玩的。(少数人)

认为 Ruby/Rails 生态正在被人工智能带向混乱,开源长期被巨头白嫖

  • 有评论提醒:别把开源被剥削当成人工智能才有的新问题,大公司白嫖社区代码已经几十年,人工智能只是把这件事放大并让人觉醒。(较多人) > 开源一直被大公司当作免费劳动力矿场,这件事已经持续了几十年。(@varispeed)
  • 具体到 Ruby 和 Rails,反对者认为语言与框架正在被人工智能带偏:Matz 把 Ruby 重新定位成“人工智能时代、由智能体产出的语言”,Rails 社区已在讨论人工智能主导重构,生态可能很快乱掉。(较多人)
  • 更现实的反弹在许可与训练层面:有人决定以后发代码必须先有禁止人工智能训练摄取的硬约束,不能让自己的贡献变成巨头权力的燃料。(少数人)

认为退场声明更多是情绪发泄、政治姿态或社群声望受损

  • 直接的批评认为这是披着手艺情怀外衣的发泄:如果不同意 DHH 或 Matz 就明说,含糊地炮轰别人并不是成熟做法。(较多人)
  • 更冷峻的解读是,很多反对新工具的理由其实不是热爱手艺,而是失去了在小圈子里当“有贡献者”的社交信用。(少数人) > 很多反对新东西的说法,本质上是“我不再因为在这个小圈子里有产出而拿到社交信用,所以我退出”,只是包装成“他们在我泳池里撒尿”。(@serf)
  • 还有人调侃这类“quit programming”的帖子几乎都来自 Ruby 社区,带着一种看热闹和倦怠交织的情绪。(少数人)

认为人工智能没那么神,真正有手艺的人仍不可替代

  • 有开发者反驳“机器人很强”的炒作,认为鼓吹者里不少是没技能、想靠共识抹平差距的人;大模型产出看似厉害,但离替代熟练工还差得远。(少数人) > 机器人没你想的那么好,只是一堆人在喊它很好。(@lifeisloving)
  • 反直觉的是,即便人工智能能更快产出,生态仍会依赖有创造力的人去提供被模仿的“基础模块”;如果这些人才因人工智能而退出,长期反而可能出现稳定性与发展的下降。(少数人)

有价值的补充

  • 有人提出一个预言性问题:如果未来每个人都用智能体维护自己的随库派生分支,软件是会因复杂度自我崩塌,还是更聪明的智能体能把前任挖的坑填平?(@ForHackernews)
  • 经验性预测:当贡献被上游无视时,开发者会用人工智能派生出私有分支自己维护;长此以往,npm、Ruby、PyPI 上的小型客户端或库可能会逐渐减少,因为大家直接让模型重新生成。(@tempest_)
  • 精巧反讽:针对“模型需要吞掉更多优质人类 Ruby 代码”,有人接话说——你可能早就是问题本身了,因为你写的好代码正在喂养取代你的模型。(@block_dagger)