一家快倒闭的公司,告Linux侵权索赔50亿,最后把自己告破产了……

· 2026-09-18 07:15 · 2 阅读

原创 Can Artuc 2026-09-18 07:15 广东

Linus:改用GPLv2,是我最明智决定之一。

2003年,一家濒临倒闭的软件公司向全球各大企业放话:你们正在使用盗版软件。该公司声称,这些企业服务器上运行的免费操作系统,盗用了属于他们的代码。

索赔从10亿美元开始,一路飙升到30亿,最后直接到50亿美元。紧接着,它向大约1500家企业寄出警示函,话术大同小异:如果继续使用这套系统,下一个被起诉索赔的就是你。

借着这场风波,这家公司的股价持续走高。在一年半时间里,这家本该快倒闭的厂商,让很多依赖这款免费软件开展业务的巨头惶惶不安。

可整件事藏着一个致命破绽。它攻击的Linux,从诞生之初底层设计理念就是:不允许被任何一家公司单独占有。而且,这套系统的开发者能够拿出证据,溯源每一行代码。

这是Linux历史上最为离奇的一桩往事。现在把时间拨回35年前,故事始于赫尔辛基大学一间普通的学生卧室……

一、1991年,赫尔辛基大学

1991年秋天,21岁的赫尔辛基大学学生Linus Torvalds,对自己正在使用的操作系统感到十分不满。

1991年8月25日,他在面向MINIX用户的Usenet新闻组中,发布了那封如今家喻户晓的留言:“我正在开发一个(免费的)操作系统(纯属个人爱好,不会像GNU那样庞大而专业),面向386 (486) AT兼容机。” 该系统的0.01版本于同年9月发布。

他原本打算将其命名为Freax。负责管理文件服务器的学校管理员Ari Lemmke,却把上传目录命名为“linux”,这个名字就此沿用下来。

再后来,行业专家们登场了。1992年1月29日,MINIX的作者、教授Andrew Tanenbaum发布了一篇标题为《Linux已经过时了》的帖子 [1]。他提出,微内核才是未来,而在1991年采用宏内核,相当于“大步倒退回20世纪70年代”。

那时候Torvalds还只是一名学生,而Andrew Tanenbaum是该领域大名鼎鼎的学术权威。他在1987年出版的教材《操作系统:设计与实现》被全球众多高校选为课程用书。为了教学,他开发了MINIX,一个大约12000行代码的小型类Unix系统。书中直接印刷完整源代码,让学生能够看懂真实操作系统是如何工作的。Linus Torvalds此前一直在使用MINIX,但慢慢发现这套系统已经无法满足自己的需求。

即便身份悬殊,Linus Torvalds依然选择回击。他就在同一个话题线程中为自己的设计思路辩护,并且持续推出新版本。

二、最明智的决定之一

Linux的0.01版本附带一份自制许可证:系统可以免费使用,但不允许任何人拿它来赚钱牟利。

1992年初,在发布0.1 版本时,Linus舍弃了这份自制许可证,改用GNU通用公共许可证第二版。后来他表示,这是自己这辈子做出的最明智的决定之一。

这份许可证规定,任何人都可以获取、修改并分发代码,但有一个条件:你必须将同等的自由权利传递给所有接收该代码的人,同时一并提供源代码。换句话说,从规则层面,代码就不可能被某一方单独攥在手里。

Oracle把Red Hat的Linux软件包逐个重新编译,改一改之后包装成Oracle Linux对外售卖,Red Hat也拿它没有办法,根源就来自1992 年Linus做出的这个选择。只要你对外分发了Linux,就等于自动赋予其他人一模一样的分发权限。

这正是整个事件颇具讽刺意味的重点所在:哪家公司如果妄想独占Linux,就得先把全世界所有已经流传出去副本的GPL法律效力全部废除,而这件事,现实中根本不可能实现。

图源:作者,《GPL如何让没有任何一家公司能够独占Linux》

三、50亿美元与1500封律师函

2003年3月6日,SCO Group起诉了IBM。

简而言之,它的指控是:IBM拿到了Unix的保密源代码,并偷偷把这些代码植入Linux,这意味着Linux的部分代码归属于SCO。2003年5月,Darl McBride(SCO的CEO)公开表态并且不断造势,声称Linux有数百万行盗用的Unix代码,同时警告所有运行Linux的企业都将面临法律风险。

但Darl McBride以前曾处在事件的对立面。1988至1996年间,他在Novell任职八年,一路晋升到副总裁。SCO针对Unix的全部权利主张,源头就来自Novell。

紧接着,1500封警示函被寄往各家企业。针对IBM的索赔金额从10亿美元涨到30亿,之后又攀升至50亿美元。

SCO的Unix业务每个季度都在萎缩,这场诉讼反倒成了它实际的收入来源。

