标题:当“fork”撞上GPL:一场发生在AI浏览器公测前夜的开源协议时差事故
3月2日,美团光年之外团队高调发布Tabbit——一款以AI Agent为核心、号称能“自动填表、跨站抓数、生成报告”的AI原生浏览器。公测开启不到24小时,它便登上了科技圈热搜。但这一次,不是因为多惊艳的智能体能力,而是因为一个被遗忘在Git历史里的文件名:read-frog.png。
是的,那个图标——静静躺在Tabbit安装包资源目录下的icon文件,名字没改,路径没动,连命名习惯都透着一股未加消化的“搬运感”。
而它的原主,是GitHub上拥有3.8k星、由前字节跳动与波音工程师“梦溪睡了吗”独立开发的开源项目:陪读蛙(read-frog)。一款轻量、可插拔、支持多模型接入的语言学习浏览器扩展——它不宏大,但足够干净;不炫技,但有明确的哲学:用开源推动AI工具的民主化。
争议爆发于3月3日清晨。小红书一篇图文帖配着逐行对比的代码截图、UI组件结构图,以及X平台一段17秒的屏幕录屏——镜头缓缓拖过Tabbit开发者工具的/assets/icons/目录,鼠标悬停在那个名为read-frog.svg的文件上,右键属性弹出窗口赫然显示“修改时间:2025-12-31”。
这不是“相似”,这是时间戳级别的证据链闭环。
更关键的是协议——陪读蛙在2026年1月2日通过commit a0679e2 正式采用 GPLv3 协议。而Tabbit团队承认:他们在2025年12月30日 fork了该项目,彼时仓库中确实没有LICENSE文件,也没有任何协议声明。
于是,一场极具当代性张力的冲突浮出水面:
法律上,fork无协议项目不违法;
道义上,未及时响应协议变更是否失责?
工程上,“已fork即脱离原项目”能否成为合规防火墙?
而在AI军备竞赛的语境下——当大厂用开源项目做“功能速写”,却把“署名”和“协议追踪”当作可裁剪的UX细节,我们失去的究竟是什么?
Tabbit团队的回应堪称教科书级危机处理速度:9小时内完成自查、宣布移除、同步开源——新仓库 https://github.com/Tabbit-Browser/read-frog 于当日中午上线,带完整commit历史、清晰的GPLv3声明,甚至附上了对原作者mengxi-ream的致谢说明。
但有意思的是,这份高效背后,暴露出一个被多数AI产品刻意模糊的真相:开源不是“取用即止”的自助餐,而是一条双向校验的信用走廊。你fork的那一刻,不是获得代码,而是签下一纸隐性契约——契约内容会变,而你的责任不会因“当时没写”而自动失效。
更值得深挖的是那个被轻描淡写的词:“翻译项目”。在Tabbit的功能叙事里,它只是AI Agent流水线中一个微小的“语言桥接模块”;但在陪读蛙的设计逻辑里,它是整套学习范式的入口——实时网页划词翻译、上下文感知释义、术语本沉淀、模型服务热切换……这些不是“拿来就能跑”的API调用,而是需要理解其交互状态机、错误恢复机制与用户心智模型的深度集成。
换句话说:如果Tabbit真只用了“图标+基础翻译逻辑”,那移除它几乎不影响核心AI能力;但若它复用了陪读蛙的状态管理设计、模型路由策略或用户行为埋点结构——那么所谓“移除”,不过是把耦合从显性代码,转译为隐性架构惯性。
这恰是当前AI工程最危险的灰域:当LLM让“功能实现”变得廉价,而“设计思想”与“工程决策链”成为真正的稀缺资产,开源协议保护的,早已不止是几行代码,而是整个认知劳动的结晶过程。
事件尚未平息。“梦溪睡了吗”在最新评论中写道:“我欢迎任何人在GPL下使用陪读蛙——但请把它当成一份需要研读的说明书,而不是一张可撕掉的包装纸。”
这句话,或许比任何技术细节都更接近这场风波的核心。
在AI浏览器的战场,胜负手从来不在谁先上线,而在于谁真正读懂了开源世界的语法:
它不教你怎么写代码,它教你——
如何尊重时间,如何敬畏约定,以及,如何在每一次fork之前,先问一句:我准备好签收这份正在生长的契约了吗?
本文作者为izhu,转载请注明。