Linux 与自由软件
你每天都在使用 Linux。
这不是夸张。你的 Android 手机运行的是 Linux 内核。你打开的每一个主流网站——Google、百度、腾讯、淘宝——背后的服务器几乎都跑着 Linux。全球算力最强的 500 台超级计算机,100% 使用 Linux。你叫的每一辆网约车、刷的每一条短视频、转的每一笔电子支付,底层都有 Linux 的身影。
但大多数人不知道 Linux 是什么,更不知道它从何而来——一个大学生的业余项目,如何一步步成为人类数字文明的基石;一场关于自由的运动,如何与一种创造者的文化合流,共同塑造了我们今天所依赖的技术底层。
它的起点,是 1991 年一个芬兰大学生发在新闻组里的一封帖子。
一、一封帖子
1991 年 8 月 25 日,芬兰赫尔辛基大学,21 岁的计算机系学生 Linus Torvalds 在 comp.os.minix 新闻组上发了一段话:
Hello everybody out there using minix —
I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.
"只是个爱好,不会像 GNU 那样大而专业。"
这大概是计算机史上最著名的误判之一。
Linus 当时只是对 Minix(一个教学用的小型操作系统)不满意,想自己写一个能在他的 386 电脑上跑的系统内核。他甚至没打算给它起个正式名字——他自己想叫 Freax(free + Unix + x),但帮他上传代码的服务器管理员觉得这名字太难听,擅自改成了 Linux。
这个未经本人同意的命名,就这样留了下来。
需要强调的是,Linus 写的只是一个操作系统内核——它负责管理硬件资源、调度进程、处理文件系统,但它本身并不是一个完整的操作系统。你不能用一个光秃秃的内核来做任何事。让这个内核变成一个真正可用的操作系统,还需要另一股力量。
而那股力量,起源于一台打印机。
二、一台打印机引发的革命
时间回拨到 1970 年代。
MIT 人工智能实验室是当时全世界最顶尖的计算机研究机构之一。在那个年代,程序员之间共享代码是天经地义的事——你写了一段好用的程序,别人拿去改改、用用,再把改进的版本分享回来。软件就像学术论文一样,是公开的知识。
但到了 1980 年前后,这种文化开始瓦解。实验室收到了一台新的 Xerox 激光打印机,经常卡纸。一个叫 Richard Stallman 的程序员想做一件很自然的事:拿到打印机的驱动程序源代码,加几行代码让它在卡纸时自动通知用户。在过去,这不过是举手之劳。
但 Xerox 拒绝提供源代码。
对 Stallman 来说,这不是一个小小的不便。这是一个信号:软件正在从公共知识变成私有财产。一个曾经开放的世界,正在被关上门。
Stallman 的回应不是抱怨,而是行动。
1983 年,他宣布发起 GNU 计划。GNU 是一个递归缩写——GNU is Not UNIX——意思是"我要做一个类似 UNIX 但完全自由的操作系统"。1985 年,他创立了自由软件基金会(Free Software Foundation),为这场运动提供组织和法律支撑。
他还发明了一个极其巧妙的法律工具:copyleft。
传统的版权(copyright)是用法律限制你不能复制、修改、分发作品。copyleft 反其道而行之——它用版权法来保护自由。具体来说:你可以自由使用、修改、分发这个软件,但有一个条件——你修改后的版本也必须保持同样的自由。这意味着自由是可传染的:一旦一段代码以 copyleft 许可证发布,它的所有衍生品都必须保持自由。没有人可以把它锁回去。
用限制自由的法律工具来保障自由。这是一个天才级的制度设计。
Stallman 为自由软件定义了四大自由:
- 自由 0: 不论目的为何,有运行该软件的自由。
- 自由 1: 有研究该软件如何运作、并修改它的自由。
- 自由 2: 有重新散布该软件的自由,帮助你的邻居。
- 自由 3: 有改善该软件、并把改进版发布出去的自由,让公众受益。
注意:这里的"自由"是 free speech 的 free,不是 free beer 的 free。自由软件可以收费,但你不能剥夺用户查看、修改、分发源代码的权利。
到 1991 年,GNU 计划已经完成了一整套工具:GCC 编译器、Emacs 编辑器、Bash Shell、glibc C 语言库——一个完整操作系统所需的几乎所有组件。
唯独缺一样东西:操作系统内核。
GNU 自己的内核项目叫 Hurd,开发进展极其缓慢,至今仍未正式发布。
三、最伟大的巧合
1991 年,Linus 发布了他的 Linux 内核。
GNU 有一切,唯独缺内核。Linus 有内核,但只有内核。
两者一拍即合。GNU 工具集 + Linux 内核 = 一个完整的、自由的操作系统。而让这次结合成为可能的,恰恰是 Stallman 发明的 copyleft 机制——Linus 选择以 GPL 许可证发布 Linux 内核,这意味着内核与 GNU 工具在法律框架上完全兼容。如果 Linus 当初选了一个限制性更强的许可证,这块拼图可能永远拼不上。
这也是为什么很多人坚持称之为 GNU/Linux 而非 Linux——因为你日常使用的那个"操作系统"里,Linus 写的部分只是内核,上面跑的大量工具都来自 GNU 计划。
这是计算机史上最完美的拼图。一个芬兰大学生的业余项目,恰好填补了一个美国理想主义者十年计划中缺失的最后一块。没有人规划过这件事。它就这样发生了。
从这个意义上说,今天我们所知的 Linux,不是一个人的作品,而是两场独立运动的汇流——一场由技术好奇心驱动,一场由对自由的信念驱动。
四、道德与实用之争
Linux 的诞生与成功,始终伴随着一场至今未解的哲学争论。
Stallman 的立场很明确:软件自由是道德问题。封闭源代码是对用户权利的剥夺,使用和推广自由软件是每个人的道德义务。你不应该因为某个专有软件"更好用"就放弃自由,正如你不应该因为独裁政府"更有效率"就放弃民主。
Torvalds 的立场截然不同:这是工程问题,不是道德问题。开源是一种更优越的软件开发方法论。他用自由软件不是因为道德,而是因为它能产出更高质量的代码。他曾多次公开表示,自己对意识形态之争没有兴趣,只关心什么方法能写出更好的软件。
1997 年,Eric Raymond 发表了《大教堂与集市》,把封闭式开发比作建造大教堂(少数精英主导,缓慢而宏伟),把开源开发比作集市(嘈杂混乱,但每天生长)。他的核心论点是:当足够多的眼睛看到代码时,所有 bug 都无处藏身。开源项目能投入几个数量级的人力,封闭世界无法赢得这样的竞争。
但 Raymond 不只是在做学术分析。1998 年,他和 Bruce Perens 共同创立了"开源促进会"(Open Source Initiative),刻意用"开源"(open source)替代 Stallman 的"自由软件"(free software)——去掉道德色彩,只谈方法论优势,让企业更容易接受。Stallman 至今对此耿耿于怀。
于是形成了三种立场:Stallman 的道德主义、Torvalds 的实用主义、Raymond 主导的开源运动对方法论的强调。它们之间的张力,恰恰是这个生态保持活力的原因之一。纯粹的道德主义可能曲高和寡,纯粹的实用主义可能丢失灵魂,而"开源"这个更温和的标签则把自由软件从一场社会运动变成了一种被广泛接受的商业实践。
三者合力,让开源软件从边缘走向了主流。
五、黑客精神——被误解最深的词
"黑客"这个词,大概是人类语言中被媒体歪曲得最严重的术语之一。
在主流媒体的叙事里,黑客是躲在暗处的犯罪分子,入侵系统、窃取数据、搞破坏。但这其实描述的是 Cracker(骇客),不是 Hacker(黑客)。
真正的黑客是建设者。他们建立了互联网,发明了 UNIX,编写了驱动现代文明的底层协议和基础软件。黑客文化的核心不是破坏,而是创造。
黑客伦理有几条核心信条:
世界充满了待解决的迷人问题。 黑客的驱动力是好奇心。他们看到一个系统,第一反应是"这东西怎么运转的?",第二反应是"能不能让它运转得更好?"。
一个问题不应该被解决两次。 这不是懒惰,而是效率原则。如果你解决了一个问题,就应该把解决方案分享出去,让别人不必重复劳动。这正是开源文化的根基。
无聊和乏味的工作是罪恶。 能被程序完成的事,就不该让人重复做。
自由万岁。 信息应该被自由获取。对黑客来说,封锁知识和封锁代码一样,都是对人类进步的阻碍。
态度不能替代能力。 这是最容易被忽略的一条。黑客文化不是一种姿态,不是穿连帽衫在暗室里敲键盘的美学。它最终靠作品说话——你写了什么代码,解决了什么问题,做出了什么贡献。
黑客文化、自由软件运动、Linux——这三者构成了一个三位一体的关系。黑客文化提供了精神内核:对创造的热爱、对自由的追求、对卓越的执着。自由软件运动提供了制度保障:copyleft 许可证、FSF 的法律支持、四大自由的明确定义。Linux 则是最伟大的实践成果——它证明了这套精神和制度真的能产出统治级别的技术产品。
三者互相成就,缺一不可。
六、Linux 的真实处境
理解了以上背景,我们可以更客观地看待 Linux 今天的处境。
在服务器、云计算、超级计算机、嵌入式设备、移动端(通过 Android),Linux 占据统治地位,这一点无需赘述。
但在桌面市场,Linux 的份额长期低迷,近年虽有增长(Steam Deck 的推动、Windows 弃旧策略的助攻),但也不过 4% 左右。这是事实。
原因也不复杂:缺乏商业软件支持(Adobe 全家桶、微软 Office 的原生版本),用户习惯迁移成本高,发行版碎片化导致开发者难以针对"Linux 桌面"做统一适配。这些都是结构性问题,不是靠热情和布道能解决的。
但这不意味着 Linux"失败"了。恰恰相反——Linux 从来不需要占领桌面来证明自己的价值。事实上它走了一条不同的路:成为数字世界的基础设施层。你可能永远不会在自己的笔记本上安装 Ubuntu,但你生活中依赖的几乎所有数字服务,都建立在 Linux 之上。
这就像水泥和钢筋。你不会在家里把水泥和钢筋摆在显眼的位置当装饰品,但你住的每一栋楼都离不开它们。
七、尾声
2026 年,距离 Linus 发出那封帖子已经过去 35 年。Linux 内核的代码库包含超过 3600 万行代码,有超过两万名开发者贡献过代码,它运行在从智能手表到 NASA 的火星直升机上。
而这一切的起点,是一个 21 岁学生"只是个爱好"的项目,和一个程序员对一台打印机卡纸的不满。
你在这篇文章的开头读到:你每天都在使用 Linux。现在你知道了,你每天使用的不只是一个操作系统,而是一整套关于知识应该如何共享、工具应该由谁控制、自由应该如何被保障的选择的累积结果。
那台 Xerox 打印机的问题早已解决。但它引发的问题——谁有权决定你能不能查看、修改、分享自己使用的软件——至今仍在每一行代码中被回答。
评论
发表评论