2003,Linux 遇到法律阴影
原创 · 约 18 分钟阅读 · 阅读 --

2003,Linux 遇到法律阴影

作者: 字与码


古董级程序员,大厂出来后一直在创业公司,现在仍活跃在一线做 AI 相关开发。更完整的更新写在微信公众号「字与码」:工作经历、对新技术的想法,以及这些年折腾工具、模型和工程系统的记录,会不定期发在那里。

2003 年,Linux 的上升感还在,但空气里多了一点阴影。

前一年,Linux 正在学会做生意。Red Hat 推出面向企业的 Advanced Server,UnitedLinux 试图联合几家发行版公司,OpenOffice.org、Mozilla、GNOME、KDE 又让桌面 Linux 继续有想象力。

到了 2003 年,另一个问题开始变得更具体:我们每天使用、修改、分发的这些开源软件,到底意味着什么?

这不是一句哲学问题。

它会落到许可证,落到产品边界,落到客户合同,落到公司能不能闭源一部分代码,落到工程师能不能随手把网上找到的代码放进项目里。

这里需要修正一个时间线。

Richard Stallman 并不是 2003 年由我当时所在公司接待来华。更准确的说法是:1999 年,他由 TurboLinux 公司邀请来到中国,而 TurboLinux 是后来我进入的那家公司的前身。这个细节很重要。它说明自由软件运动和中国 Linux 热潮的交汇,比我进入 Linux 公司更早,也不是我个人经历中的“当年现场”。

所以这一篇不写“我见到 Stallman”。这一篇写 2003 年 IT 历史里真正发生的变化:SCO 诉 IBM 让 Linux 第一次被大规模放进法律争议里,Red Hat Enterprise Linux 3 和 Fedora Project 让企业版与社区版路线更清晰,自由软件、开源、商业化和合规这几件事开始缠在一起。

自由软件不是“免费软件”

很多人第一次听到 free software,会自然理解成“免费软件”。

但 Stallman 反复强调的 free,不是价格上的 free,而是自由上的 free。

使用软件的自由,研究软件如何工作的自由,修改软件的自由,分发原始版本和修改版本的自由。这个说法在今天看起来很基础,在当时却会带来很多争论。

因为国内很多人接触 Linux,最开始确实是从“不要钱”进入的。

操作系统授权太贵,开发工具太贵,服务器软件太贵。Linux 和一大批开源软件忽然摆在面前,能装,能用,能看源码,当然很有吸引力。可是“免费”只是入口。如果停在这里,就很容易误解开源。

自由软件真正改变程序员的,是它重新定义了软件和使用者的关系。

你不是只能等厂商修 bug,也不是只能猜测系统内部发生了什么。理论上,你可以读源码,可以改,可以重新编译,可以把修改反馈给社区。哪怕你最终没有提交补丁,知道这条路存在,也会改变你看待软件的方式。

这也是 Linux 对那代程序员最大的训练之一。

它让人意识到:软件不是黑盒,系统不是神秘物,权威也不是不可挑战的。

GPL 让理想变成了规则

自由软件如果只停留在口号,很难保护自己。

GPL 的重要性,就在于它把理念变成了法律和工程规则。

你可以使用、研究、修改、分发 GPL 软件,但如果你分发修改后的版本,通常也要遵守相应的源码开放要求。对很多商业公司来说,这正是 GPL 最有争议的地方。

工程师喜欢自由,老板未必喜欢。

销售喜欢说“我们基于 Linux 做了自己的系统”,客户喜欢听“源代码可控”,但产品负责人很快会问:哪些代码可以闭源?哪些修改必须开放?动态链接算不算?内核模块怎么算?我们能不能把某个组件拿出来卖?客户定制代码归谁?

这些问题没有“热爱开源”四个字那么简单。

在 Linux 公司里,许可证不是贴在 README 里的装饰。它会影响产品设计、交付方式和商业模式。你必须知道自己在用什么,改了什么,分发了什么,承诺了什么。