官司愈演愈烈,可各大企业全都心存顾虑,没人敢站出来公开硬刚,一时间人人惶恐。

但有一个人站了出来。毕竟,这套操作系统是由他亲手写出来的。

四、“他们完全丧失理智”

Linus没有聘请公关顾问。他用自己的原话做出回应,措辞也不像往常那样委婉克制。

面对遭到个人起诉的威胁,他淡然表示:“我看不出SCO起诉我能捞到什么好处,他们完全不讲道理。”

谈及这场荒唐的官司,他言辞十分犀利。2003年6月23日接受eWeek采访时,他直言:“SCO纯属一派胡言。” 两个月后再度采访,他评价:“他们完全丧失理智”。次年2月,在《商业周刊》的采访中,他又说道:“SCO的错,体现在好几个层面。就算真的存在平行宇宙让SCO的说法成立,他们依旧是错的。”

各大企业感受到的是50亿美元级别的法律威胁。而在Linus眼中,这家公司根本不清楚自己在说些什么。比起恐惧,他更多感到的是被冒犯。

SCO很清楚,仅仅引用口头言论并不能算作证据。可SCO那份声称遭到盗用的机密文件清单发生泄露,于是,Linus做了一件极少有被告能够做到的事……

他公开出示了这些文件。

五、65个文件,逐行检验

这份泄露的清单包含约65个文件,SCO声称这些文件是从Unix抄袭来的。Linus逐一审阅全部文件,并发布了公开回复,表示他要把这套指控 “彻底驳倒”。

我们先看ctype.c和ctype.h。这是系统中最简单的两个文件,包含一组简短子程序,用于完成基础字符判断:判断字符是否为字母、数字、空格,以及实现大小写字母转换。这两份文件是他在1991年9月为Linux 0.01版本亲手写的,据他描述,整个编写过程不超过五分钟。

证据就藏在代码内部。打开最早发布版本的ctype.c,你会看到一个内部变量名叫_ctmp。在任何正式发布的Unix系统里,都从未出现过这个变量名。

如果真的是抄来的成熟代码,程序员不会平白无故新增一个任何现有系统都没有的私有变量。

这些文件处处留有新手写代码的痕迹。toupper和tolower是用于字母大小写转换的函数,负责实现大小写的互相转换。Linus写的这两个函数并不具备线程安全。如果程序的两处代码同时调用它们,调用操作就会互相覆盖,返回错误结果。原因在于他的代码复用了同一个临时变量(就是前面提到的 _ctmp),没有为每一次调用分配独立的变量空间。

而一套成熟的商业库,恰恰会专门避开这类隐患。他写出来的代码,就连括号的排版写法都略显生涩。这些细节痕迹足以证明,代码是从零手写出来的,并不是直接照搬别人现成的成果。

早期Linux使用的信号数值和传统Unix并不相同。信号是操作系统向正在运行的程序发送的简短通知,用来告知发生了某些事件,例如程序崩溃或是按下Ctrl+C。每一个信号都拥有名称与数字编号,编号只是开发者自定义的标记。用于提示内存访问异常的信号SIGBUS,在Linux中编号为 7,而Unix里该信号的编号是10。后来的移植版本改用Unix信号数值,只是为了兼容二进制程序。这恰恰从侧面说明,不存在偷偷复制代码的行为。

剩下所有的相似之处,都源于所有开发者都必须遵守的通用规范。C标准库与POSIX(一份公开标准,规定类Unix系统应当具备怎样的行为,从而让程序可以在不同系统之间迁移),都精确定义了ctype这类函数必须实现的功能。当需求行为被严格固定时,可行的实现写法本就寥寥无几。就算是两名完全独立开发的程序员,也有可能写出看上去高度相似的代码,但这并不代表其中一方存在抄袭。

SCO公开展示了两段代码。其中一段是伯克利数据包过滤器,这是一段来自加州大学伯克利分校的知名小型工具,用于让程序捕获并过滤网络流量。

Linus看过之后表示,它 “明摆着采用BSD许可证,早就存在很多年了”。直白来讲,这是任何人都可以合法使用的伯克利开源代码,根本不是什么保密的Unix私有代码。而另一个所谓证据,则是Linux开发者早在SCO点名指控之前,就已经移除的旧代码。

要证实以上全部事实,就需要翻阅内核邮件列表自1992年起的历史归档。Linus称这件事 “实在没什么乐趣可言”。而这件事之所以能够做到,正是因为完整的开发历史全部对外公开,每一处修改都可以追溯到对应的时间与作者。

图源:作者,《Linus Torvalds如何追溯每一份存在争议文件的来源》

六、诉讼的资金从何而来

SCO当时几乎濒临破产,但这场诉讼耗资巨大。那么,资金从哪来?

