Linux不是我想要的。是Linux让我找到了某些东西。
原文 | Jonathan Beckett 译者 | Simon
几年前,我读了Linux内核的创建者Linus Torvalds的一本书,名为“ Just for Fun”。它描绘了该项目的历史,从最开始在一个卧室里写出来,到偶然进入世界舞台。我想,把我自己与Linux的交互联系起来可能会很有趣,也许还可以稍微回顾一下我使用过的其他操作系统。
我与Linux的关系始于我拥有的第一台笔记本电脑——一台东芝(Toshiba)电脑,那是在2000年左右。在摆弄了预装的Windows 98几周后,我读到了杂志上一篇关于“Redhat Linux”最新版本的文章,于是订购了一个压缩包装版本,几天后邮差送来了。
我的笔记本电脑再也不一样了。
大约一年之后,我对web开发产生了兴趣,并决定把我长期使用的家用电脑变成web服务器——运行Linux而不是Windows。
我从头到尾读了很多有名的O 'Reilly的书,并着手建立最早的博客平台之一。因为我的一个同事认为这是个好主意,所以我把它作为开放源代码发布了出来,很快我就开始构建我一直以来真正想要构建的东西——内容管理系统。与此同时,博客脚本被下载了大约25万次。
谢天谢地,Matt Mullenweg和Mike Little后来创建了一个更好的博客脚本,并将其重新命名为“Wordpress”。我并没有感到痛苦——毕竟我从来没有管理过一个项目——而且我几乎是在一夜之间切换到Wordpress。
我想有一点很重要,那就是我从未使用过Linux,因为它就是Linux。Linux不是我想要的。Linux让我找到了我想要的东西,我相信多年来很多人都在使用这个短语,这很符合我的故事。
虽然确实可以在任何操作系统上完成我在工作之外所做的各种工作,但是我选择在Linux上进行工作主要是因为它是免费的,并且它几乎可以作为一个很出色的解决方案,提供了一个平台,我可以修补我感兴趣的东西。Linux附带了出色的Web服务器(Apache),出色的数据库(MySQL)和简单的Web脚本语言(PHP)。
我最终在家中使用Linux作为台式机操作系统的情况大部分是偶然发生的。我很乐意使用任何“能刚好正常工作”的东西,总的来说,比较知名的Linux发行版可以正常工作,没有无休止的更新、驱动程序、安全补丁、重启等。
无论如何。
在过去的25年里,我一直在Windows、OSX和Linux上折腾,你可能会认为我已经对它们形成了一些看法。我想到了几个。
Windows是无处不在的——几乎没有学习曲线,因为每个人都熟悉用户界面如何工作。因为它的普遍性,Windows在几十年前赢得了商业的人心。有迹象表明,这种情况可能很快就会改变,但不要抱太大希望。由于它的普遍性,硬件设备驱动程序在Windows的最新版本中广泛可用。你几乎总是可以让任何硬件与Windows兼容。
不幸的是,Windows的系统安全一直都是相当糟糕的——不断需要运行防火墙和病毒杀手来保护每一台Windows机器免受外部影响。也许更令人担忧的是,由于糟糕的设计,所有运行Windows的计算机的性能随着时间的推移而下降——注册表膨胀,DLL地狱,以及更新带来的破坏,这些都是家庭用户和系统管理员不断受挫的根源。
MacOS从苹果公司的硬件和软件开发中受益——这意味着用户界面的性能相对于硬件来说非常好。然而,你也可能会说,苹果更关心产品的外观,而不是它们的运行效果。不幸的是,MacOS只能在苹果硬件上(可靠)运行——虽然你可以构建一个“Hackintosh”,但你将面临设备驱动程序和核心操作系统稳定性方面的许多问题。软件由苹果硬件更新周期的设计驱动的。人们很容易忘记苹果是一家硬件公司——他们不断淘汰现有的硬件,以便一次又一次地把它卖给你——并且阻止你试图在别人的硬件上运行他们的软件。
在较低的层次上,也许值得注意的是MacOS/OSX最初是基于Mach的——一个微内核——与Linux截然相反。微内核操作系统通过减少核心操作系统功能来控制服务之间的消息传递,这些服务完成所有实际工作——这使每个服务都变得简单,但使消息传递的管理变得非常复杂,并导致各种设计、功能和稳定性折衷。
Linux与Windows和MacOS的区别在于,它是由一个庞大的社区构建的软件开发项目的集合,而不是由一个实体开发的商业产品。有关这种安排的书已经写过了——也许最著名的是“The Cathedral and the Bazaar”《大教堂和集市》。如果 Tim Berners Lee 的“World Wide Web”(万维网)是“为所有人服务的”,那么Linux可能也是如此。核心操作系统及其支持的应用程序的每个部分的源代码都可以免费复制、重用、扩展、增强和调整——从而可以移植到几乎所有可以想象到的硬件平台上。
Linux最初借鉴了Unix的设计,Unix提出了一些简单但强大的底层概念,将所有应用程序作为进程处理——使用标准的输入和输出流。这是一种改变游戏规则的设计,超出了本文的范围,而且Windows和MacOS都没有遵循。
众所周知,Linux对未来的发展方向没有中央控制——它一直是,而且将永远是由一个完全不同的社区来设计和开发的。这可以看作是一件好事,也可以看作是一件坏事——好的原因是这个体系没有被外部参与者强迫走向某个方向,坏的原因是它导致了分裂。碎片化还会导致不同团队在构建相同核心功能(从窗口管理器到文本编辑器)的替代版本时产生重复工作。当然,这意味着更多的选择,以及一个正常运作的各种生态系统——包括进化和自然选择。
我得想办法把它画出来。
我把这篇文章命名为“选择Linux”,并在整个独白中保持中立,到目前为止,我的态度是令人恼火的公平。我想归根结底,我选择在工作之外使用Linux的主要原因是我必须在工作中使用Windows。偶尔在我耳边低语,让我按照自己的节奏走的那种无秩序的声音告诉我,Linux是个好主意。就是这么简单,也这么不合逻辑。
我不仅可以选择Linux,我还可以选择我所使用的Linux的发行版本,这已经随着时间的推移发生了变化。上周我运行了“Manjaro”,在“Elementary OS”和“Ubuntu”之前的一周。这周我又开始使用Ubuntu了。下周我可能会再次改变,这有点像一遍又一遍重建你的房子,在核心功能上没有明显的损失或收获。当然,你一事无成,但这不是重点。
最初于2020年12月4日在https://jonbeckett.com发布。