这也是很多程序员早年容易忽略的地方。

写代码的时候,总觉得能跑最重要。真正做产品以后才知道,代码能跑只是第一步。它从哪里来,能不能合法分发,将来怎么维护,出了问题谁负责,都同样重要。

自由软件、社区、商业化和法律边界

自由软件不是一句“免费使用”,它同时牵涉源码、许可证、社区、商业支持和法律边界。图为按年代氛围生成的示意图。

开源和自由软件的分歧

2003 年前后,国内技术圈也会讨论 open source 和 free software 的差别。

今天很多人把它们混着用,当年也一样。

但两者的出发点并不完全相同。自由软件更强调用户自由和道德立场,开源更强调开发方法、工程效率和商业友好。前者问“用户是否拥有自由”,后者问“开放源码是否带来更好的软件和更好的协作”。

这不是纯粹的文字游戏。

对公司来说,“开源”更容易对外讲。它听起来中性,务实,适合商业合作。对一些理想主义者来说,“自由软件”才是根本,它提醒大家不要把源码开放仅仅变成一种开发策略。

我当时并没有能力把这些问题想得很深。

那时更多是听,看,参与一些零散讨论。真正理解它们之间的差别,是很多年以后。等你经历过商业项目、客户交付、闭源产品、开源依赖、安全合规、法律审查,才会明白这些看似抽象的词,最后都会变成实际约束。

软件世界里,词很重要。

因为词背后是利益,是权利,是边界。

SCO 诉 IBM,让 Linux 忽然有了阴影

2003 年还有一件大事:SCO 起诉 IBM。

这场诉讼后来拖了很多年,也成为 Linux 历史上最著名的法律事件之一。站在今天看,Linux 已经成为服务器、云计算、手机、容器、AI 基础设施的底座,SCO 的故事更像旧时代的一段插曲。

但在 2003 年,它带来的心理冲击很真实。

Linux 能不能放心用?企业客户会不会担心法律风险?开源代码是不是也会卷进版权争议?这些问题会被销售、客户、媒体反复提起。

对 Linux 公司来说,这不是遥远新闻。

一个客户如果问“这个系统会不会有法律问题”,工程师不能只回答“我们相信开源”。你要解释许可证,解释代码来源,解释发行版如何管理上游组件,解释风险边界。即使很多问题不是一线工程师能最终回答的,它也会改变大家对开源的理解。

这件事让我很早意识到,开源不是一个只有程序员参与的世界。

它有代码,也有法律;有社区,也有商业;有理想,也有风险控制。

RHEL、Fedora 和路线分叉

同样是 2003 年,Red Hat 的路线也开始变得清晰。

Red Hat Enterprise Linux 3 发布,Fedora Project 也在这一年前后出现。简单说,Red Hat 把企业级稳定发行版和社区创新发行版分开了:企业客户要稳定、支持周期和商业服务;社区需要更快的迭代、更开放的实验和更自由的参与。

这个分叉后来影响很大。

它说明 Linux 商业化不是简单卖一张盘,而是要区分用户、节奏和责任边界。

企业版要慢,要稳,要可支持。社区版可以快,可以新,可以承载实验。两者之间有联系,但不能混为一谈。

国内很多 Linux 公司当时也在面对类似问题,只是资源、生态和市场条件完全不同。

我们也想做桌面,也想做服务器,也想做政企项目,也想做社区影响力。每一条路都对,每一条路都需要投入。问题是,一个公司很难同时把所有事情做好。

这就是基础软件公司的残酷之处。

方向都重要,钱和人不够。

1999 年那条前史

Stallman 1999 年由 TurboLinux 邀请来到中国,应该放在这条历史线的前面看。

那时国内 Linux 热潮刚刚起来,TurboLinux、红旗、蓝点、冲浪等名字陆续进入技术媒体和社区视野。TurboLinux 面向亚洲市场,重视本地化,也较早和中国高校、企业、社区发生联系。它后来成为我进入的那家公司的前身,所以这条线对我来说不是抽象资料,而是公司历史的一部分。

