开源代码被其他项目采用,这在行业内并不罕见。
然而,当你发现对方项目中229个文件里有228个与你的项目完全一致,甚至连工程师随手起的Agent名字、Prompt都丝毫不差;而原本项目中的3个作者姓名,尽管曾在对方的Git历史中出现过,后来却被替换成了另一个名字——这恐怕就难以简单用“开源代码复用”来概括了。
近期,AI初创公司Minitap的创始人兼CEO Nicolas Dehandschoewercker公开发声,指控Google新推出的开源移动自动化工具Artemis大量使用了其开源项目mobile-use的代码,但未按许可证要求保留原始署名。
更具讽刺意味的是,这段被“借用”的代码,曾出现在Google自家的基准测试中,并击败过Google。
01
从AndroidWorld第一名,到发现Google的Artemis
Minitap是一家来自法国的AI初创公司。2025年,这支仅有10人的团队打造了mobile-use——一个能让AI智能体通过自然语言控制真实Android设备的开源项目。他们最初的目标非常明确:打造全球最优秀的移动端AI智能体。
他们不仅实现了目标,而且表现极为出色:mobile-use在Google DeepMind维护的AndroidWorld基准测试中登顶第一,成为首个在该基准上达到100%任务成功率的智能体框架,成功解决了全部116项、覆盖20款真实应用的多步骤任务。
要知道,Google自己的基线智能体M3A最初只能完成30.6%的任务,而人类成功率也仅为80%。凭借这一成绩,Minitap随后完成了410万美元的种子轮融资,之后逐步将重心转向更强大的闭源版本,如今相关技术已用于Minitap的自动化QA产品。
转折点发生在今年9月:Google发布了Artemis,一个面向移动设备自动化的开源项目。
起初,Minitap团队并未觉得有何特别,毕竟GitHub上已有不少手机智能体项目,Artemis看起来也只是“又一个Phone Agent”——直到他们真正查看代码:“等等,这不是我们写的吗?”
随后,Minitap开始逐个文件比对,结果令他们震惊:Artemis总共229个文件,其中228个文件与mobile-use完全一致!
在官方博客中,Minitap列出了详细的代码对比:
连接Android设备的adb_tunnel.py实现完全相同;
一个名为Hopper的Agent(最初只是Minitap团队的一个随意命名,竟也出现在Google的代码库中),其Prompt与mobile-use中的每个字都一样;
还有一个用于让Agent停留在WhatsApp中的示例,其任务内容、Alice、Bob、Charlie等名字,以及注释和清理步骤,都与mobile-use中的示例相同。
甚至,就连一个历史Bug也出现了类似痕迹:某个辅助函数会先写入结果文件,然后在下一次运行时读取自己此前生成的文件并失败。Minitap称,他们在两套实现中复现了相同问题,而Artemis后续已经修复了这个Bug。
其实单纯看到这些代码,并不是Minitap最在意的事情,毕竟mobile-use本来就是开源项目——问题出在接下来发生的事情。
02
3个作者名字被换掉,Git历史中还能看到
后来,Minitap又进一步查看Artemis的Git历史,发现了一个最令他们心寒的细节。
在Artemis某个较早版本的项目文件中,曾经出现过mobile-use的3个作者:Pierre-Louis Favreau、Jean-Pierre Lo、Nicolas Dehandschoewercker。
但在后来的版本里,这3个名字被全部替换成了另一个人。
而且,根据Minitap对Git历史的调查,相关Commit中被修改的部分就是作者列表,其他代码基本没有变化。Minitap还称,这次替换发生在今年8月的一次强制推送(Force Push)中。
这也是整个事件最受关注的地方:“使用开源代码”与“抹掉开源代码的来源”并不是一回事。
据了解,mobile-use使用的是Apache License 2.0。这是一种相对宽松的开源许可证,允许使用者复制、修改、分发代码,甚至将其用于商业项目——但“宽松”并不等于“无限制”。
Apache 2.0第4条明确规定,在分发源代码形式的衍生作品时,需要保留原项目中的版权、专利、商标和attribution notices(署名/归属声明);如果原项目包含NOTICE文件,其中相关的归属声明也需要在衍生作品中保留。
而Minitap表示,他们不仅采用Apache 2.0,还专门提供了NOTICE文件,其中明确要求进行署名。
03
“我们不介意Google使用代码,但请别删掉名字”
于是,社区讨论很快从“Google有没有复制Minitap代码”,转向了另一个更具体的问题:如果代码确实来自一个Apache 2.0项目,那么在重新发布时,原作者的署名是否被正确保留?
Minitap的态度其实也相当明确:他们之所以开源mobile-use,就是希望其他开发者可以拿去使用、修改甚至继续构建新产品,Google当然也可以这么做——问题并不是Google用了他们的代码,而是Google没有正确说明代码来源,并且删除了原作者信息。
正如Minitap创始人兼CEO Nicolas Dehandschoewercker在博客中所说:
“在另一个项目中看到熟悉的代码,这是我们开源项目时就知道会发生的事情。不过,如果这段代码是以谷歌的名义出现的,却没有注明其来源,这种情况就让人难以接受了。”
在社区讨论中,也有网友指出,即使暂时不讨论法律层面,开源社区依然存在一个很基本的协作规则:可以复用别人的工作,但应该让后来的人知道这项工作是谁完成的。
对于程序员来说,代码仓库里的作者信息、Commit、NOTICE和README,并不只是几行无关紧要的文字。它们记录了项目从哪里来、谁做过什么,也让后来者能够找到原作者、理解代码背景,并继续贡献。
Minitap创始人也表示,自己最失望的并不是Google用了他们的代码,而是他们不得不通过Google的Git历史,才能重新找回自己团队的名字:
“这些代码文件的背后,是一个个活生生的人。我见证了他们为此付出的努力、倾注的心血,以及他们对所构建成果的深切在乎。我希望他们能看到自己的成果被使用,并为自己的工作感到自豪。”
04
Google已补上声明,但并未解释“抹名”原因
在事件曝光后,Google很快对Artemis的代码进行了修改,并在项目中添加了一份声明:“本项目包含由Minitap公司开发的源代码”。但截至目前,Google尚未发布一份单独的公开声明解释此前的作者信息变更。
对此,Minitap方面认为,这个补充实际上间接证实了Google已经承认相关代码来自mobile-use,只是在最初使用时未能正确履行署名义务。
值得一提的是,Minitap创始人在博文中透露,他们曾把mobile-use当作开源研究项目开发,但从今年2月之后,团队已经转向开发更加成熟的闭源版本。也就是说,Google Artemis即便确实使用了此前的mobile-use代码,也并不等于拿走了Minitap当前产品的全部技术成果。他直言:“Google目前采用的部分设计理念,实际上已经落后我们当前产品大约七个月。”
或许会有人因此质疑:既然如此,那为什么还要追究?对于Minitap来说,他们真正想要的其实并不复杂:代码可以拿,项目可以继续做,甚至可以做得比原项目更好,但请把那些真正写下第一行代码的人留下来。
毕竟,开源最重要的东西,有时候并不只是代码本身,还有代码背后的人。
参考链接:
本文来自微信公众号“CSDN程序人生”,作者:郑丽媛,36氪经授权发布。
开运体育网址深耕从新手到进阶玩家,都能在开运体育网址找到对应的启发与工具。领域,用心服务每一位用户。
欢迎在开运体育网址了解动作冒险,为下一次游戏体验寻找灵感,限时活动的相关信息以正式发布为准,参加前请确认适用范围,开运体育下载希望成为了解移动端体验的便捷入口,从相关背景开始拉近读者与内容的距离,围绕地图探索多看一点背景,理解注意事项也会更从容。
在开运体育网址方面,开运体育网址提供贴心周到的支持。
开运体育网址以开运体育app下载为核心,带来高效便捷的体验。
—— 资深玩家 王浩
想了解更多开运体育下载相关内容,尽在开运体育网址。
开运体育网址围绕开运体育入口不断创新,回应用户的真实需求。
分享:
- 脸书
- 推特


03 条评论
开运体育网址深耕从新手到进阶玩家,都能在开运体育网址找到对应的启发与工具。领域,用心服务每一位用户。
2021年5月18日
精选开运官网内容,开运体育网址与你一同发现更多精彩。
在开运体育网址方面,开运体育网址提供贴心周到的支持。
2021年5月18日
开运体育网址专注开运入口,为用户提供专业可靠的体验。
开运体育网址以开运体育app下载为核心,带来高效便捷的体验。
2021年5月18日
围绕聚焦动作冒险与地图探索领域,内容经过编辑团队双重核实。,开运体育网址持续打磨更优质的服务。