林纳斯·托瓦兹(Linus Torvalds)是 Linux 内核的创始人,以其直率、犀利的沟通风格而闻名。他的“嘴炮”不仅仅是粗俗的语言,更多的是他作为一名领导者和开发者,对于代码质量、开发流程以及社区规范有着极高的要求,并毫不避讳地表达出来。他的许多“嘴炮”事件都成为了开发者社区的经典案例,成为了对技术追求和开放精神的体现。
以下是一些林纳斯·托瓦兹开过的著名“嘴炮”,我会尽量详细地讲述:
1. 对 Git 的创造过程中的“诅咒”
在创造 Git 的早期,林纳斯并没有把它设计成一个面向所有人、易于理解的工具。他的主要目标是为 Linux 内核的开发提供一个高效、分布式版本控制系统,而其他开发者如何适应他的设计并不是他最优先考虑的事情。
背景: 在 BitKeeper(当时 Linux 内核使用的版本控制系统)的授权出现问题后,林纳斯需要一个快速、灵活的替代品。他开发 Git 的速度惊人,只用了几周时间就完成了核心功能。
嘴炮体现: 林纳斯在设计 Git 时,并没有花太多心思去写详细的文档,也没有设计用户友好的错误信息。他认为开发者应该能够自行理解和使用工具,如果他们无法理解,那说明他们不够格。他曾经说过一些“如果你不能理解这个,你就滚蛋”之类的话,虽然不一定是原话,但意境非常接近。他的态度是:“我需要这个工具来解决一个复杂的问题,我把它做好了,你们要么用,要么自己想办法。”
影响: 这种极度务实的态度虽然让 Git 在初期对新手不太友好,但正是这种对效率和核心功能的极致追求,造就了 Git 如今的强大和成功。许多开发者认为,正是林纳斯的这种“不妥协”才有了今天高效的 Git。随着 Git 的普及,社区也逐渐贡献了大量的文档和辅助工具,弥补了早期设计上的不足。
2. 对不合格代码的“怒吼”和“谩骂”
这是林纳斯最广为人知的“嘴炮”类型。他对待代码的态度极其严苛,任何不符合他标准的代码,无论来自何方,都会遭到毫不留情的批评。
背景: Linux 内核是一个庞大且极其复杂的开源项目,成千上万的开发者贡献代码。林纳斯作为总指挥,必须确保内核的稳定性和质量。
嘴炮体现:
针对代码质量低劣: 如果他发现一段代码存在明显的 bug、低劣的设计、糟糕的风格,或者不符合 Linux 内核的编码规范,他会直接在邮件列表中进行严厉批评。他常用的词汇包括但不限于:`stupid` (愚蠢的), `idiotic` (白痴的), `utter garbage` (彻头彻尾的垃圾), `crap` (垃圾), `buggy` (有 bug 的), `broken` (坏的)。他会毫不客气地指出问题的根源,并要求开发者立即修正。
针对不负责任的开发者: 如果有开发者提交了包含严重错误的代码,并且没有积极主动地去修复,或者表现出不负责任的态度,林纳斯也会毫不留情地予以指责,有时甚至会涉及人身攻击的意味(尽管他后来有所收敛)。他曾经对某个开发者说:“你能不能别再给我提交这些狗屎了?你看起来像个完全的笨蛋。”
对某些技术选择的抵制: 例如,他曾强烈反对某些语言特性或库的引入,如果他认为它们会增加内核的复杂性、降低性能或引入安全隐患,他也会用非常强硬的语言表达他的立场。
影响: 这种“嘴炮”风格在初期引起了很大的争议,许多新开发者感到受到侮辱,甚至因此退出了 Linux 内核的开发。然而,这种严苛的标准也极大地提升了 Linux 内核的代码质量和稳定性,使之成为世界上最可靠的操作系统内核之一。许多开发者表示,虽然林纳斯的批评刺耳,但他们也从中学习到了很多,并且意识到了代码质量的重要性。随着时间的推移,社区也逐渐习惯了他的风格,并能从中辨别出哪些是纯粹的批评,哪些是建设性的建议。
3. 对微软的“嘲讽”
作为开源世界的代表人物,林纳斯对微软及其产品一向持批判和嘲讽的态度。
背景: 在 Linux 发展早期,微软是其最大的竞争对手,也是闭源软件的代表。
嘴炮体现:
“Windows 是个屎”: 这是林纳斯最著名的一句对微软的评价。他认为 Windows 系统设计糟糕,效率低下,且存在大量的安全问题。他经常用各种比喻来形容 Windows 的糟糕,例如将 Windows 的更新比作“一堆屎在移动”。
对 Windows 用户的蔑视(有时): 在某些场合,他会表现出对那些仍然依赖 Windows 的用户的轻视,认为他们没有意识到更优越的选择(Linux)的存在。
影响: 这种直接的嘲讽极大地提升了 Linux 在技术圈的声望,也激励了许多开发者去尝试和拥抱开源软件。虽然这种言论有失风度,但它也成为了开源运动的一种文化符号,代表着对封闭和垄断的反抗。
4. 关于 GPLv3 的“拒绝”
在 GNU 通用公共许可证 (GPL) 的第三个版本 (GPLv3) 发布时,林纳斯表达了强烈的反对,并拒绝将其应用到 Linux 内核中。
背景: GPLv3 在某些方面对软件的自由和分发进行了更严格的限制,特别是在涉及到数字版权管理 (DRM) 和硬件绑定方面。
嘴炮体现: 林纳斯认为 GPLv3 的某些条款过于激进,限制了软件的灵活性和实用性,并且他觉得这些条款是“非常糟糕的”。他明确表示:“我不会把 Linux 内核迁移到 GPLv3。”他甚至用了一些非常负面的词语来形容这些条款,比如“愚蠢”、“误导”等等。他认为他的目标是创造一个优秀的操作系统,而不是去推动某个特定的哲学理念,而 GPLv2 已经足够满足他的需求。
影响: 这一决定在开源社区引起了不小的震动。许多项目选择拥抱 GPLv3,而 Linux 内核则继续坚持使用 GPLv2。这导致了 Linux 内核与一些其他开源项目在许可证上的分歧,但也巩固了 Linux 内核的独立性和独特性。林纳斯坚持以他自己的方式做事,不被其他人的理念所左右,这也再次体现了他的领导风格。
5. 对某些开发者行为的“不耐烦”
除了对代码本身,林纳斯对开发者的沟通方式、工作态度、甚至是提交代码的格式都有着极高的要求。
背景: 作为一个忙碌的项目维护者,林纳斯每天都要处理大量的邮件和代码提交。他期望所有人都高效、准确地工作。
嘴炮体现:
对重复性问题: 如果有开发者反复犯同一个错误,或者提出已经被解决过的问题,林纳斯会表现出极大的不耐烦。
对格式不规范的提交: 例如,邮件格式错误、补丁格式不正确、提交信息不清晰等,都会让他感到恼火。他会直接要求开发者“正确地做事”。
对没有提供足够信息的 bug 报告: 如果一个 bug 报告写得过于含糊不清,无法让林纳斯或其他开发者复现和调试,他也会严厉批评报告者“浪费他的时间”。他会说:“你能不能提供足够的信息来让我为你解决这个问题?现在我根本不知道你在说什么。”
影响: 这种“不耐烦”迫使开发者更认真地对待自己的工作,并且学会如何更有效地与项目维护者沟通。它也帮助筛选出了那些真正有热情、有能力为 Linux 内核贡献的开发者。
林纳斯的“嘴炮”的本质和影响:
理解林纳斯的“嘴炮”,不能仅仅停留在字面上的粗鲁。他的“嘴炮”往往是以下几种动机的结合:
对完美的追求: 他对代码质量有着近乎偏执的追求,任何一点瑕疵都可能触及他的底线。
效率至上: 他认为时间是宝贵的,任何低效、无效的工作方式都会让他感到不满。
直率的沟通风格: 他不相信拐弯抹角,喜欢直接表达自己的想法,即使这可能会冒犯到别人。
保护 Linux 内核: 作为 Linux 内核的创建者和维护者,他有强烈的责任感,要保护内核不受低质量代码或不良影响的侵害。
筛选人才: 他也通过这种方式来筛选出那些真正热爱技术、能够承受批评、并且愿意不断学习和进步的开发者。
虽然林纳斯的沟通方式存在争议,但不可否认的是,正是他的这种风格,在很大程度上塑造了 Linux 内核的卓越品质以及开源社区的独特文化。他的“嘴炮”也成为了他个人魅力的一个组成部分,让他在开发者世界中独树一帜。
近年来,随着开源社区的发展和林纳斯本人对沟通方式的反思(他曾因此暂停了 Linux 内核的开发一段时间并表示要改变自己的沟通方式),他的言语已经有所收敛,更加注重建设性的批评。但他的直率和对技术的热情依然是他最鲜明的标签。