这个前史能解释为什么 2003 年的开源讨论并不是凭空出现。

自由软件的理念,GNU/Linux 的命名争论,GPL 的约束,企业发行版的商业化,早就在国内 Linux 圈里被谈论过。只是到了 2003 年,SCO 诉 IBM 让这些问题突然不再只是理念和社区争论,而是变成了企业客户会问、公司法务会看、销售和工程师都绕不开的现实。

Stallman 那类人很少见。他不是来介绍一个产品,也不是来讲一个融资故事。他讲的是自由,是用户权利,是许可证,是软件不应该被完全锁进黑盒里。

这种话放在商业公司里,有时会显得不合时宜。

公司要赚钱,客户要交付,产品要按期发布,工程师要解决 bug。自由软件运动听起来太理想,太硬,甚至有点不近人情。

但很多年以后再看,我反而觉得这种“不近人情”有它的价值。

产业会天然滑向方便、垄断和封闭。商业公司会说这是效率,平台会说这是体验,用户会因为省事接受很多限制。总要有人站在一个更硬的位置上,反复提醒大家:软件不只是商品,它也会决定人和机器、人和知识、人和平台之间的关系。

我未必完全同意自由软件运动的每一个主张。

但我尊重那种坚持。

对程序员的真正影响

2003 年以后,我对“开源”这两个字不再只是兴奋。

它开始带着责任感。

使用别人的开源代码,要尊重许可证。修改开源软件,要知道自己改了哪里。对客户交付系统,要能说清楚组件来源。做公司产品,要知道哪些地方可以开放,哪些地方不能随便承诺。

这对一个程序员是很重要的训练。

它让你从“写代码的人”慢慢变成“对软件生命周期负责的人”。

后来无论是在大厂,还是在创业公司,开源依赖都变得越来越多。今天一个普通 Web 项目,可能间接依赖几百上千个开源包。AI 时代更是如此:模型、推理框架、向量数据库、前端组件、Python 包、容器镜像,全都离不开开源。

如果没有早年在 Linux 公司里被这些问题撞过一下,很容易把开源当成免费的仓库。

但开源不是免费的仓库。

它是一套协作方式,也是一套责任关系。

下一年,脚本语言变成日常工具

2003 年这条线,写的是自由软件和开源观念。

到了 2004 年,我想写另一件更贴近日常开发的事:Perl、PHP、Java,以及我开始使用 Python。那几年做系统、网站、内部工具和自动化,语言选择很杂,但也正是这种杂,让人更早理解“语言只是工具”。

下一篇,就写脚本语言和早期 Python。

2003 年 IT 大事记

  • SCO 起诉 IBM。 这场围绕 UNIX、Linux 和知识产权的诉讼在 2003 年爆发,给企业采用 Linux 带来过明显的法律阴影,也让开源合规问题更受关注。
  • Red Hat Enterprise Linux 3 发布。 RHEL 企业版路线进一步成形,Linux 商业化开始更清楚地走向订阅、稳定支持和企业客户服务。
  • Fedora Project 出现。 Red Hat 将社区发行版和企业发行版分开,Fedora 后来成为社区创新和 RHEL 上游的重要角色。
  • WordPress 第一版发布。 2003 年,WordPress 出现。它后来成为最重要的开源 CMS 和博客系统之一,也深刻影响个人出版和网站建设。
  • Skype 发布。 2003 年,Skype 面世,P2P 通信和网络语音进入更多普通用户视野。
  • iTunes Music Store 上线。 Apple 在 2003 年推出 iTunes Music Store,数字音乐分发开始进入新的商业秩序。

参考资料

微信公众号

欢迎关注「字与码」

如果这篇文章对你有用,也欢迎在微信里继续关注后续更新。

微信公众号字与码二维码