Linux 火爆 30 余年,不合群的创始人是功臣还是 “怪胎”?

敏捷开发
• 阅读 42

迄今为止,Linux经过几十年的发展,已衍生出了许多发行版本。当前,Linux各个完整的发行版本,已经广泛应用于不同的应用环境。全世界数十亿的计算机、近15亿台的安卓设备都在使用,可以说是它驱动了网络。但谁能想到,Linux的总部是这样的:

Linux 火爆 30 余年,不合群的创始人是功臣还是 “怪胎”?

作为Linux内核的最早作者,林纳斯·贝内迪克特·托瓦兹(Linus Benedict Torvalds)在工作时喜欢独自一人,享受安静:他的工作环境喜欢采用淡绿色的墙,因为这种颜色能够让人平静;工作的电脑性能可以不强,但必须没有任何声音等等。就是在这种独特的工作方式下,Linus创造了一个庞大的技术帝国。

不合群的人

从小开始,Linus就不擅长和人打交道。他喜欢电脑、数学、物理,但还没到出类拔萃的地步,正如他家人对他的评价,“不放弃”是他最突出的品质。

Linus曾在硅谷生活了七年之久,一直在一家公司工作。而硅谷有一个显著的特点就是人们会频繁地跳槽,Linus的情况也算是罕见。从某种程度来说,“不放弃”不是因为技术宅或聪明,而是因为固执。

在Linux系统发展的过程中,这种固执必然会引起冲突。与人相处的过程中,我们需要合群的人,需要能与人交流的人,需要温暖友好的人,但不是每个人都能做到。显然,Linus就是其中之一。Linus并不是一个合群的人,他不太理解他人的感受,经常会说话伤人。

他曾说过,“人和人是不一样的。我关注的是技术,有的人关注的是用户界面。举个例子,如果我被困在一个孤岛上,逃生的唯一办法是设计一个漂亮的用户界面,那我宁愿死在岛上。”

但Linux的开源过程,给了这位不合群的人与其他人合作的另一种方式:这些使用Linux的人可能相互喜欢,可能相互讨厌,甚至可能没办法保留不同的意见,但他们却可以在一起线上合作,为Linux做出自己的贡献。

务实的技术宅

“我并不是一个有远见的人,不会提前制定未来五年的计划。我非常乐意跟梦想家一起行走四方、仰望苍穹,但我更想要低头看路,填好眼前这个坑,不让自己掉进去。”

作为一名典型的技术宅,在他所热爱的编程上,Linus也有着自己的坚持。面对那些烂代码,Linus从来都是毫不犹豫地斥责,不留一丝情面。

什么是有品位的代码?Linus举过这样一个例子:

  • 没有品味的代码 Linux 火爆 30 余年,不合群的创始人是功臣还是 “怪胎”? 这种代码用了“if”,让整个过程更加繁琐,需要单独处理特殊情况。
  • 有品味的代码 Linux 火爆 30 余年,不合群的创始人是功臣还是 “怪胎”?

而这个代码则更简单、整洁,无需单独处理特殊情况。

Linus认为,“我们可以换个角度看问题:重写代码,排除特例,完美覆盖所有情况,这就是好的代码。细节非常重要,这是最基本的原则。”“在编码方面,好的品味体现在能看清全局,有能够把事情做得漂亮的能力。”正是这种坚持,为Linux打造了坚实的技术基础。

误打误撞的开源之路

今天运行在数十亿计算机上的Linux,在最初的时候也并非朝着开源的方向发展的。

起初,Linus只是想解决实际问题,做一个完全属于自己的项目。但随着项目越来越大,他又在想“这个成果我可是折腾了半年,没人知道岂不是太可惜了,不如来听听大家的意见……”于是,他开始将Linux放到网上供人下载。此时,Linus还没想到要把这项成果开源。

在Linux发布到网上一段时间后,有个做“免费软件”的朋友来找Linus,问他有没有考虑将Linux的源代码开放出来。Linus的第一反应是担心开源的话是否会牵扯到一些商业利益,然后又产生了工作成果是否会被他人利用的疑虑。

经过短暂的思考,Linus决定将Linux开源。

在开源后,陆续有人开始对Linux提出意见和建议,他对此也感到十分惊喜:“这是我人生中非常重要的一件事。”尽管这些人并没有直接修改他的代码,但他们提供的反馈和建议对Linus来说就已经足够重要了。

我们能够看到如今日渐壮大的Linux,但也很难发现,在成功的Linux背后,有着几十年如一日的持之以恒,有着对高质量代码的坚持,更是有着合作的力量。在几十年的开源过程中,Linux认为,自己享受到的是与志同道合的人一起合作、沟通和参与的过程。也正是这些人的积极参与,才成就了我们现在看到的更加稳定、壮大的Liunx系统。