微软对Linux的立场从来毫不掩饰。2001年6月,Steve Ballmer(微软CEO)称它:“从知识产权角度而言,Linux就像癌症,会缠上所有它接触到的东西。” 而知识产权,正好就是SCO选择开战的主战场。

2003年5月,也就是McBride向全世界发出警告的同一个月,微软向SCO支付600万美元来购买一份Unix授权许可。同年10月,一家名为 BayStar Capital 的投资机构牵头,向SCO完成5000万美元的投资 [2]。

BayStar后来表示,在与微软高管沟通之后,他们才被推动促成这笔交易 [3]。

微软确认了这笔600万美元的付款,但否认自己为BayStar的这笔投资提供过担保。

资金撑住了这场官司,却解决不了案件根源上的致命漏洞。

而这个漏洞,早在1995年的一份合同当中就已经埋下。

七、1995年合同里的一句话

整起案件的法律立足点只有一个:要起诉他人侵犯版权,你首先必须持有对应的版权。

1995年,SCO依据一份资产收购协议,从Novell手中购入了Unix相关资产 [4]。包括SCO自身在内,所有人都理所当然认为,Unix的版权也随之一并移交。但当律师与Groklaw的读者仔细研读这份协议文本后,却发现协议根本没有转让Unix的版权,版权依旧归属于Novell

这家索要50亿美元版权侵权赔偿的公司,实际上根本不拥有涉案版权。

2007年8月10日,法官Dale Kimball出具一份长达102页的判决书,明确证实了这一点 [5]。Unix以及UnixWare的版权归属Novell,而不是SCO。SCO之前收取的授权费用中,还有数百万美元应当归还给Novell。短短数周之内,SCO便申请了美国《破产法》第十一章的破产保护。

这份判决并非最终定论,只是简易判决。2009年8月,联邦上诉法院将版权归属问题发回重审,要求开展完整庭审。2010年3月庭审开庭,陪审团的结论与Dale Kimball法官保持一致:Unix版权属于Novell,SCO并不享有。2007年的判决得到维持,陪审团的裁决为案件画上句号。

McBride在2009年10月被解除CEO职务。2020年12月他申请个人破产,并于2024年9月16日离世,终年64岁。

这场纷争持续了18年,直至2021年才彻底了结。IBM向负责处置SCO破产清算的受托人支付1425万美元。这笔款项并非针对已经败诉的Linux侵权主张,而是为了解决早年IBM与SCO合作项目遗留的另一桩金额小得多的合同纠纷,IBM出钱只是为了了结整件案子。SCO当初索要数十亿美元赔偿,最终却落得破产收场。

案件虽已落幕,但它留下了一个影响最为深远的结果:早在纷争还没结束的2004年,Linux内核社区就树立了一套规则。时至今日,每一次代码贡献,都仍在沿用这套规则。

八、每一份补丁都要签署确认

当年这场恐慌能够掀起波澜,主要源于这个问题:有人可能提交了并不属于自己的代码,而内核项目当时没办法完全核验每一行代码的来源。如今AI生成代码带来的担忧,本质上也是同样的问题。

那时候Linux内核全部开发记录,都存放在BitKeeper这套版本控制系统里。历史记录虽然都在,但贡献者并不会做正式声明,说明自己提交的代码来源是否合规。

于是2004年5月,Linus推出了开发者来源证书,也就是现在业内通用的Signed‑off‑by签名行。

随便找一份近期合入主线的内核补丁,快到文末的地方,总能看到这行内容:Signed‑off‑by,后面跟着提交人的真实姓名和邮箱。写下这一行,就等于留下书面记录:要么代码是本人写的,要么提交人拥有合法提交这份代码的权限。日后如果再有公司跳出来宣称,内核里某段代码归它所有,我们直接就有据可查,责任人清清楚楚写在上面。

来源:作者,Signed‑off‑by 行如何记录每一处内核补丁的来源

【补充】

这件事情真的画上句号了吗?其实并没有。

2021年,在即将结案的那个时间点,SCO已将旗下软件业务卖给一家名叫Xinuos的公司,这家公司选择继续这场诉讼。自此之后,Xinuos发起的案件就一直不温不火地拖延着。Xinuos主张IBM从未获得SCO代码的合法许可;而IBM则坚称自身没有任何过错。

案件真正的矛盾点其实就两件事:Xinuos到底有没有资格打这场官司,还是说,早年协议里那些绕来绕去的条款,早就过了起诉的有效期?

目前看,这场纠纷尚未结束。[6]

>>>>

参考链接

作者丨Can Artuc      编译丨dbaplus社群

来源丨网址:

https://canartuc.medium.com/they-called-it-stolen-demanded-5-billion-it-backfired-1aca29404d46

dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn

跳转微信打开