博客详情
开源代码被他人使用,这本身并不罕见。
但当你发现,对方项目中的229个文件里,有228个与你的项目完全一致,连工程师随意起的Agent名字、Prompt都毫无差别;而原本写在项目里的3位作者姓名,曾出现在对方的Git历史中,后来却被替换成了另一个名字——这就很难单纯用“开源代码复用”来解释了。
最近,AI初创公司Minitap的创始人兼CEO Nicolas Dehandschoewercker公开发文,指控Google新推出的开源移动自动化工具Artemis大量使用了其开源项目mobile-use的代码,却没有按许可证要求保留原有署名。

更具讽刺意味的是,这段被“借用”的代码,曾在Google自家的基准测试中击败过Google。
从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本来就是开源项目——问题出在接下来发生的事情。
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文件,其中明确要求进行署名。
“我们不介意Google使用代码,但请别删掉名字”
于是,社区讨论很快从“Google有没有复制Minitap代码”,转向了另一个更具体的问题:如果代码确实来自一个Apache 2.0项目,那么在重新发布时,原作者的署名是否被正确保留?
Minitap的态度其实也相当明确:他们之所以开源mobile-use,就是希望其他开发者可以拿去使用、修改甚至继续构建新产品,Google当然也可以这么做——问题并不是Google用了他们的代码,而是Google没有正确说明代码来源,并且删除了原作者信息。
正如Minitap创始人兼CEO Nicolas Dehandschoewercker在博客中所说:
“在另一个项目中看到熟悉的代码,这是我们开源项目时就知道会发生的事情。不过,如果这段代码是以谷歌的名义出现的,却没有注明其来源,这种情况就让人难以接受了。”
在社区讨论中,也有网友指出,即使暂时不讨论法律层面,开源社区依然存在一个很基本的协作规则:可以复用别人的工作,但应该让后来的人知道这项工作是谁完成的。
对于程序员来说,代码仓库里的作者信息、Commit、NOTICE和README,并不只是几行无关紧要的文字。它们记录了项目从哪里来、谁做过什么,也让后来者能够找到原作者、理解代码背景,并继续贡献。
Minitap创始人也表示,自己最失望的并不是Google用了他们的代码,而是他们不得不通过Google的Git历史,才能重新找回自己团队的名字:
“这些代码文件的背后,是一个个活生生的人。我见证了他们为此付出的努力、倾注的心血,以及他们对所构建成果的深切在乎。我希望他们能看到自己的成果被使用,并为自己的工作感到自豪。”
Google已补上声明,但并未解释“抹名”原因
在事件曝光后,Google很快对Artemis的代码进行了修改,并在项目中添加了一份声明:“本项目包含由Minitap公司开发的源代码”。但截至目前,Google尚未发布一份单独的公开声明解释此前的作者信息变更。

对此,Minitap方面认为,这个补充实际上间接证实了Google已经承认相关代码来自mobile-use,只是在最初使用时未能正确履行署名义务。
值得一提的是,Minitap创始人在博文中透露,他们曾把mobile-use当作开源研究项目开发,但从今年2月之后,团队已经转向开发更加成熟的闭源版本。也就是说,Google Artemis即便确实使用了此前的mobile-use代码,也并不等于拿走了Minitap当前产品的全部技术成果。他直言:“Google目前采用的部分设计理念,实际上已经落后我们当前产品大约七个月。”
或许会有人因此质疑:既然如此,那为什么还要追究?对于Minitap来说,他们真正想要的其实并不复杂:代码可以拿,项目可以继续做,甚至可以做得比原项目更好,但请把那些真正写下第一行代码的人留下来。
毕竟,开源最重要的东西,有时候并不只是代码本身,还有代码背后的人。
本文来自微信公众号“CSDN”,整理:郑丽媛,36氪经授权发布。
精选天行体育网址内容,天行体育网站与你一同发现更多精彩。
天行体育网站专注天行体育中国,为用户提供专业可靠的体验。

在界面简洁清晰,浏览体验稳定高效方面,天行体育网站提供贴心周到的支持。
张伟
2025年10月15日天行体育网站以正规官网入口,保障信息安全与个人隐私为核心,带来高效便捷的体验。
刘洋
2025年10月15日想了解更多覆盖足球、篮球、网球、电竞等主流体育项目相关内容,尽在天行体育网站。
李明
2025年9月9日天行体育网站围绕天行体育网站不断创新,回应用户的真实需求。