点赞
收藏
评论区
推荐文章
爱丽丝13 爱丽丝13
3年前
CentOS、Ubuntu、Debian三个Linux比较异同
Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本。商业版本以Redhat为代表,开源社区版本则以debian为代表。这些版本各有不同的特点,在不同的应用领域发挥着不同的作用,不能一概而论。
Stella981 Stella981
3年前
CentOS、Ubuntu、Debian三个linux比较异同
Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本。商业版本以Redhat为代表,开源社区版本则以debian为代表。这些版本各有不同的特点,在不同的应用领域发挥着不同的作用,不能一概而论。而绝大多数VPS上只提供开源社区维护的发行版本。下面就这些不同的Linux发行版进行简单的分析。Ubu
Stella981 Stella981
3年前
Linux与FreeBSD有什么区别?
基础许多人所称的“Linux(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.linuxprobe.com%2F)”实际上不是Linux。Linux从技术上说只是Linux内核,典型的Linux发行版则包括了Linux内核和许多软件。这是为什么Lin
可莉 可莉
3年前
20_分钟构建你自己的_Linux_发行版
_摘要:_ 你想要构建自己的Linux发行版吗?不喜欢市面上现有的Linux发行版?你认为自己可以构建一款更好的发行版?你很幸运。我要在20分钟里面介绍如何构建一款发行版。是的,你没有听错,就是20分钟。你想要构建自己的Linux发行版吗?不喜欢市面上现有的Linux发行版?你认为自己可以构建一款更好的发行版?你很幸运。我要在20分
Stella981 Stella981
3年前
Linux下PCI设备驱动程序开发
PCI是一种广泛采用的总线标准,它提供了许多优于其它总线标准(如EISA)的新特性,目前已经成为计算机系统中应用最为广泛,并且最为通用的总线标准。Linux的内核能较好地支持PCI总线,本文以Intel386体系结构为主,探讨了在Linux下开发PCI设备驱动程序的基本框架。一、PCI总线系统体系结构PCI是外围设备互连(PeripheralC
Stella981 Stella981
3年前
Aio 在 Windows 下的注意事项
由于windows的iocp和linux的epool的不同,在开发时我们需要注意一下内容:1.在windows下使用AsynchronousSocketChannel.write方法无论是采用异步,还是future方式,他的数据都仅仅是写入到了缓冲区,并未发送给对方,而在macos和多数linux发行版下,都已经送给了对方
Stella981 Stella981
3年前
Liunx版本号码编排惯例
1、内核版本号不代表操作系统整体版本;Linux的内核,以及每一个应用程序、元件、库或者是发行版中的软件包都有自身的版本号。例如你使用的gcc版本号码是2.7.2.3,内核可能是2.2。在安装某个发行版时,所有这些过程得到了简化,因为发行版中包括的每一个软件包都是最新的,例如:RedHat、easyLinux。2、稳定版和开发版任何时候内核都以两
Stella981 Stella981
3年前
Linux桌面系统今后应该往哪方面发展?
现如今Linux发行版数也数也数不清,幸好还分了几个派系,deb系、rpm系等等,不然归类和统一都是麻烦的事。Windows能成为桌面系统的霸主,自然是有它的道理的:易用性、各版本的兼容性、用户体验的细致等方面做得很好。这些都是Linux桌面发行版应该努力的地方。下面是我的几个观点:1.不要重复造轮子。每分出一个发行版,就
芝士年糕 芝士年糕
2年前
Linux 系统之 CentOS 和 Ubuntu 的区别
在3A那租了一个服务器,到安装系统的时候,在想centos好还是Ubuntu好,就写了这篇文章,如果有需要服务器的话,可以私信我前言Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本。商业版本以Redhat为代表,开源社区版本则以Debian为代表。这些版本各有不同的特点,在不同的应用领域发挥
小万哥 小万哥
1年前
Git安装和配置教程:Windows/Mac/Linux三平台详细图文教程,带你一次性搞定Git环境
Git是一款免费、开源的分布式版本控制系统,广泛应用于软件开发领域。随着开源和云计算的发展,Git已经成为了开发者必备的工具之一。本文将为大家介绍Git在Windows、Mac和Linux三个平台上的安装和配置方法,带你一次性搞定Git环境Windows平
敏捷开发
敏捷开发
Lv1
女 · 产品经理
公众号:敏捷开发 网址:www.minjiekaifa.com
文章
44
粉丝
2
获赞
0