这个芬兰人写的操作系统,跑在了地球上每一台安卓手机和一半的服务器上
搞嵌入式的同学,Linux 你肯定每天都在跑。
但你可能不知道,Linux 的创始人 Linus Torvalds 在 1991 年第一次对外宣布这个项目的时候,原话是:"just a hobby, won't be big and professional like gnu"。
没错,一个"业余爱好",最后跑到了地球上每一台安卓手机、全球一半以上的服务器、还有你家路由器、电视、汽车仪表盘里。
这哥们今年 56 岁了,一个人写出了两个改变世界的项目——Linux 和 Git。而且他骂人的注释,可能比他的代码还有名。
今天聊聊 Linus Torvalds,一个不太像"创始人"的创始人。
1. 1969年芬兰,祖父是记者,妈妈把他锁在衣柜里陪电脑
Linus Torvalds 出生于 1969 年 12 月 28 日,芬兰赫尔辛基。
他祖父 Ole Torvald Elis Saxberg 是个记者兼诗人,还出过几本书——不过 Linus 后来坦承自己一本都没读过。祖父当年因为不想继承继父的姓氏,把自己名字砍了一半,又在末尾加了个 S,硬生生造出了"Torvalds"这个姓。
Linus 的父母也是在大学认识的,俩人都是记者。
这孩子的童年有两个关键角色:外祖父 Leo Törnqvist 和一台 Commodore VIC-20。
Leo 是赫尔辛基大学的统计学家,家里有台电脑但不会用。小 Linus 的任务就是把外公用手写在纸上的程序敲进电脑里。他后来在自传里写:"我妈的同事都说,养我最省心——只要把我锁在衣柜里,配台电脑,偶尔给点干意大利面就行。"
5 岁开始接触电脑,10 岁就能写 BASIC 程序。这不是天才叙事,这是那个年代芬兰中产家庭的正常操作——只不过大部分小孩玩一阵就腻了,他没腻。
说个冷知识:Linus 说自己长相不好看,龅牙、大鼻子、戴眼镜,穿衣品味"惨不忍睹"。他 12 月 28 号的生日让他永远是班里最小的那个,但这不妨碍他数学好。
2. 1991年,21岁的大学生,一句"just a hobby"改变了世界
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. This has been brewing since april, and is starting to get ready.
"just a hobby,不会像 GNU 那样庞大和专业"——这句话可能是技术史上最著名的误判之一。
当时 Linus 在干嘛?他在学校的 MINIX 系统上做终端仿真器,觉得 MINIX 不爽(Andrew Tanenbaum 设计的教学用 OS,只允许教育用途),决定自己写一个能跑在 386 PC 上的内核。
他后来说,最开始的目标极其朴素:能跑 bash 和 gcc 就行了。
1991 年 9 月 17 日,Linux 内核 0.01 版悄悄发布了。没有发布会,没有宣传稿,只是在几个朋友的 FTP 服务器上放了个压缩包。
Linus 本来想把这个项目叫 "Freax"(Free + Unix),但他朋友 Ari Lemmke 在 FTP 服务器上建目录的时候,直接用了工作名 "Linux",理由是"Freax 这个名字太烂了"。
Linus 后来承认,如果当初真叫 Freax,可能没人会认真对待这个项目。
搞嵌入式的朋友应该深有感触——你现在手上跑着 Linux 的开发板,RK3568、RK3588、i.MX6、AM335x……它们的根都可以追溯到那个 1991 年的 0.01 版。
3. 他写在代码里的骂人注释,比他的代码还有名
Linus Torvalds 最有名的不是代码,是他在邮件列表和代码注释里骂人的本事。
这哥们的骂人风格有几个特点:直接、精准、不带脏字的脏话(听着矛盾,但确实如此)。他很少骂人,他骂的是"代码的质量"和"写代码的人的逻辑"。
举几个经典案例:
案例一:2015 年,骂 ARM 硬件设计师
"I hope that ARM SoC hardware designers all die in some incredibly painful accident... So if you see any, send them my love, and possibly puncture the brake-lines on their car and put a little surprise in their coffee, OK?"
翻译一下:Linus 希望 ARM SoC 硬件设计师出车祸,还建议在他们咖啡里下毒。原因是 ARM 的硬件总线不可发现(non-discoverable buses),导致内核要写大量板级适配代码。搞过设备树的朋友,你懂的。
案例二:2017 年,骂 Kees Cook 的"安全补丁"
这是一段完整的 Linus 回复,收录在 Gizmodo 等媒体里,堪称经典:
Christ people. This is just shit. The conflict I get is due to stupid new gcc header file crap... The above code is shit, and it generates shit code... A shiny function that we have never ever needed anywhere else, and that is just compiler-masturbation.
"compiler-masturbation"(编译器打飞机)——这个比喻,我服。
案例三:最常引用的"Kill yourself"事件
2007 年,Linus 在回复一个关于内核错误的讨论时写道:
"Please just kill yourself now. The world will be a better place."
这句话后来被无数次引用,成为 Linus " toxic 文化"的证据之一。他后来解释说是"比喻",但……好吧。
作为一个嵌入式开发者,我其实能理解一点——你写的驱动跑不起来,往上追发现是内核某个"优化"把你的寄存器配置覆盖了,你也会想骂人。但 Linus 的问题是,他骂得太公开、太频繁、太不留情面。
2018 年,有人终于受不了了。
4. 2005年,10天手搓Git,顺便改变了全世界的协作方式
2005 年发生了一件改变 Linux 开发进程的事:BitKeeper 收回了免费授权。
当时 Linux 内核开发用的是 BitKeeper,一个商业的分布式版本控制系统。Linus 很喜欢它——比 CVS 和 SVN 强太多了。但 BitKeeper 的创始人 Larry McVoy 有个条件:开源项目可以免费用,但不能逆向工程。
然后澳大利亚程序员 Andrew Tridgell(Samba 的作者)逆向了 BitKeeper 的协议。
Larry McVoy 怒了,收回授权。
Linus 面临一个选择:换用其他版本控制系统,或者自己写一个。
他看了 CVS、SVN、Monotone……全都不满意。于是他决定自己写一个,用时 10 天。
没错,Git 的第一个可用版本,Linus 用了 10 天写出来。
后来他在 GitHub 的采访里说:"10 天是写代码的时间,但思考这个系统花了 4 个月。"
Git 的名字也是 Linus 自己起的。他说 Git 是"the stupid content tracker"的缩写,同时"git"在英式英语俚语里是"讨厌的人"的意思——他觉得自己就是这个意思。
我每次 git rebase 搞砸的时候都会想:这玩意是那个人 10 天写出来的?然后默默 git reflog 找回我的提交。
5. 2012年,对着NVIDIA比中指:"NVIDIA, fuck you"
这件事太经典了,必须单独说。
2012 年 6 月,Linus 在芬兰 Aalto 大学做一场公开问答。有个观众问:"NVIDIA 对 Linux 的支持这么差,你怎么看?"
Linus 一开始还挺克制:"NVIDIA 是我们打过交道的最糟糕的硬件厂商之一……"
然后他突然画风一转,对着麦克风说:
"NVIDIA has been the single worst company we've ever dealt with. So NVIDIA, fuck you."
说完,他直接对着摄像头比了一个中指。
这段视频在 YouTube 上几千万播放量。NVIDIA 官方没有回应。但有意思的是,几年后 NVIDIA 开始慢慢开放了一些文档和固件——不知道跟这次"fuck you"有没有关系。
做嵌入式 Linux 的朋友应该点头如捣蒜——NVIDIA 的 Tegra 系列芯片,驱动支持真的是……一言难尽。Jetson Nano 我调过,内核版本锁定、专有驱动、文档不全,每一步都是坑。
Linus 替我们说出了心里话。
6. 2018年,那个骂了20年的人突然道歉了
2018 年 9 月,Linux 社区发生了一件大事:Linus Torvalds 宣布暂时离开 Linux 开发,去反省自己的行为。
导火索是一件看起来很小的事:Linus 计划去苏格兰度假,但跟同期的 Linux 开发者峰会(计划在加拿大温哥华举办)冲突了。峰会组织方决定把峰会搬到苏格兰,就为了迁就 Linus。
这个决定在社区里引发了巨大争议。有人站出来说:"Linus,你这辈子都不理解别人的感受。"
Linus 的回应是一封公开邮件:
"I am not proud of my inability to communicate well with others... To anyone whose feelings I have hurt, I am deeply sorry."
他道歉了。
这是 Linus Torvalds 第一次公开为他的"骂人文化"道歉。他宣布休假一段时间,"去学习如何理解别人的情绪"。
一个月后,Linus 回来了。带着一个新的 Linux 社区行为准则(Code of Conduct),基于 Contributor Covenant 框架。新准则明确禁止了侮辱性语言、人身攻击和骚扰行为。
Linux 内核邮件列表的氛围,从此变了。
说句公道话:Linus 的"暴君式管理"确实逼出了高质量的代码,Linux 内核的代码审查标准是全球最严的之一。但这种文化也把很多人(尤其是女性开发者)挡在了门外。2013 年,开发者 Sarah Sharp 公开批评 Linus 的言行,然后……她两年后离开了 Linux 社区。
这个 trade-off,没有标准答案。
7. 他其实是个潜水员,还写了个潜水日志软件 Subsurface
说点轻松的。
Linus Torvalds 有个跟代码完全无关的重爱好:水肺潜水(Scuba Diving)。
他考证考了很多枚,还是个潜水日志软件 Subsurface 的开发者。这个软件开源,用 C 和 Qt 写的,Linus 亲自参与维护。
他后来在采访里说,潜水是他"不用动脑子"的时间——在水里你只能想当下,没法想内核里还有多少 bug 没修。
还有几个冷知识:
- 他妻子 Tove Torvalds 是芬兰前国家空手道冠军。没错,Linux 之父被空手道冠军管着。
- 他们有三个女儿,都不搞编程。
- 他的房子和奔驰敞篷车都是黄色的。这是他最爱的颜色。
- 他 2010 年入籍成为美国公民,但注册选民时选的是"无党派"。
- 他最近在学电子,在 GitHub 上有个 "GuitarPedal" 项目,自己手工做吉他效果器。
这哥们 56 岁了,还在学新东西。我 30 多岁有时候都觉得学不动了,看了他的 GitHub 提交记录,默默关掉了短视频 APP。
8. Tux 企鹅的由来:被企鹅咬了一口之后的"病"
最后说一下 Tux,那只胖胖的企鹅。
1995 年,Linus 去澳大利亚堪培拉的国家动物园,被一只小企鹅咬了。
他后来在邮件列表里写:"我被一只企鹅咬了之后,得了'企鹅病'——你会睡不着,满脑子都是企鹅,充满爱意。"
这是 Tux 的起源故事之一。但 Linus 后来说,更重要的灵感来源其实是阿德曼动画工作室(就是做《超级无敌掌门狗》的那家)的粘土企鹅动画。
1996 年,程序员 Larry Ewing 用 GIMP 画了那只胖企鹅。Linus 看了说:"对,就是这种被鲱鱼撑饱了、心满意足的感觉。"
"Tux"这个名字来自 Torvalds UniX,也有人说来自 "tuxedo"(燕尾服)——因为企鹅看起来像穿了晚礼服。
说起来,我桌面上现在就放着一个 Tux 的毛绒玩具——是当年买 Raspberry Pi 的时候店家送的。搞嵌入式的人,谁桌上没个 Tux 呢?
在一个人人都在谈论"技术改变世界"的年代,有一个芬兰人用 30 年时间证明:改变世界的,有时候就是一个觉得"现有工具不够好"的执念,和一股"老子自己写一个"的蛮劲儿。
致敬,Linus Torvalds。
以为能躺赚,结果“养虾”变成了“养雷”,第一批“养虾人”已经失眠了……
DeepSeek被针对,Anthropic指控三家中国AI蒸馏剽窃,马斯克硬刚“贼喊抓贼”!
明明大厂裁员滚滚,为什么运维还这么难招?
在 SQL 中写了 in 和 not in,技术总监让我明天不用来了
年底了!系统稳如狗,甲方觉得我们没工作量,怎么收运维费?
为什么DeepSeek火之后,人们想到的是大量裁员,而不是实行上三休四?
《AI数据分析之ChatBI发展与应用实践》白皮书(附下载)正式上线啦
号外!《核心系统分布式数据库选型指南》电子书(附下载)正式上线
解锁数据架构现代化密码,《实时数仓选型指南》电子书(附下载)正式上线啦