Brandon Thomas 不想付那笔违约金。所以他做了一件更贵的事:用 Claude Opus 5.5 把 Photoshop 用 Rust 重写了一遍,然后把包括它在内的七款 Adobe 软件全部逆向、开源,扔上 GitHub。Photoshop 那个仓库上线不到十天,Star 数冲到 4.6 万。这不是一次技术炫技。这是一张被订阅制憋出来的账单,最后由 AI 和开源一起付了。
那笔违约金,Adobe 大概没算过它的价格
退订,什么时候变成了收费项目
Adobe 把 Creative Suite 换成 Creative Cloud 之后,买断这件事就消失了。用户签的是订阅,年付月付各有价码,想提前走?补差价。这套设计的精妙之处在于,它把"离开"重新定义成了一次消费行为。Thomas 的触发点就在这。他不是买不起 Adobe,他是不愿意为"不想再用了"这件事单独付一笔钱。愤怒是私人的,但账是公开的——全球有多少人对着那张退订页反复算过百分比,这不用统计,翻翻论坛就知道了。
他挑了 Rust,这个选择比怒气管用
重写图像软件,语言选错就输一半。Python 跑不动像素级运算,C++ 能跑但内存安全得靠自己扛,Go 在图形栈上生态还薄。Rust 是少数能同时给出接近 C 的性能、编译期内存安全、单文件分发和跨平台支持的语言。更现实的一点:Rust 生态里已经有 image、wgpu、egui 这些成熟轮子,AI 生成代码时踩空指针和内存泄漏的概率也低得多。一个愤怒的开发者想赢,靠的不是愤怒,是工具链选对了。
Claude Opus 5.5 到底啃下了 Photoshop 的多少
逆向工程,本来是一整个团队在扛的活
PSD 不是一个格式,是一套方言。图层、组、蒙版、混合模式、智能对象、调整图层、路径、文字引擎、色彩配置,每一样都有自己的坑。过去要做兼容 PSD 的软件,得有人啃规范,有人反编译行为,有人测边界情况,几个月起步,团队规模。现在这个流程被压缩成"人定架构,模型批量产出可编译的 Rust 模块,人验行为"。这不是模型替掉了工程师,而是把工程师从写代码推到了审代码的位置。工作没消失,密度变了。
模型写得出的,和写不出的那部分
打开文件、遍历图层、导出 PNG,这些是可验证、有明确输入输出的活,模型干得又快又稳。麻烦的是另一头:ICC 色彩配置的端到端一致性、字体渲染的跨平台差异、GPU 加速下的合成精度、印刷输出时的专色处理。这些不是文档里的知识,是十几年沉淀在代码和测试用例里的隐性经验。一个十天起步的开源项目,能让你打开 PSD 看见图层,但离"设计师敢拿它交稿"还有距离。承认这个距离,不代表这件事不重要。
四万六千颗星,投的不是代码质量
GitHub 的 Star 从来不是质量评分,是情绪投票。4.6 万人点下去,点的是"我不想再被订阅绑着"这句话。其中可能只有几千人会真的 clone 下来编译,几十个人会提 PR,几个人会长期维护。没关系。Star 在这里的功能是信号,告诉所有人——包括 Adobe——替代方案的需求真实存在,而且规模不小。一个仓库的星数,成了一次公开的市场调研。
Adobe 真正的护城河,从来不在源代码里
锁住用户的是格式和生态,不是函数
就算 Photoshop 的每一行逻辑都被重写,Adobe 也不会因此倒下。PSD 虽然部分公开,但行为细节、插件接口、脚本体系、和 Illustrator、InDesign、After Effects 之间的协同,构成了一个工作流黑洞。印刷厂收的文件、甲方给的模板、设计师攒了十年的笔刷和动作,全在这个生态里。代码可以被复制,工作流不行。这也是为什么开源替代品喊了二十年,真正撼动 Adobe 的没几个。
但订阅制在批量制造对手
护城河再深,也经不住自己往里面灌水。涨价、条款调整、AI 功能捆绑、退订摩擦,每一样都在给替代方案贡献种子用户。Affinity 当年靠买断制吃了一波,现在开源项目又靠 AI 编码能力吃第二波。区别在于,前者的门槛是"做一家公司",后者的门槛是"一个人加上一个足够强的模型"。门槛降了一级,尝试的次数就会多一个量级。护城河不会一次被填平,但会一次比一次浅。
重写一个软件,从公司项目变成了个人项目
成本曲线断在了哪里
过去复刻 Photoshop,最贵的不是写代码,是懂软件的人的时间。逆向一套格式、调通一套渲染、搭出一套 UI,中间任何一环卡住都会让项目烂尾。大模型把"从零写出可用模块"的边际成本压到了接近电费,人的角色收缩成架构设计、行为验证和体验判断。结果是:以前需要融资才能启动的事,现在一个周末加几百美元 API 额度就能出原型。这不是效率提升,是项目可行性的门槛被换了量级。
开源在这里不是情怀,是策略
Thomas 把代码开源,不完全是利他。开源让这件事从"一个人对抗一家公司"变成"一群人对抗一套定价"。代码公开之后,逆向工程的知识被固化下来,不会因为作者放弃而消失;社区接手维护的成本也低。更实际的是,开源本身就是谈判筹码——它让"你不改,我就自己来"从一句气话变成可展示的现实。愤怒需要载体,代码和许可证就是最好的载体。
接下来值得盯住的几件事
律师函治不了定价问题
Adobe 大概率不会公开回应这个项目。法务层面的动作——商标、逆向工程条款、DMCA——可能发生,也可能按兵不动。但即使仓库被下架,代码已经 fork 出去了,知识已经扩散了。真正能降低这类事件发生频率的,是让用户觉得留下比离开划算。降价、放宽退订、把 AI 功能的额度给够,这些比任何法律手段都有效。定价失误的窗口期,法律只能拖延,不能关闭。
下一个被重写的,可能不是 Adobe
这件事的可复制性才是信号。任何一款"订阅绑定、格式垄断、用户怨气大"的软件,都在同一张候选名单上。专业音频工具、CAD、排版、EDA,甚至某些企业级 SaaS 的客户端,都符合这个画像。只要 AI 编码能力继续按季度迭代,重写一个中大型软件的成本就会继续往下掉。到某个点,开源替代品不再是理想主义者的作品,而是商业定价失衡的自动产物。
真正的变化,是替代这件事变便宜了
这篇文章写的是一个开发者、七款软件、一笔违约金。但真正值得记住的是:过去垄断软件的对手是另一家公司,现在对手可能是一个人、一个模型、一次被激怒的周末。Adobe 不会因为 4.6 万 Star 就受伤,但它需要重新理解一件事——当重写的成本低到可以被情绪触发,定价权就不再只由市场份额决定了。

