分类 代码英雄 下的文章

代码英雄讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。

什么是《代码英雄》

代码英雄 Command Line Heroes 是世界领先的企业开源软件解决方案供应商红帽(Red Hat)精心制作的原创音频播客,讲述开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。该音频博客邀请到了谷歌、NASA 等重量级企业的众多技术大牛共同讲述开源、操作系统、容器、DevOps、混合云等发展过程中的动人故事。

本文是《代码英雄》系列播客第一季(5):容器竞赛音频脚本。

容器的兴起为开发者们打开了一道新的大门,它简化了在机器与机器之间传递项目的成本。随着它变得广受欢迎,一场大战也悄悄拉开帷幕。这场战斗的奖品是容器编排的控制权,参赛者包括这个行业最快最强的玩家。

容器是开源运动中最重要的一项突破之一。在这一集里,特邀嘉宾 Kelsey Hightower、Laura Frank 和 Clayton Coleman 将告诉我们容器如何为未来添砖加瓦,以及编排技术为何如此重要。

Saron Yitbarek

你有看过赛马吗?赛马们排成一行,蹄子刨着脚下的土壤。你可以想象出这么一副画面。比赛即将开始,在这些竞争者中脱颖而出的将是优胜者。

00:00:30

不同的是,比赛的不是马。而是科技世界的诸侯。那么是什么让比赛如此重要?是怎样的珍贵的奖励,才会让这些参赛者们排着队,迫不及待地想要得到它? 这是一场赢家将掌握容器编排技术规则的竞赛,而且胜利者只有一个。重要的是,不同于其他的比赛,赢得这场比赛,你不仅仅会成为今天的冠军,更有可能在来持续领先。

00:01:30:

我是 Saron Yitbarek,这里是代码英雄,一款红帽公司原创的博客。

第五集,容器竞赛。上一集我们见证了 DevOps 的崛起,以及一组新工具如何影响了其他人对开发者这一概念的看法。在这一集栏目中,我们会追溯容器技术崛起的历史,讲述容器技术如何通过拥有支持全新工作的可能性,来进一步扩展开发者这一角色的概念。然后我们会一起见证容器标准化是如何为容器编排奠定比赛基础的。

00:01:30

这是一场严肃的比赛,也是一场全球性的比赛,吸引了行业里最快,最强大的选手。他们都准备好了为冲刺终点线而奋力一搏。准备好了吗? 比赛开始了!

现在,随着这些“赛马”离开起点,也许我们应该弄清楚为什么这场比赛如此重要。谁会关心容器呢?好吧,算我一个。但是实际上,一开始我也并不知道容器是什么。以下我将讲述一个小故事 —— 我是如何醒悟容器之美的。

00:02:00

不久之前,我还在为我网站写代码,然后有天我让我的朋友 Nadia 过来实现一些新的功能。我在保持代码干爽和可读性方面做得很好,当然,代码也经过了很好的测试。所以再加入一个新的网站开发者也不是一件难事。对吗?如果你也这样以为,那就错了。这是一个非常繁琐的过程,特别是当我们跑规范化测试时,这个问题尤为明显。

00:02:30

代码运行正常,但我们不能在两台电脑上同时通过所有测试。我们有很奇怪的电脑时区设置问题,而且她的 Ruby on Rails 版本跟我的不同。就是一个很经典的问题:“我的电脑上可以代码运行”,“可是在我的电脑上就是不行”。我只好对代码做一些修改,直到它在我这里正常运行,但当我把它发送给 Nadia 时,程序又会崩溃。

00:03:00

我很清楚,我和 Nadia 所碰到的这些问题,对于所有的开发者来说都或多或少经历过,甚至他们把这种经历当作玩笑来讲。有时候,我只能把这个当做是在我工作时必须要忍受的一部分。我没有意识到的是,这个问题有个最终解决办法。想象有一种方式可以降低人与人之间的隔阂;想象有一种方法可以让我们在开发中使用任意喜欢的工具,并且在传递工作成果时毫无阻碍;想象一下有一种办法,无论有多少人同时进行一个项目的开发,不管这些人散布在世界何地,都可以让项目从开发到测试,再到生产环境,保持连贯性。如果在我浪费好几周,用最笨的方式传递工作成果前就想到了容器该多好。

00:03:30 - Liz Rice

一个容器实际上就是一个进程。

Saron Yitbarek

Liz Rice 是 Aqua Security 的一名技术布道师。她描述了为何容器会如此实用。事实上容器把一切打包到了一个整洁、并且可以迁移的包中。

00:04:00 - Liz Rice

这就像任何其他的进程一样,不同的是容器的世界非常小。比如,如果你启动一个容器,进程会被授予它自己的根目录。然后它认为自己在查看的是整台计算机的根目录,但实际上它只是在查看这个文件系统很小的一个子集。

00:04:30 - Saron Yitbarek

通过打包一个可执行文件及其所有的依赖,容器可以在任何笔记本或者云中的虚拟机上运行。带着它自己的执行文件、库和依赖。所有的一切都包含在了容器中。所以,这就是容器神奇之处,容器在每个环境中的运行都会完全一样。这也就意味着开发者可以轻松地分享并协作应用开发,而不用担心计算机之间相互不兼容这个老问题。

00:05:00

举一个类比的例子希望能够帮助你理解。你有听说过 蓝围裙 Blue Apron 这个服务吗?该服务提供你做饭所需的一切,包括精心按照菜谱卡片搭配好的,所有做饭需要的原料。好的,想象一下如果蓝围裙所能带给你的不仅仅只是还没有处理过的食材,而是一整个厨房,有煤气灶,还有你所需要的全部餐具,一切你需要的都会装到小盒子里,放在门阶上。这就是一个容器。在我提到的那种情况下,容器技术就可以很好地解决 Nadia 加入进来时所碰到的问题,简单到像使用蓝围裙服务做一顿晚餐一样。虚拟机同样也可以提供一个预装好的环境。但要解释这个,我们就不得不抛弃蓝围裙这个比喻,让我们来看一看具体的细节。

00:05:30 - Liz Rice

许多人都认为容器是某种轻量级的虚拟化技术、轻量级的虚拟机,事实上并不是。容器与虚拟机有很大不同。虚拟机有独属于自己的一整个操作系统,相比起来容器是共享操作系统的。一个计算机上的所有容器共享同一个操作系统的。

00:06:00 - Saron Yitbarek

最后一点,容器和虚拟机可以并肩工作。容器不能替代虚拟机。虚拟化技术仍然可以提高过时系统的效率,并且对于服务器整合非常关键。但容器技术的兴起也为我们打开了新的大门。不妨这样想,如果我们全部依靠虚拟机的话,运行所有仿真服务器将产生大量的额外负担。

00:06:30

一台虚拟机的大小至少是以 G 为单位的,然而一个容器可能也就只有 20 M 左右。一台虚拟机可能会需要若干分钟来启动,如果我尝试用它部署一个网页应用的话,这可不是一个好消息。很长时间以来,人们都期盼一个轻量级的、更快速的完整机器虚拟化替代方案出现。

00:00:07

回顾一下历史,1979 年就出现了容器的原型。Unix V7 的开发者们设计了一种根系统调用,使环境中只包括特定的程序。该突破为我们现在看到的容器技术指明了道路。另一个巨大的进展来源于 2008 年的 Linux 容器技术。现在,我们有了操作系统级的虚拟化技术。

00:07:30

我们终于可以在一个单独的 Linux 内核上运行多个容器,而无需使用完整的虚拟机。这也就意味着程序对于基础架构的需求逐渐减少,但不是每一个人都能立马看到容器技术的潜力。

Laura Frank

容器化真的是前所未有的、崭新的一个天才般的想法。

Saron Yitbarek

Laura Frank 是 CloudBees 的技术总监。

00:08:00 - Laura Frank

只有少部分人了解容器技术的来龙去脉,并可以运用它。不过相信随着时间的推移越来越多的人会接触到容器化的概念,随着越来越多的人开始使用这项技术,并且这些知识通过工程团队和工程组织,通过社区进行传播,就会变得更容易获得。

Saron Yitbarek

因为和我们之前提到的与虚拟机的相似性,Laura 认为,因为我们之前提到的容器技术与虚拟机的相似性,容器的潜力被低估了。

00:08:30 - Laura Frank

我在回想我的职业生涯,那是我还只是个普通的日常技术人员。如果你不是一个系统管理员或者 Linux 资深用户的话,容器还是一个你刚刚了解到的全新概念。我把它理解为使用一台虚拟机模式类似的东西,我可以去建立一个可以用完即弃的环境,而且这个环境完全独立,清理之后不留痕迹。

Saron Yitbarek

容器除了能保持系统整洁之外,其实还大有可为。容器将会革新整个行业,并且随着开源项目和社区的兴起,在不久之后,容器标准化的充分实施将变为可能。

00:09:00 - Scott McCarty

整个界面已经变得非常简单。

Saron Yitbarek

Scott McCarty 是红帽的一名资深的容器策略顾问。他称得上是这个行业的资深人士,他在容器出现前,甚至是虚拟机出现前,就在做这方面的工作了。

00:09:30 - Scott McCarty

在互联网 1.0 时代,我在一家线上零售商工作,我们有上千台实体机,我们用不同的方式,在所有这些不同的服务器上一遍又一遍地安装相同的软件。我们尝试了所有的方法。当你从原始的操作系统迁移到虚拟机,然后再到 Linux 容器、Solaris 容器,同样的问题一再出现,你仍然不得不在不同的虚拟机,或者类似操作系统实例的结构体之间管理配置。

Saron Yitbarek

一旦容器变的规范化,一切都将改变。

00:10:00 - Scott McCarty

比如,有了很多非常标准化的方式可以去处理现在这些打包好的应用,我认为容器技术的出现,从根本上改变了一切。它使得那些应用非常容易使用,而且容器还不会对系统本身造成损害,同时相比虚拟机更加小巧快捷。

00:10:30 - Saron Yitbarek

借助 Linux 容器带来的进步,这些新的开源项目和社区使得开发者们可以更好地携手合作。很多我们对于后端的焦虑都被一扫而光。突然间,容器和由它促进的微服务变得十分有吸引力。一旦一种共同的容器语言出现了,障碍就消失了,与此同时容器技术改变了我们的工作方式,也改变了我们学习新技术的步伐。

00:11:00

还记得之前我和同事 Nadia 遇到的反复出现的问题吗?“在我这代码能跑”的场景?在容器的世界,这个问题将不复存在。相比于我们之前使用的标准的操作系统,开发者社区见证了容器是如何变得更加快速,成本低廉,并且容易使用的 —— 比传统操作系统更加容易。容器技术被采纳的速度十分惊人。但是要记得:容器标准的出现仅仅是容器编排这场竞赛的热身。

赛马们已经整齐排列好,随着信号枪一声令下,它们为了这场比赛的冠军而拼尽全力。竞争的不是容器本身,而是我们部署和管理容器所使用的工具。

00:11:30

我是 Saron Yitbarek,这里是代码英雄。在这场标准容器编排竞赛中,哪位会胜出成为管理所有容器的平台呢?起初有两位竞争者处于领先地位。

00:12:00

由 Apache 驾驭的 Swarm,和 Docker 驾驭的 Mesos。但是等等,怎么?现在出现了一匹黑马改变了这个格局,那就是谷歌。Linux 设立了云原生计算基金会(CNCF),随后 CNCF 推动了谷歌开源的编排引擎 Kubernetes。

00:12:30

现在,相比 Kubernetes,Mesos 和 Swarm 已经抢占了先机,对吗?它们得到了 Apache 和 Docker 的支持,已经入场了一段时间了。但是 Kubernetes 有其他的“赛马”所不具备的优势。Clayton Coleman 会告诉我们这个秘密是什么。Clayton 是红帽负责 Kubernetes 和 OpenShift 的一名架构师。

00:13:00 - Clayton Coleman

在 Kubernetes 诞生之初,谷歌就在项目的开放上做的很好,它降低了项目的贡献和参与的难度。谷歌极其关注让开发者和运维人员能更加容易地开展工作。有这样一个强烈的关注点,就是要做一个能让大多数开发者和运维的生活更轻松的东西。我觉得 Kubernetes 和围绕着Kubernetes 的社区找到了一个足够好的方式,让大部分人参与进来,他们让 Kubernetes 具有足够的可扩展性,还可以解决一些极端的用例。

Saron Yitbarek

在早期,来自于红帽、CoreOS 和谷歌的工程师们都参与到了 Kubernetes 的开发中。随着 Kubernetes 开发到 1.0,不管是初创公司还是大公司都参与其中,一起构建和完善它。关键的是,所有这些增长从来都不是只归功于谷歌或者任何一方。

00:13:30 - Clayton Coleman

在这个例子中,我喜欢以 Linux 打比方。Linux 并不是始于 Linus 开始编写内核,然后告诉所有人,在用户空间如何写 GCC,如何去建立 NGINX 或者 Apache。相反,内核团队专注于建立一个高效的操作系统内核,并与其他诸如 GNU 项目的开源社区合作,并且将可以在其他 Unix 系统上工作的工具引入 Linux。

00:14:00

因此,我们如今所使用的许多工具,都不是 Linux 核心团队交付的。

但是 Linux 作为一个整体,相比于其内核涵盖的范围要宽泛得多,而且我认为这种模式的优势是 Kubernetes 取得现在成就所不可或缺的。当我们建立社区并且专注于 Kubernetes 范围时,我们可以试图从“Kubernetes 内核”的角度来考虑它,这是分布式集群操作系统的内核。

00:14:30 - Saron Yitbarek

Kubernetes 证明了自己在开源世界中建立社区的能力,令人难以置信。正如我们在操作系统之战中谈到的 Linux 崛起一样,现如今这场关于容器的战争中,获胜者往往懂得如何借助社区力量。事实上,尽管谷歌可能开创了 Kubernetes,但目前它属于每一位开发者,并由云原生计算基金会(CNCF)管理。

00:15:00

在 GitHub 上,Kubernetes 有大约 3 万的星标数,而 Swarm 和 Mesos 只有数千,这已经很能说明问题了。这就是由社区所生,为社区所用的技术。

我想了解谷歌的态度,一个如此庞大并且以效益为导向的大公司,是怎么做到如此擅长跟其他开发者合作的呢?我找到了很适合回答这个问题的人 —— Kelsey Hightower,他是谷歌负责容器技术支持的技术专家。

00:15:30

想想谷歌的地位:它在分布式系统领域具备丰富的经验,还运行着分布在世界各地的许许多多的服务器,因此它开发的 Kubernetes 似乎有着很大的优势,并且有信心一定能在这场容器竞赛中胜出。那么,当你想到 Kubernetes 和开源时,你是如何看待这种关系的?

00:16:00 - Kelsey Hightower

我想当谈到基础架构工具,甚至编程语言时,大家没有什么选择 —— 你不可能用个专有工具,即使它很棒。如果它不是开源的,大多数人可能甚至都不会想去了解。而且我认为这也是大多数人会采用像 Kubernetes 这样的基础架构工具的原因,你可能会对自己说:“好吧,我们就要坚持使用这个版本四、五年,也可能我们需要根据自己的一些独特需求来对其进行修改。”

00:16:30

一旦走到这一步,就很难说服企业接受,“嘿,每台服务器使用程序的价格是 200 美元,而且你看不到源代码,所以有需要的话也必须等我们来修改”。

那样的日子一去不复返了,所以我不确定是否真的可以在没有开源的情况下建立基础架构。开源的另一个意味是拥有一个与项目紧密联合的社区,所以我认为 Kubernetes 一开始就锁定了胜利。

Saron Yitbarek

让我们回到这场容器竞赛。在这里不仅仅有你提到的 Kubernetes,还有 Docker 的 Swarm Apache 的 Mesos……

00:17:00 - Kelsey Hightower

所以,我想当人们谈论容器竞赛时,我不确定竞争是否发生在我们和 Mesos、Docker 使用者之间。我认为,真正的竞争发生在争取目前没有使用容器的潜在用户身上。是的,你还在使用原生 Bash 脚本,你迷茫着,不知道自己该归属何方。这些尚未选择编排工具和平台之人的市场,比起已选择了 Mesos 或 Swarm 的一方,要多得多。

00:17:30

这就是容器战争存在并将继续的原因,真正的关键点在于如何帮助最终用户。Mesos、Kubernetes 或 Docker Swarm 是否会成为寻求更好解决方案的人们的首选?这一切都还悬而未决(SIG 译注:现在已经尘埃落定,Kubernetes 取得了全胜),但我会告诉你,像我一样,在这个领域工作的工程师来说,如果你不考虑市场营销和供应商,我会使用这个短语“不同的公司,相同的团队。”

00:18:00

我们为彼此开发了许多工具,最终以某种方式出现在其他产品中。没错吧?好主意就是好主意。没有理由说,“哦,这是 Mesos 的人正在做的事情,那就忽略吧”,这有点愚蠢。所以从技术和社区的角度来看,我们的想法需要交流。同时也需要竞争来迫使我们来进行独立思考,然后最棒的点子就会浮出水面,接着我们再选择采用哪种方式来正确满足用户的需要。

00:18:30

因此,就这场竞赛而言,仍处于初期阶段,而且这个事情本身不会带来利润。明白我的意思吗?我们不是直接向任何人销售这个产品,这更像是一个平台之间的游戏,对所有人开放,然后用户会选择满足他们需求的那个,这就是我认为 Kubernetes 在社区方面做得很好的地方,真正开放,真正能解决实际问题。

Saron Yitbarek

听起来很棒啊。我喜欢这个想法:在同一个球队踢球,而不要管球队是在什么地方。你对于容器和编排工具,还有 Kbubernetes 的未来有什么展望吗?

00:19:00 - Kelsey Hightower

是的,我在 KubeCon 上做了一次主题演讲。所有这些工具都很棒,它们就像是乐高积木,我们有 Kubernetes,你可以选择一种产品用于安全,选择另一种产品用于网络,但最终,作为开发人员而言,你所想要的只是检查你的代码,并希望你的代码可以某种方式以呈现在客户面前。而我认为 Kubernetes 还有容器都会作为底层技术或者成为类似 Serverless 这种技术的基础平台。

00:19:30

这是我的代码片段,已经打包完毕了。所有的平台都会把你的代码片段,用容器包装起来,然后帮你运行,但是不需要向你公开所有这些过程。因此,在未来,我认为随着 Kubernetes 变得普及,容器的应用场景将从大大小小的供应商或个人,提升到云供应商,因为这些事情往往需要专业知识和软件投资。容器将会遍布各个角落,但同时也就此隐藏起来。它会随着应用场景的扩展而渐渐隐形。

00:20:00 - Saron Yitbarek

Kelsey Hightower 是 Google 的员工开发人员。在 2017 年秋天,Docker 宣布支持 Kubernetes。他们并不是说就放弃 Swarm 了,只是决定与容器编排竞赛的明显赢家和解。

00:20:30

并不只有它一方,Azure 和 AWS 都宣布了对 Kubernetes 的支持。与此同时,像 OpenShift 这样的 Kubernetes 发行版仍在不断发展。我们得到的是一个可以扩展,支持新的用例的 Kubernetes 内核,这些用例包括微服务或持续集成项目。

00:21:00 - Clayton Coleman

这个生态系统在类似 Linux 的模式下能得到最好的发展,而且我认为我们正朝着这条道路迈进。因此,就像所有优秀的开源项目一样,相对于单打独斗,让每个人都能够参与进来构建更好的东西,那就算是成功了。

00:21:30 - Saron Yitbarek:

所有这一切都在快速发生着,毕竟,这是一场竞赛,而这正是我们期望能从开源中获得的东西。在我们才刚刚理解什么是容器时,第一轮几乎就结束了,

这是来自 Red Hat 的 Scott McCarty。

Scott McCarty

回想一下两年前,容器镜像格式还是一个巨大的战场,然后回到六个月至一年前,容器编排就成为了下一个巨大的战场。紧接着,如果你看看 2017 年的 KubeCon 及前几周,几乎每个主要供应商都宣布支持 Kubernetes。因此,很明显 Kubernetes 在这一方面上获胜了。

00:22:00 - Saron Yitbarek

这章关于容器战争的故事即将结束。就像容器技术的开始一样迅速。

Scott McCarty

因此,Kubernetes 已经成为标准,其美妙之处是,现在的应用定义已经变得标准化了。因此,任何人都可以在这些 YAML 文件中使用 Kubernetes 对象并定义应用,这就是我们共同所追求的事情。事实上,对于容器技术足够处理处理大型扩展系统这件事,我已经期待了 20 年。

00:22:30 - Saron Yitbarek

Kubernetes 的成功看起来板上钉钉,但即使竞赛尘埃落定,我们仍然面临更大的一些问题。容器是否会成为未来几年的默认选择?是否会促使更多的云原生开发?这些转变将促生哪些工具和服务上?以下是我们目前所知道的。

00:23:00

社区将通过 CNCF 继续改进 Kubernetes,并作为它最重要的使命之一,我们将建立一套全新的容器技术。

容器已经催生了大量新的基础设施,伴随而来的是全新的服务的需求。举个例子让你感受下容器的整合程度和发展速度,仅 Netflix 每周就运行超过一百万个容器。毫不夸张得说,容器是未来的构件。

00:23:30

这一整季的栏目中,我们一直在追踪开源运动的演变。首先看到 Linux 如何主导战场,以及开源理念是如何改变商业、工作流程和每日使用的工具。容器真的是开源运动中最重要的里程碑之一。它们具有很好的迁移性、轻量、易于扩展。

00:24:00

容器技术很好地体现了开源的优势,开源项目自然而然也推动了容器技术的发展。这是一个全新的世界,我们不用再担心从不同计算机或者云间的迁移产生的隔阂。

00:24:30

容器的标准化比任何人预测的都要快。接下来的一集,我们将转向另一场悬而未决的战争。这场云间战争史无前例地催生者行业重量级人物。微软、阿里巴巴、谷歌和亚马逊四家云供应商的摩擦正在升温,随之而来的将是一场暴风骤雨。我们将会追随它们激发的闪电,和广受欢迎的几位代码英雄一起探讨云间战争。

00:25:00

《代码英雄》是红帽公司推出的原创播客栏目。想要了解更多关于本期节目和以往节目的信息,请访问 redhat.com/commandlineheroes 。在那里,你还可以注册我们的新闻资讯。想免费获得新剧集的自动推送,请务必订阅该节目。

只要在苹果播客、Spotify、Google Play、CastBox 中搜索 “Command Line Heroes”,或者通过其他方式收听,并点击订阅,这样你就能在第一时间知道最新剧集。我是 Saron Yitbarek。感谢您的收听,编程不止。

什么是 LCTT SIG 和 LCTT LCRH SIG

LCTT SIG 是 LCTT 特别兴趣小组 Special Interest Group ,LCTT SIG 是针对特定领域、特定内容的翻译小组,翻译组成员将遵循 LCTT 流程和规范,参与翻译,并获得相应的奖励。LCRH SIG 是 LCTT 联合红帽(Red Hat)发起的 SIG,当前专注任务是《代码英雄》系列播客的脚本汉化,已有数十位贡献者加入。敬请每周三、周五期待经过我们精心翻译、校对和发布的译文。

欢迎加入 LCRH SIG 一同参与贡献,并领取红帽(Red Hat)和我们联合颁发的专属贡献者证书。


via: https://www.redhat.com/en/command-line-heroes/season-1/the-containers-derby

作者:Red Hat 选题:bestony 译者:lujun9972 校对:acyanbird

本文由 LCRH 原创编译,Linux中国 荣誉推出

代码英雄讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。

什么是《代码英雄》

代码英雄 Command Line Heroes 是世界领先的企业开源软件解决方案供应商红帽(Red Hat)精心制作的原创音频播客,讲述开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。该音频博客邀请到了谷歌、NASA 等重量级企业的众多技术大牛共同讲述开源、操作系统、容器、DevOps、混合云等发展过程中的动人故事。

本文是《代码英雄》系列播客第一季(4):DevOps,拆掉那堵墙音频脚本。

当应用开发的争斗暂告一段落,横亘在开发者与运维之间的那堵墙开始崩塌。在墙彻底倒塌的时候,墙两边的人都应该学会如何合作,彼此变得亲密无间。

不过到底什么是 DevOps?开发者一方的嘉宾,包括来自微软的 Scott Hanselman 和 Cindy Sridharan(即 @copyconstruct),他们从开发者的角度认为 DevOps 是一种惯实践。而来自运维一方的成员则他们一直在努力捍卫的东西。双方依然存在差异,不过因为 DevOps 的诞生,大家的合作效率会比之前更上一层楼。这集节目讲述了这种方法的诞生对于大家有多重要。

Saron Yitbarek: 请你想象这样一堵墙:这堵墙从你目之所及的最右侧延伸到最左侧。墙比你高,你无法看见墙背后。你知道墙的另一侧有很多很多人,但你不清楚他们是否和你一样,不清楚他们是敌是友。

00:00:30 - Gordon Haff: 开发者创造代码,然后把代码扔过墙丢给运维,之后发生的问题都是运维的责任了。

Richard Henshall: 他们随心所欲,并不真正关心服务质量。

Sandra Henry-Stocker: 墙这两面的人几乎做着相反的工作 —— 一方做出改变,另一方尽可能抵制那些改变。

Richard Henshall: 但对于他们到底想共同达成什么,却没有在同一幅蓝图中规划过。

00:01:00 - Saron Yitbarek: 我是 Saron Yitbarek,这里是《代码英雄》,由红帽公司推出的原创播客栏目。第四期,我们的标题是《DevOps,拆掉那堵墙》。

是的,数十年来,IT 界划分为各种角色。一边是开发者,他们要尽可能快地去创造更多变化。然后另一边是运维团队,他们要去阻止太多改变发生。与此同时,代码在没有充分共鸣和沟通的条件下,被盲目扔过两方之间的墙。怎样才能拆掉这堵墙呢?这需要一个重大的转变。

00:01:30 - Saron Yitbarek: 开源运动震撼了整个战场。上一期,我们看到了新的敏捷方法论,它重视不间断的迭代改进,而这种对速度的要求将迫使我们改变彼此的工作方式。一群彼此孤立的人工作的速度是有极限的,而这个极限是一个问题,因为……

00:02:00 - Richard Henshall: 因为都是为了更快的将产品推向市场、提高敏捷性、更多的迭代,而不是长期而大量的工作。

Saron Yitbarek: Richard Henshall 是 Ansible 的一位产品经理。

Richard Henshall: 是的。还记得你以前下单购买服务器,四个月后到货。所有东西都整合在一起,所以整个堆栈是一个整体,要花几年时间来设计和建造那些东西。现在这种情况已经不存在了,对于很多组织来说,这种方法已经……已经寿终正寝,偶尔拿过来试试,然后放弃它。

00:02:30 - Saron Yitbarek: 如今,像亚马逊这样的公司每分钟都会部署几次新的代码。想象一下,用按部就班的瀑布式工作流,简直不可能完成这些工作。所以为了继续快速完成工作,那些关于稳定性、安全性、可靠性的顾虑都会被运维丢到一边不管。

00:03:00 - Saron Yitbarek: 同时,开发者也没有意识到他们的责任是创造真实环境可用的代码。开发者对稳定性和安全性毫无兴趣,但这些恰恰是我们需要解决的问题。所以,我们最终会有很多无谓的修改,在双方之间来来回回。

想象一下过度分工会如何拖慢公司效率,但开发法者很少被鼓励思考除代码之外的其他事务。

Sandra Henry-Stocker: 他们的目录规模只会越来越臃肿,但他们从不清理。除非已经无法工作才不得不清理。

00:03:30 - Saron Yitbarek: Sandra Henry-Stocker 是位退休的系统管理员,为 IDG 杂志撰稿。

Sandra Henry-Stocker: 我过去经常劝说别人,说,“嘿,你看,你用了这么多的磁盘空间。是不是有什么东西你可以整理一下,这样我们就有更多的存储空间来运行了 —— 因为服务器上的存储空间快用完了。”是的,我们经常经历这些事。

Saron Yitbarek: 归根结底,这是一个心态问题。这种开发者和运维之间的态度分裂,一方不必去理解另一方的担忧。好吧,在过去这还没太大问题,但随着开发速度成为一种重要的优势,这种分裂的文化急需改进。孤立在自己的工作圈子里,效率太低了。

Jonah Horowitz 在 Stripe 的可靠性工程团队工作。他描述了即使开发人员和运维人员想一起工作,他们也无法做到。因为从某种意义上说,他们被安排在对立的团队中。

00:04:30 - Jonah Horowitz: 运维团队经常以正常运行时间和可靠性来衡量,而提高正常运行时间的最大方法之一,就是减少系统的变化量。当然,发布新功能就是在改变系统,而做产品工作的软件工程师有动力去尽快发布尽可能多的功能。所以,当开发和运维的职责不同时,他们自然有了冲突。

00:05:00 - Saron Yitbarek: 开发者致力于新建功能,运营致力于维持运行,两者目标相互矛盾。但就像我说的,由于对速度的需求越来越大,对快速迭代发布的需求越来越大,开发和运维之间的脱节已经到了一个临界点,必须要有所改变。

00:05:30 - Saron Yitbarek: 在 2009 年左右,将开发和运维分开的那堵墙看起来像是监狱的墙。我们需要的是一种新的方法论,它能使开发和运维之间的隔阂顺畅过度,让双方以更快、更整体化的方式工作。

视频平台 Small Town Heroes 的首席技术官 Patrick Debois 为想要拆掉这堵墙的人发起了一场会议。他把这个的脑洞叫做 DevOps Days(开发运维日)。为了便利,他将其缩短为 DevOps,于是这场改革就有了名字。

00:06:00 - Saron Yitbarek: 不过名字并不代表改革的一步,我们知道为什么我们需要 DevOps,但究竟该如何做?我们应该如何将开发和运维结合起来而不引发战争?幸运的是,我有 Scott Hanselman 来指导我。Scott 是微软 .NET 和 ASP.NET 的首席项目经理。

所以,Scott,我认识你确实有几年了,但感觉还是相见恨晚啊。

00:06:30 - Scott Hanselman: 我也是,相见恨晚哈。

Saron Yitbarek: 我想和你聊聊你如何成为一个开发者,和 DevOps 这些年的变化。觉得如何?

Scott Hanselman: 嗯,听上去挺有意思。

00:07:00 - Saron Yitbarek: 好的。我认为究竟什么是 DevOps 是一个好的开场问题。你会怎么定义它呢?

Scott Hanselman: 在 2008 年,维基百科有个关于 DevOps 的定义确实很棒。它说,这是一套“惯例”,目的是在保证质量的前提下,缩短提交变更和变更投入生产之间的时间。所以,如果你想想,假如今天是周二,我检查了一些代码,而这些代码将在 6 月的版本中上线。这就很糟糕了,因为这不是持续集成,而是一年几次的集成。

00:07:30 - Scott Hanselman: 如果你有一个健康的 DevOps 体系,如果你已经有“ 设置 - 上线 set - up ”的惯例,那么你就可以不断地将代码集成到生产中去。那么,你能做什么?你可以定义、创造怎样是最佳“惯例”,这将决定你能否成功。所以,我在周二检查的一些代码,周四就上线了。那么现在,为了保证高质量,最重要的事情就会是 —— 谨慎上线。

00:08:00 - Saron Yitbarek: 这个定义真的很有趣呢,是个“惯例”。但我觉得当我听人们谈论 DevOps 时,它具体一点。他们谈论它就像它是一个角色、一个工作、一个职位或一个头衔。你觉得这与它是一套“惯例”的观点是否有冲突?

Scott Hanselman: 我认为,当一套新的方法或一个新的流行语出现时,人们喜欢把它加在名片上。我不是不尊重那些正在收听这个播客,并且感到被我冒犯、正骂骂咧咧把名片掏出来看的人们。虽然,他们现在可能正要怒盖笔电、退出这个播客。

00:08:30 - Scott Hanselman: 有一个帖子写得非常好,作者是 Brian Guthrie,他是一个脑力劳动者,在 SoundCloud 工作。他是一个超级聪明的人,几天前他在 Twitter 上的帖子中说到 DevOps。他说 DevOps 就是一套惯例,不是一个工作头衔、不是一个软件工具、不是一个你安装的东西、也不是一个团队的名字。

00:09:00 - Scott Hanselman: 他的原话是:“DevOps 不是神奇的‘企业万能药’”。如果你没有好的惯例,如果你没有良好的习惯,你就没有 DevOps。所以,这更多的是一种心态,而不是摆出一个工作头衔,然后“我们要雇佣一个 DevOps 工程师,然后我们要把这些神奇的 DevOps 工程师撒到组织中。虽然整个组织没有意志力,也没有信奉 DevOps 的想法。” 所以,如果你认为 DevOps 是一个工具或者是用来安装的东西,那么你就完全理解错了。

00:09:30 - Saron Yitbarek: 好吧,让我们回到过去,在 DevOps 这个名词出现之前,在我们往名片上写 DevOps 或者把它作为一套“惯例”来讨论之前。在 10 年前,你会如何描述开发者和那些运维人员之间的关系?

Scott Hanselman: 那是相当的水火不容。举个例子,运维控制着生产,但开发人员从来没有接近过生产。我们站在一堵不透明的墙的两侧。我们在开发部的时候,尽可能地去做一些看起来像生产环境能用的东西,但实际上从来没有……从来没有像样的产品。

00:10:00 - Scott Hanselman: 我们有相当多问题。我们的开发环境从各个方面来说都不像生产环境,所以你不可避免地会遇到那些 “嘿,它在生产环境中的工作方式和在开发环境中的不同” 的问题。然后,从开发到投入生产之间的间距是几周几周的长久间隔,所以你的大脑甚至不在正确的频道上。比如说,我在一月份的时候就在研究这个功能,现在四月份才刚刚上线,那么当 bug 不可避免地出现的时候,要等到六月份才能修复,我甚至不记得我们之前在干嘛。

所以运维团队的人,他们的工作是……他们的工作几乎就是有意识地让我们慢下来。好像他们的存在是为了让开发人员更慢,然后他们还觉得我们随时会让生产环境崩坏。

00:11:00 - Saron Yitbarek: 那么为什么会这样呢?是对开发者想要做什么和他们做了什么不了解?还是信任问题?为什么会有这么大的冲突?

Scott Hanselman: 我觉得你已经回答了,而且回答得很到位。你说的很对,确实是信任的问题。我觉得开发人员认为他们是特殊的,或者某些方面比 IT 人员更优越,而 IT 人员认为开发人员不尊重生产。

00:11:30 - Scott Hanselman: 我认为这种文化的产生,一部分来源于高层。他们认为我们是不同的组织,并且我们的目标也不同。我认为软件业正在走向成熟,因为我们都意识到,无论业务是什么,我们写软件都是为了推动业务发展。

所以现在有种 “我们都在往正确的方向推进” 的感觉,就像他们说的,“专注一件产品并做到极致”。但这是需要绝对的信任,可 DevOps 工程师不信任产品工程师来部署代码,对吧?

00:12:00 - Scott Hanselman: 但 DevOps 工程师传统上并不写代码,所以他们并不了解什么被修改了。所以他们对于在各个层面的人都缺乏信任。没有人理解部署过程,人们只信任自己,他们的心态……举个例子,就像“我只信任自己的工作。我不能相信 Saron 的工作,她甚至不知道她在干些什么。我会做完所有的事情。”

00:12:30 - Scott Hanselman: 所以如果没有人真正理解这个系统,那么 全栈工程师 full stack engineer 的概念就是一个神话。但是现在,我们开始将一整个组织称之为全栈。我们已经有了 全产品所有权 full product ownership 这样的名词,敏捷方法论也出现了,也就是说每个人都应该拥有产品。社区对于软件所有权和对于代码的想法都慢慢发生了变化,这种改变带来了一个充满信任的环境。

00:13:00 - Saron Yitbarek: 我是 Saron Yitbarek,你现在收听的是《代码英雄》,来自红帽公司的一档原创播客栏目。所以,要想让 DevOps 发挥出它的潜力,我们就需要双方都有更多的信任,这就意味着要有更多的沟通。回到 Richard Henshall 身上,他认为双方的共情是 DevOps 的基石 。

00:13:30 - Richard Henshall: 一些 DevOps 的从业者,一群真正优秀的从业者,都参与过这两种角色。我认为这才是真正的力量所在 —— 当人们真正做过了两种角色,而不是只看到其中一种。所以,你不该保持孤立,你实际上……你应该去和双方都一起工作一段时间。我想这才是让人恢复同理心的方法。

Saron Yitbarek: 现在,这不仅仅是为了温情的沟通。Richard Henshall 所描述的是行业重点的转向 —— Scott 刚刚提到过。

00:14:00 - Saron Yitbarek: 一个关于 持续集成 continuous integration (CI)的观点。软件不仅要以小批量快速编写和发布,还要以小批量进行快速测试。这意味着,开发人员需要即时反馈他们正在编写的代码在现实世界中的表现。

随着上市时间从几个月缩短到几天,再到几个小时,我们四处寻找一套新的工具,可以将任何可以自动化的元素自动化。

00:14:30 - Gordon Haff: 你需要一个全新的生态系统和工具,来最有效地进行 DevOps。

Saron Yitbarek: Gordon Haff 是一位红帽公司高级工程师。

Gordon Haff: 我们看到有很多巨大的、DevOps 可以利用的新种集合工具和平台,它们都诞生于开源。

Saron Yitbarek: Gordon 是对的。新的集合工具是很庞大,关于开源这点他说的也对。在一个严格的专有系统中,自动化工具是不可能发展的。

00:15:00 - Gordon Haff: 其中有很多监控工具,Prometheus 是其中一个常见的工具。它开始引起很多人兴趣,用于编排服务的 STO 也出自这里。

Saron Yitbarek: GitHub 让你跟踪变化,PagerDuty 管理数字业务,NFS 可以跨网络挂载文件系统,Jenkins 让你自动测试你的构建。

00:15:30 - Saron Yitbarek: 这么多工具,这么多自动化流程。最终的结果是,开发人员可以将他们的变更直接推送到生产现场,自动创建构造,实行经过严格管理的编译与针对性的自动测试。Sandra Henry-Stocker 描述了这是怎样的变化。

Sandra Henry-Stocker: 所以,我可以把我正在工作编写的东西快速部署。我可以只在一个系统上,通过命令行控制许多系统,而不是必须在在很多不同的系统上工作,也不用学习就可以利用网络,将代码部署到其他机器上。

00:16:00 - Sandra Henry-Stocker: 现在,在计算机系统中进行改动更容易了。坐在一个地方,就能实行一切操作。

Saron Yitbarek: 自动化工具已经解决了速度问题。但我不希望我们只赞美工具,而忽略了实际的方法论,文化的转变。Scott Hanselman 和我谈到了这个微妙的界限。

00:16:30 - Saron Yitbarek: 你在这次谈话开始时说,DevOps 是一套惯例,是一种心态,是一种思维方式。听起来,我们创造的工具是我们应该思考和操作方式的具体代码实现。

Scott Hanselman: 我喜欢这句话,你真是个天才。没错,我们以前让产品开发在 Word 文档中写下这些代码是如何工作的。他们写的是规范,对吧?这些文档过期了吗?

00:17:00 - Saron Yitbarek: 没错。(答非所问)

Scott Hanselman: 哈?

Saron Yitbarek: 好吧,我只是很高兴 Scott 刚才说我是天才。但我也确实认为,这些工具几乎是我们文化转变的象征。它们鼓励我们拓宽我们的角色定义。我们开发者已经被迫,至少偶尔关注代码的运行。这样一来,开发和运维的主要职责就部分统一了。事实上,DevOps 的兴起告诉我们的是,在一个速度不断提升的世界里,没有人能够保持孤岛状态。

00:17:30 - Saron Yitbarek: Jonah Horowitz 曾在湾区多家公司工作,包括 Quantcast 和 Netflix。他说即使是世界上一些最大的公司,也从这个角度重新塑造了他们的文化。

Jonah Horowitz: 我们在文化上得到了整个公司的认同,就像,“这就是我们要部署软件的方式,我们将以小批量的方式进行部署,我们将使用这些程序帮助部署。” 如果 DevOps 只是被运营团队所驱动,我不认为它可以……我不认为它可以成功。

00:18:00 - Jonah Horowitz: 这必须成为公司的管理层和领导层所认同的东西才能发挥作用,而这件事很大程度上,意味着一种文化转变。

Saron Yitbarek: 当 MacKenzie 对 800 名 CIO 和 IT 高管进行调查时,80% 的人表示,他们正在规划让自己的一部分下属组织实施 DevOps,超过一半的人计划到 2020 年,在全公司范围内实施。高管们意识到,自动化工具可以提升交付速度。

00:18:30 - Saron Yitbarek: 这些人过去也是这样的人,他们习惯于让一个货板先到达数据中心,然后在新机器上线之前让它在那里放上整整一个月。不过在今天,如果你等待的时间超过 10 分钟,就说明你做错了什么。随着竞争对手的速度增加,没有人能够承受得起落后。

00:19:00 - Saron Yitbarek: 我可以想象,运维团队一定很紧张,因为他们把所有的工具都交给开发人员。运维团队习惯了做成年人,而现在叫他们把车钥匙交给一贯的孩子 —— 开发人员?呀,我想我们开发人员正在学习,如何在不破坏东西的前提下快速移动。但随着 DevOps 革命的尘埃落定,变化最大的可能是运维团队。

00:19:30 - Saron Yitbarek: DevOps 是否真的威胁到了运维的存在?开发是否在用它闪亮的新工具来吃掉运维?Cindy Sridharan 是一位开发者,她写了一篇长篇调查文章来讨论这些问题。在你的文章和博客中,你提到运维人员对事情这样的发展并不一定满意。到底发生了什么?你会说什么?

Cindy Sridharan: 这么说吧,DevOps 的理想是责任共享。开发者和运维将有,就像你知道的,更多的是五五分成,以真正确保软件的整体交付。

00:20:00 - Cindy Sridharan: 我认为很多运维工程师的不快乐源于这样一个事实,那就是这些改变都没有实际功效。他们仍然是总被鸡蛋挑骨头的人,他们仍然是总做苦力工作的那些人,他们还是那些主要肩负着实际运行应用的责任的人,而开发者不一定要做得足够好。

Saron Yitbarek: 这个问题在未来几年将至关重要。DevOps 的作用到底有多大?随着我们的自动化进程,运维的作用是会被削弱,还是会发生转变?

00:20:30 - Saron Yitbarek: 但是我们要记住,DevOps 不仅仅是工具和新技术的应用。这种方法论实际上是在塑造技术,反过来技术也在塑造方法论,这样就有了一个神奇的反馈循环。文化造就了工具,而工具又强化了文化。

00:22:00 - Saron Yitbarek: 最后,我们在节目开头描述的那堵墙,也就是把开发和运维划分开来的那堵墙,我甚至不知道五年后“把你的代码扔过墙”的比喻对一个开发者来说是否有意义,如果五年后大家都听不懂这个比喻,那真是一件大好事。不过目前为止的访谈很有价值,我听到了很多新的故事。

现在说话的是云架构师 Richard Henshall。

Richard Henshall: 我觉得 DevOps 开始让人们意识到对方关心的是什么,我看到了更多对彼此的理解。

00:23:00 - Saron Yitbarek: 现在是系统管理员 Jonah Horowitz。

00:23:00 - Jonah Horowitz: 我认为你需要很棒的技巧来写出真正好的软件,我在与我合作过最棒的开发者身上看到了一件事,那就是他们真的,他们贡献了关于的软件工程新技巧,或者说他们推动了软件开发这个行业的发展。

Saron Yitbarek: 最后一个是系统管理员 Sandra Henry-Stocker。

Sandra Henry-Stocker: 我认为,开发者会变得更加精明、更加谨慎。他们始终要提升自己的技能,我知道这需要很多辛苦的学习。

00:23:30 - Saron Yitbarek: DevOps 是个爱的结晶。原来,在那堵墙的另一边还有一些朋友,很高兴认识你们。所以,坦白一下,我以前总觉得 DevOps 很无聊,就是一堆硬核的自动化脚本和扩展问题。我的抵触情绪有一部分是出于它的实践难度。作为开发者,我每周都要面对一些新出来的工具,一些新的框架。DevOps 一直是那些可怕的、快速变化的一部分。但现在,尤其是听了这些故事之后,我明白了。

00:24:00 - Saron Yitbarek: DevOps 不仅仅是其工具。它是教导我们如何合作,更快地构建更好的产品的方法。

好消息是,随着为你我这样的开发者准备的新平台出现,我们的工作变得更好、更快、更能适应不同的环境,我的业务圈也可以不断扩大。你会看到人们将 DevOps 扩大到安全部分,所以我们能得到 Sec DevOps。或者他们开始包含商务,那我们就得到了 Business DevOps。我们现在要辩论的话题是:对于一个开发者来说,不仅要了解如何使用这些工具,还有了解所有 DevOps 的东西是如何工作的必要吗?以及我们需要所有开发者都去了解这个新世界吗?

00:24:30 - Saron Yitbarek: 这场辩论的结果将决定未来一期《代码英雄》的内容。

你可能已经注意到,在所有关于工具和自动化的谈话中,我漏掉了一些工具。好吧,我把这些留到下一期,当所有这些 DevOps 自动化达到光速时,我们将追踪容器的崛起。

00:25:00 - Saron Yitbarek: 是的,这些都会留到第五期。

《代码英雄》是红帽公司推出的原创播客栏目。想要了解更多关于本期节目和以往节目的信息,请访问 redhat.com/commandlineheroes 。在那里,你还可以注册我们的新闻资讯。想免费获得新剧集的自动推送,请务必订阅该节目。

00:25:30 - Saron Yitbarek: 只要在苹果播客、Spotify、Google Play、CastBox 中搜索《代码英雄》,或者通过其他方式收听,并点击订阅,这样你就能在第一时间知道最新剧集。我是 Saron Yitbarek。感谢您的收听,编程不止。

什么是 LCTT SIG 和 LCTT LCRH SIG

LCTT SIG 是 LCTT 特别兴趣小组 Special Interest Group ,LCTT SIG 是针对特定领域、特定内容的翻译小组,翻译组成员将遵循 LCTT 流程和规范,参与翻译,并获得相应的奖励。LCRH SIG 是 LCTT 联合红帽(Red Hat)发起的 SIG,当前专注任务是《代码英雄》系列播客的脚本汉化,已有数十位贡献者加入。敬请每周三、周五期待经过我们精心翻译、校对和发布的译文。

欢迎加入 LCRH SIG 一同参与贡献,并领取红帽(Red Hat)和我们联合颁发的专属贡献者证书。


via: https://www.redhat.com/en/command-line-heroes/season-1/devops-tear-down-that-wall

作者:Red Hat 选题:bestony 译者:LikChung 校对:acyanbird

本文由 LCRH 原创编译,Linux中国 荣誉推出

代码英雄讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。

什么是《代码英雄》

代码英雄 Command Line Heroes 是世界领先的企业开源软件解决方案供应商红帽(Red Hat)精心制作的原创音频播客,讲述开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。该音频博客邀请到了谷歌、NASA 等重量级企业的众多技术大牛共同讲述开源、操作系统、容器、DevOps、混合云等发展过程中的动人故事。

本文是《代码英雄》系列播客第一季(3):敏捷革命音频脚本。

现在是 21 世纪之交,开源软件正在改变着科技的格局,现在已经需要一种新的工作模式了。开发者们在寻找一种革命性的方法,让开源开发蓬勃发展。一群开发者在犹他州的一个滑雪场召开了会议,形成的是一份改变一切的宣言。

敏捷软件开发宣言 Manifesto for Agile Software Development 》的作者之一 戴夫·托马斯 Dave Thomas 将我们带回了那个现在著名的静修之地,敏捷革命就是在那里第一次组织起来的。不过,并不是每个人都那么快就签下了这种新方法,在这一集里,我们听听原因。

Saron Yitbarek: 有些故事的走向和结局会重新定义一个行业。在这些故事中也传唱着,我们来自哪里,我们是谁,我们正在做什么。上一集中,我们追溯了 Linux ® 开源技术的崛起。但这一集我要讲的,是紧接着发生的故事。操作系统之战结束后,开发者们成为了战争争夺的对象和核心。

00:00:30: 在那个新的战场,开发者们将要重塑自己的工作。本集播客,我们将深入了解以开发人员为核心,产生的一种全新的软件开发方法论。这种新颖的工作流程产生了哪些远超我们屏幕上显示的代码所能控制的、意想不到的事情。

我是 Saron Yitbarek,欢迎收听红帽的原创播客《代码英雄 第三集 敏捷革命》。今天的故事始于 2001 年 2 月,发生在美国犹他州的滑雪小屋里。

00:01:00 - Dave Thomas: 我们面前有个小屋,眼前是松树梁和壁炉,还有进入屋子的小门。我们前一天晚上到达这里时,然后基本上只是围坐在一起,讨论谈我们准备探讨的内容。紧接着第二天,我们都起床,并来到了预定的会议室。先把桌子移到边上去,然后将椅子摆放成一圈,确切地说是一个椭圆,这样一来我们就可以面对面交流,一定程度上也让人感觉到可以敞开心扉,畅所欲言 。

00:01:30 - Saron Yitbarek: 刚才提到的这群人都是开源开发人员,所以保持开放是他们的特点。Dave Thomas 和其他的 16 个人,在那个冬天集聚在雪鸟滑雪场。但是他们的目的并不是滑雪,而是探讨在 90 年代开发者的世界所面临的问题。在这里我用“探讨”,但实际上用“辩论”更准确。他们最初是在 面向对象编程、语言及系统 Object-Oriented Programming, Languages and Systems (OOPSLA)的会议上认识的,这个会议主要议题是面向对象程序设计、编程、语言和系统。

00:02:00: 实际上正是那次会议,让他们意识到当前的软件开发方式很混乱,只是对于该怎么办没有达成一致。

所以此次在雪鸟山上的开会,试图寻找解决这个问题的方法。那么究竟是这个问题具体该怎么描述?于是我询问 Dave,开发人员之前的使用方式到底出现了什么问题。

Dave Thomas: 所以,我不知道……你有没有装饰过房间?

Saron Yitbarek: 我有。

00:02:30 - Dave Thomas: ……好。如果我先告诉你,“我想让你坐下来,然后给你一张白纸。接着我希望你能描绘下来这个房间完成后大概的样子。”可以想象吗?

Saron Yitbarek: 嗯嗯(肯定的语气)。

Dave Thomas: 你能做到吗?

Saron Yitbarek: 实际上,我的办公室就是这么布置出来的。首先,我画了一个简单的草图,然后加上一些修饰,最后把所有架子摆放在我觉得合适的位置。不过这种方式没有真正起到作用,我的计划也没有实现。

Dave Thomas: 但是,即使你尝试了这种方式,你都做了什么?先把架子放起来,然后说,“哦……这样放不行,因为会挡道。”所以,你又紧接着把架子移到其它地方,或者你会说,“你知道吗,我真的不能把地毯放在那里,因为我的椅子脚会陷进去。”状况频发。

00:03:00 -Dave Thomas: 遇到未知的情况,你总需要一种“迭代”的方式去应对。人类的大脑无法准确地对现实世界的发展进行预判,从而提前预知哪里需要改变。所以,软件开发也是一样的,人们不知道他们的需求会怎么改变。对吗?

Saron Yitbarek: 嗯嗯(肯定的语气)。

00:03:30 - Dave Thomas: 我经历过太多这样的情况,当我从客户那里拿到了详细的要求,然后我已经很好地完成了每一条细则,但却总是吵得不欢而散。“这不是我们想要的。” 但我想说的是,“这就是你要求的啊。”他们说,“是的,但这不是我的意思。”你懂这种情况吗?

Saron Yitbarek: 嗯嗯(肯定的语气)。

Dave Thomas: 所以说,理想情况是,你可以详细说明流程的每一步,然后通过非常机械的步骤就可以完成一切。

Saron Yitbarek: 是啊。

00:04:00 - Dave Thomas: 但是在软件行业可行不通。这种方式不适用于有任何模棱两可的情况,也不适用于需要判断的情况。就像任何艺术尝试一样,这种方式就是行不通。总是缺失了关键的一步:反馈。

Saron Yitbarek: 也许你已经听说过上世纪 90 年代的软件危机。当时的软件开发一团糟。相比于开发软件的费用,公司在修复软件上的钱花的多得多。与此同时,你我这样的开发人员进退不得。有时候,我们每隔好几年时间才能推出新的软件。

00:04:30: 我们疲于应付这些缓慢、陈旧、瀑布式开发的工作流程。从 A 到 B 到 C,完全都是提前确定好的。因此,那时的时间消耗主要在寻找新的流程,寻找更好的软件开发方式上。事实上,每个月似乎都有新的开发者,对如何改善软件开发的过程提出宏伟的设想。

00:05:00: 其中就有极限编程、有 Kanban、还有统一软件开发过程等,不胜枚举。在这些方法论的激烈竞争中,也催生出了新的观点和改进方法。那就是 Dave Thomas 和他在雪鸟滑雪场的朋友们迫不及待开始探讨的领域。

值得让这群人齐声欢呼喝彩的就是《敏捷软件开发宣言》。当时的开发速度正在以前所未有的速度保持增长 —— 而开源使开发人员变得更强大。另一方面,开发人员也需要一种新的敏捷的开发模式。

00:05:30: 顺便提一下,那些在雪鸟滑雪场会面的人,在经过一番你来我往的争论后,才确定用这个词。 敏捷 Agile ,这个词非常切题。这种方式就好像国家地理描述大型猫科动物的方式,一个与瀑布式开发预设路径正好相反的词。随着新的信息层出不穷,这个词让那些愿意改变航向的人看到了一线曙光。请注意这可不是一个名词,而是一个形容词。

00:06:00: 敏捷将会是一种习惯,而不是一种具体的说辞。那么,那些采用敏捷的开发者提供了什么呢?他们的总体解决方案是什么?现在很多人都认为敏捷是一个复杂的集合,包括不同的角色和是系统。会有一个 项目经理 scrum master ,一个 项目 scrum 团队,一个产品负责人。同时他们都要进行一到两周的冲刺工作。

00:06:30: 与此同时,工作都堆积在“冰盒”和“沙盒”中。好吧,听起来感觉流程很多。但一开始的时候是没有这些流程的。撰写该敏捷宣言的人,目标是简单和清晰。实际上,简单是它制胜的法宝。从那时起,它就具有定义几乎每个开发人员命运之路的能力。

Dave Thomas: 我们已经提到了,我们更喜欢某种方式,而不是另一种方式。事实上,在午餐这段时间,我们就写下了几乎所有的观点,现在都是敏捷宣言的一部分。

00:07:00 - Saron Yitbarek: 这是可以管理开发的四个奇思妙想。如果你尚且还不熟悉那些敏捷的诫命,他们会这样解释:

个体和互动胜过流程和工具;可工作的软件胜过文档;客户协作胜过合同谈判;响应变化胜过遵循计划。

00:07:30: 我记得第一次看到这个宣言时的情形。我刚开始学习编程,老实说,当时我并没有觉得这个想法有多棒。一直到我了解到那些支持敏捷开发的工具和平台。对我来说,这只是一些模糊的概念。但是,对于长期以来一直被这些问题纠缠的开发人员来说,这是一个很好的行动方案。

该宣言是一盏灯,可以激发更多奇思妙想。这四点宣言和一些支持材料都发布在 Agilemanifesto.org 网站上,并且呼吁其他开发者签名以表示支持。

00:08:00 - Dave Thomas: 很快获得了 1000 个签名,接着 10,000 个,然后签名数一直在增长,我想我们都惊呆了。这基本上变成了一场革新运动。

Saron Yitbarek: 他们从来没有计划过把这份敏捷宣言带出滑雪小屋。这只是一群热衷于软件开发的人,并且对帮助他人更好地发展充满热情。但很明显,“敏捷” 本身像长了腿一样。红帽公司首席开发倡导者 Burr Sutter 谈到了“敏捷”对于还困在“瀑布”中的开发人员来说是一种解脱。

00:08:30 - Burr Sutter: 因此,敏捷的概念从根本上引起了人们的共鸣,基本上是在说:“看,我们专注于人员而不是流程。我们专注于交互和协作而不是工具和文档。我们认为工作软件高于一切,我们宁愿人们通过小批量的工作,实现高度互动、快速迭代。”

00:09:00 - Saron Yitbarek: 而对于一些人来说,这个开发者的革新走得太远。敏捷甚至被视为是给那些不负责任的黑客心态的合理说辞。早期反对敏捷最重要的声音之一是 Steve Rakitin。他是一名软件工程师,拥有超过 40 年的行业经验。

00:09:30: 当他大学毕业时,Rakitin 就开始建造第一个核电站数字控制系统。几十年来,他一直致力于研发电力软件和医疗设备软件。这些都是对安全很注重的软件。没错。你可以预料到,他可不会对这种手忙脚乱的开发方式感兴趣。

因此,在方法论战争的尾声,敏捷横空出世,Rakitin 对此翻了个白眼。

Steve Rakitin: 就像是,“好吧,我们换种方式说,如同一群人围坐着喝着啤酒,就想出了开发软件的其他办法。”顺便提一下,敏捷宣言中许多已经得到进一步发展,并应用于早期的开发方法里了。

00:10:00 - Saron Yitbarek: 他这么想其实也没有什么错。实际上你可以在 “雪鸟峰会” 前几十年就追溯到敏捷哲学的踪迹。例如,像 看板 Kanban 这样的精益工作方法可以追溯到 20 世纪 40 年代,当时丰田受到超市货架存货技术的启发……

他们的精益制造理念最终被用于软件开发。不过 Rakitin 有另外一个担忧。

00:10:30 - Steve Rakitin: 这篇宣言发表时我非常怀疑它,因为它基本上是为了让软件工程师花更多的时间编写代码,花更少的时间搞清楚需要做什么,同时记录文档的时间少了很多。

Saron Yitbarek: 对于 Rakitin 来说,这不仅仅是提出新的工作流程创意。这也关乎到他职业生涯的清白声誉。

00:11:00 - Steve Rakitin: 长期以来,相比于电气工程和所有其他工程学科,软件工程并未被视为正规的工程学科。在我看来,部分原因是因为普遍缺乏软件工程师认可的公认实践。

00:11:30: 当我们经历了 90 年代的十年,逐渐开始明晰其中的一些流程。似乎其中一些已经在事实上被实施,而且也很合理。

然后敏捷宣言的出现了。如果软件工程将成为正规的工程学科,那么你就需要流程化的东西。其他所有工程学科都有流程,为什么软件工程就没有?

00:12:00 - Saron Yitbarek: 我是 Saron Yitbarek,你正在收听的是红帽的原创播客代码英雄。那么,如果我们把在核电站工作的人士的观点放在一边,转而关注更广阔的企业界,我们发现敏捷已经逐渐广受认可。但这件事不是自然而然,没有丝毫阻力就发生的。

Darrell Rigby: 我想我们在采用敏捷开发中,受到的最大阻力来自中高级管理层。

00:12:30 - Saron Yitbarek: 这位是 Bain&Company 的合伙人 Darrell Rigby。他们一直尝试在软件开发公司中推行敏捷开发。不仅如此,还包括产品开发、新闻服务开发、广告计划和忠诚度计划等。不管他们要做什么,项目管理者都会面临点压力。

Darrell Rigby: 敏捷改变了他们的价值,因为他们正在逐步退出细节上的管理或干预。现在团队被赋予权力,对他们加以指导。

00:13:00 - Saron Yitbarek: 现在,敏捷并不能保证阻止中间轻微的干预。我承认,我第一次看到一个敏捷管理委员会时,我认为这是一个永无止境的待办事项清单,我有了点压迫感。但后来当我开始真正使用敏捷产品管理工具时,我完全变成了它们的粉丝。我是一个编码培训营的新人,我试图弄清楚如何确定功能的优先级并做出产品决策。

00:13:30: 那些看起来很可怕的工具让我有了所有这些想法,然后给它们命名、顺序和结构。从而可以帮助我更好地管理我的项目。所以,我确实同意 Rigby 的观点。有些人可能会看到这些工具产生的影响并认为,如果敏捷赋予开发人员权力,那么就会剥夺经理们的管理权。

但是,它的价值比任何一个职位都要大,敏捷开发的发展势如破竹。更重要的是,它正在证明自己。

00:14:00 - Darrell Rigby: 目前,成千上万的团队已经采用敏捷开发。因此,我们有很多关于此数据。答案是,无论何时你开始创新,相比你现在使用的方式,敏捷团队能更好实现目标。

00:14:30: 有许多更大的、知名的公司都在变革自身。亚马逊是敏捷方法的重要用户。奈飞、Facebook 和 Salesforce —— 他们都是敏捷的重度用户,实际上敏捷方法不仅重新定义了工作方式,更是重新定义了行业的运作方式。

Saron Yitbarek: 当 Rigby 第一次听说 敏捷 agile 时,他认为这是一种奇怪的语言。他当时正在与许多大型零售商的 IT 部门合作。无意间听到他们谈论 “time boxes”、“sprint” 和 “scrum master” 。起初,他并不懂他们在说什么。他告诉我他实际上是试图忽略任何有关敏捷的字眼,就像这是他不需要学习的另一种语言。毕竟,他本人不是开发人员。

00:15:00: 但是如今,他却成为了敏捷信徒,把敏捷带到他的家里,带入他的教堂。

Darrell Rigby: 我不一定每天早上都和家人坐在一起,和他们一起参加敏捷开发式的会议。但是,我已经非常擅长为我要做的事情排优先级。

00:15:30 - Saron Yitbarek: 十多年来,敏捷已经从边缘走向主流。但是,企业认同还是有代价的。在某些情况下,这种同化甚至会使敏捷宣言的最初意图变得模糊。Dave Thomas 让我想起了这一点。他说,当他和其他 16 位雪鸟会议上的伙伴第一次写下宣言时,根本没有既定的指示。

00:16:00: 因此,即使宣言中没有告诉你如何应用这些条例,我猜想你已经对大概会发生什么,还有人们会怎么做,有一些大概的思路了吧?

Dave Thomas: 老实说啊,我还真没有。

Saron Yitbarek: 听到这里,你可能会感到惊讶。因为敏捷现在看起来很有说服力。有书籍、认证、工具、课程和产品的整个市场,向你展示如何“实现敏捷”。

Dave Thomas 表示,尽管有成千上万的手册和专业人士想要向你展示“唯一真理”,他们却错过了重点。

Dave Thomas: 实际上它是一组价值观。

00:16:30 - Saron Yitbarek: 嗯嗯(肯定的语气)。

Dave Thomas: 我想这就像黄金法则。你知道,如果你要做一些邪恶恶毒的事情,你会想,“好吧,如果有人这样做,我又怎么会喜欢。”你知道吗,这种场合也适合用黄金法则。

好吧,敏捷宣言也是如此。它并没有告诉你该做什么,不该做什么,它只是告诉你,你做的一切是否符合这个价值观。

00:17:00 - Saron Yitbarek: 是的。我想只要回到敏捷软件开发宣言的名称、真正脱颖而出并且经久不衰的一个词,也是人们真正关注的就是“敏捷”。那么现在使用“敏捷”这个词又出了什么问题呢?

00:17:30 - Dave Thomas: “敏捷”这个词的问题在于,在我们刚开始提出的时候,它是描述软件开发的形容词。但接下来人们就产生了疑问:“我该怎么着手实施敏捷呢?”

00:18:00: 突然之间,涌出了一大批咨询顾问,他们看到了 极限编程 Extreme Programming (XP)的成功,看到了宣言的成功,“嘿,那里有座金山。” 然后就开始告诉人们如何“做敏捷”。这是一个问题,因为你不能“做”敏捷。敏捷不是你要“做”的事情,而是你如何做事情的方式。

然而,有些公司会乐意卖给你敏捷相关的套装。我觉得这很讽刺。这里的咨询就好像是进入一家财富 1000 强企业,然后帮助他们设定“敏捷”。然后带走了 500 万美元。你懂吗?太棒了,钱真好赚。

00:18:30: 但是,现实情况是,这就像告诉要老虎如何变得敏捷一样,说:“先走七步,然后左脚迈出来,然后再走两步,然后迈出右脚。”嗯,实际上只有瞪羚做同样的事情,这才会是有用的。你猜怎么着?没有人告诉瞪羚这样做。瞪羚基本都会跑到地平线尽头上大笑起来,因为老虎在“邯郸学步”。

00:19:00: 当你告诉团队如何敏捷时,会发生同样的事情。如果你对他们说,“这是你必须遵循的规则,这是你必须遵循的流程”,然后他们唯一能做的就是跟随职责,因为他们已被设定好该执行的程序。管理层将根据他们服从原则或程序的程度,而不是开发软件的水平来判断表现如何。

00:19:30 - Saron Yitbarek: 所以,回顾一下,宣言发布之前和之后的开发者的角色,是如何因为你的宣言本身改变或扩展的呢?

00:20:00 - Dave Thomas:我认为大多数程序员都能理解到关键点,这值得肯定。我觉得敏捷宣言给了许多开发人员按照这种方法去做的授权,某种程度上是他们以前就知道该如何,但从来没有权利这样做。像测试收集反馈,缩短迭代周期之类的事情。因此,在许多方面,工作变得更有趣,更充实。

同时我认为,程序员也可能会感到有点害怕,因为现在他们有了责任。过去,他们只是遵循命令。这个程序不起作用?好吧,但我遵循了规范。而如今,程序员肩负着责任。

00:20:30: 所以,我觉得这个职业因敏捷宣言而有所成长。我认为人们开始意识到,他们对自己所开发东西负有点对点的责任。

00:21:00 - Saron Yitbarek:敏捷取得了如此广泛得成功,改变了工作流程和态度,远远超出了开发者世界的范畴 —— 当然也超越了雪鸟会议召开的小木屋。我们不禁要问,“相比于 2001 年撰写宣言时,今天成为敏捷开发人员意味着什么?”

最初的敏捷精神是否仍然存在?如果确实发生了变化,这是一件坏事吗?对于谷歌的多元化业务合作伙伴 Ruha Devanesan 来说,敏捷的思维方式,可能已经发展到影响公平性和在工作场所中的平等性了。

00:21:30 - Ruha Devanesan:让团队具有包容性的部分原因,是他们在进行非常基础的工作时,可以评价和反思自己。当大多数团队一起工作时,他们没有足够的时间这么做。没有足够的动力停下来思考他们团队宗旨,是否每个人都在能桌上发表意见,关于是否有人在推动其他人,或者是否有人在一直都保持沉默。如果他们保持沉默,为什么他们保持沉默?

00:22:00: 因此,在考虑包容性时,我认为敏捷团队使用的一些工具在为团队创建架构,或更具包容性的框架方面非常有用。所以多样性包括性别、种族,还有功能多样性。功能多样性为团队带来了复杂性。

00:22:30 - Saron Yitbarek: 但是,我们在这里要声明他们的不同。Ruha 并不是说敏捷就等于多样性。她的意思是,“敏捷加多样性等于更好的团队。”Ruha 的想法在她写的一篇名为《论通过敏捷方法解锁多样性》的文章中得到了体现。我们将在演示笔记中添加一个链接 —— 这可是值得一读的文章。

在这篇文章中,她会引导你去了解,多元化不仅仅是人力资源部门一直在谈论的模糊概念。这里提供了一个强有力的商业案例。利用敏捷工具,可以创建一个包容性的工作场所,和创新效率提升。多样性可以与敏捷相辅相成。

00:23:00 - Ruha Devanesan: 这篇介绍复杂性的文章,最终目的是让大家从不同的角度看待你的结果或产品。当我们说为团队增加多样性可以带来更好的结果,带来更多的创新和创造力时,我们持有的是基本同样的观点。因为当你从多个角度去看待并协作解决工作中的问题时,你更有可能得出一个更好的结果。

00:23:30 - Saron Yitbarek: 团队中的每个人,甚至可以对日常会议这样简单的事情提出反馈,这会让内向的人或其他不爱说话的人发表自己的见解。

Ruha Devanesan: 我真正喜欢敏捷的原因是,有一些内置的机制来帮助团队停下来进行思考。这可能是因为敏捷开发是如此之快,并且有为时两周的冲刺任务。如果你没有建立这些机制,你可能会偏离轨道,没法再回到正轨。

00:24:00: 但是,我觉得,“停止并反馈”这种价值观非常重要。这对于团队的包容性增加也非常重要,因为让大家都能提出工作反馈,并借此不断改善,这是团队能够包容的基本表现。

Saron Yitbarek: 既然我们谈论的是包容性,现在可能是指出那些敏捷宣言的 17 位创始人的好时机,是的……他们都是白人。

00:24:30 - Dave Thomas: 实际上那个房间没有多样性。这是对该组织的一种非常普遍的批评,而且我对此深表同情。

Saron Yitbarek: 如果敏捷宣言创始人采用了这些敏捷原则,并将其应用于他们自己的会议,那么他们可能在完成部分工作后,会问他们自己……“嘿,你注意到我们没有邀请任何女性参加这次会议吗?”我在想会不会有一个有色人种会持有不同意见。

00:25:00 - Ruha Devanesan: 物以类聚,人以群分。所以,如果考虑敏捷宣言的第一个人是白人,他邀请到桌上的人也是白人也就不足为奇了。但是,我们有机会在那方面做得更好,我们有机会停下来说:“让我们退后一步,让我们扩大我们的视野,寻找我们现在拥有的关系网络之外的人。谁可以带来不同的视角并帮助我们更好地改进这种开发方式。”

00:25:30 - Saron Yitbarek: 对我来说这很有道理,因为敏捷开发正是如此……好吧,敏捷,我们可以将它应用于不同的问题和行业。敏捷的应用方面,以及其在现实生活中出现时候的样子,是不断变化、不断扩展的。我想它正在将宣扬的内容付诸实践。没有最正确的答案,没有最后的终点。这是我们有时会忘记的事情:硬规则是敏捷的敌人。

00:26:00: 因此,如果一个敏捷团队告诉你敏捷的一部分意味着你必须每两周开发一个新的版本,或者你必须做什么事,那么,根据定义,这可不是敏捷。你老是说“总是”,你也不再是敏捷了。

00:26:30: 那些在犹他州雪鸟会议碰面的 17 名男子,最后宣称成立敏捷联盟。该联盟成为一个非营利组织,每年都举办一次会议。这个联盟的成长和发展,催生了更多全新的理论和方法。

这正是我感觉非常有趣的东西。在 2008 年的会议上,比利时开发人员 Patrick Debois 参加了并开始引领一条道路,他发明了一种全新的软件开发实践 DevOps。我从未想到与敏捷的一系列原则与 DevOps 和整个行业是都紧密相关。

00:27:00: 但是,现在我在想,“敏捷的兴起与 DevOps 的发明之间有多少关联?一个突破是否孕育了另一个突破?”我们会一起去探索,因为我们的下一集是正是 DevOps,对!一整集的内容。

00:27:30: 《代码英雄》是红帽的原创播客。有关我们的播客和其他更多信息,请访问 Redhat.com/commandlineheroes 。在那里,你也可以关注我们的消息订阅。想要免费听取最新内容,请订阅我们的节目。也可以在 Apple Podcast、Spotify、 Google Play、CastBox 中搜索 “Command Line Heroes”,然后点击“订阅”,你将在第一时间获得我们的内容更新。

我是 Saron Yitbarek,感谢收听,请坚持编程。

什么是 LCTT SIG 和 LCTT LCRH SIG

LCTT SIG 是 LCTT 特别兴趣小组 Special Interest Group ,LCTT SIG 是针对特定领域、特定内容的翻译小组,翻译组成员将遵循 LCTT 流程和规范,参与翻译,并获得相应的奖励。LCRH SIG 是 LCTT 联合红帽(Red Hat)发起的 SIG,当前专注任务是《代码英雄》系列播客的脚本汉化,已有数十位贡献者加入。敬请每周三、周五期待经过我们精心翻译、校对和发布的译文。

欢迎加入 LCRH SIG 一同参与贡献,并领取红帽(Red Hat)和我们联合颁发的专属贡献者证书。

关于重制版

本系列第一季的前三篇我们已经发布过,这次根据新的 SIG 规范重新修订发布。


via: https://www.redhat.com/en/command-line-heroes/season-1/agile-revolution

作者:RedHat 选题:bestony 译者:redhat 校对:acyanbird

本文由 LCRH 原创编译,Linux中国 荣誉推出

代码英雄讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。

什么是《代码英雄》

代码英雄 Command Line Heroes 是世界领先的企业开源软件解决方案供应商红帽(Red Hat)精心制作的原创音频播客,讲述开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。该音频博客邀请到了谷歌、NASA 等重量级企业的众多技术大牛共同讲述开源、操作系统、容器、DevOps、混合云等发展过程中的动人故事。

本文是《代码英雄》系列播客第一季(2):操作系统战争(下)音频脚本。

Saron Yitbarek: 这玩意开着的吗?让我们播放一段跟星球大战电影一样的开场字幕吧,第二集开始了!

00:00:30 - 配音: OS 战争第二部分:Linux 的崛起。微软帝国控制着 90% 的用桌面用户,操作系统的完全标准化似乎是板上钉钉的事了。所以公司们把它们的注意力从桌面端的个人用户,转移到了专业人士上,它们为了服务器的所有权打得不可开交。但是一个有点让人意想不到的英雄出现在开源“反叛组织”中。戴着眼镜,固执的 林纳斯·托瓦兹 Linus Torvalds 免费发布了他的 Linux® 程序。微软摔了个趔趄,并且开始重新调整战略。

00:01:00 - Saron Yitbarek: 哦,我们极客们就是喜欢那样。上一次我们讲到哪了?苹果和微软互相攻伐,试图在争夺桌面用户的战争中占据主导地位。在第一集的结尾,我们看到微软获得了大部分的市场份额。很快,互联网的兴起以及随之而来的开发者大军,让整个市场都经历了一场地震。互联网将战场从在家庭和办公室中的个人电脑用户转移到拥有数百台服务器的大型商业客户中。

00:01:30 - Saron Yitbarek: 这意味着巨量资源的迁移。突然间,所有相关企业不仅被迫为服务器空间和网站建设付费,还必须集成软件来进行资源跟踪和数据库监控等工作。至少那时候大家都是这么做的,你需要很多开发人员来帮助你。

在操作系统之战的第二部分,我们将看到固有优势的巨大转变,以及像林纳斯·托瓦兹和 理查德·斯托尔曼 Richard Stallman 这样的开源反叛者,是如何成功地在微软和整个软件行业的核心引发恐惧的。

00:02:00 - Saron Yitbarek: 我是 Saron Yitbarek,你现在收听的是代码英雄,一款红帽公司原创的播客节目。每一集,我们都会给你带来“从码开始”,用技术改变科技的人,他们的故事。

00:02:30 - Saron Yitbarek: 好。想象一下你是 1991 年时的微软。你自我感觉良好,对吧?你满怀信心,确立了全球主导地位的感觉真不错。你已经掌握了与其他企业合作的艺术,但是仍然将大部分开发人员、程序员和系统管理员排除在联盟之外,而他们才是真正的武装力量。这时出现了一个叫林纳斯·托瓦兹的芬兰极客。他和一帮信奉开源的程序员开始发布 Linux,这个操作系统内核是由他们一起编写出来的。

00:03:00 - Saron Yitbarek: 坦白地说,如果你是微软公司,你并不会太在意 Linux,甚至不太关心开源运动,但是最终,Linux 的规模变得如此之大,以至于微软不可能不注意到。Linux 第一个版本出现在 1991 年,当时大概有 1 万行代码。十年后,则是 300 万行代码。如果你想了解知道现在的 Linux 怎么样了 —— 它有 2000 万行代码。

00:03:30 - Saron Yitbarek: 让我们在 90 年代初停留一会儿,那时 Linux 还没有成为我们现在所知道的庞然大物。这只是一个正在蔓延的,拥有病毒一般感染力的奇怪操作系统,不过全世界的极客和黑客都爱上了它。那时候我还太年轻,但有点希望我曾经历过那个年代。在那个时候,发现 Linux 就如同进入了一个秘密社会,程序员与朋友们分享刻录的 Linux CD 集,就像其他人分享地下音乐混音带一样。

00:03:40: 开发者 Tristram Oaten 讲讲你 16 岁时第一次接触 Linux 的故事吧。

00:04:00 - Tristram Oaten: 我和我的家人去了红海的 Hurghada 潜水度假,那是一个美丽的地方,强烈推荐。也许我妈妈跟我说过不要这么做,但第一天,我还是喝了自来水。所以我整个星期都病得很厉害,没法离开旅馆房间。当时我只带了一台新安装了 Slackware Linux 的笔记本电脑,我只是听说过这玩意,现在却要尝试使用它。我手上没有其他的应用程序,我能接触的所有东西只有刻录在 8 张 CD 上的代码。这种情况下,我整个星期能做的事情,就是了解这个外星造物一般的系统。我阅读手册,摆弄着终端。我记得当时我甚至不知道一个点(表示当前目录)和两个点(表示前一个目录)之间的区别。

00:04:30 - Tristram Oaten: 我一点头绪都没有。犯过很多错误。但慢慢的,在这种被迫造成的孤独中,我突破了障碍,开始明白并理解命令行到底是怎么回事。假期结束时,我没有看过金字塔、尼罗河等任何埃及遗址,但我解锁了现代世界的一个奇迹。我接触了 Linux,接下来的事大家都知道了。

Saron Yitbarek: 你会从很多人那里听到关于这个故事的不同版本,访问 Linux 命令行是一种革命性的体验。

00:05:00 - David Cantrell: 它提供了源代码。我当时的感觉是,“太神奇了。”

Saron Yitbarek: 我们正在参加一个名为 Flock to Fedora 的 2017 年 Linux 开发者大会。

David Cantrell: ……非常有吸引力。我觉得随着我掌控这个系统越深,它就越吸引我。我想,从 1995 年我第一次编译 Linux 内核那时起,我就迷上了它。

Saron Yitbarek: 这是开发者 David Cantrell 与 Joe Brockmire。

00:05:30 - Joe Brockmeier: 我在 Cheap Software 转的时候发现了一套四张 CD 的 Slackware Linux。它看起来会非常令人兴奋而且很有趣,所以我把它带回家,安装在我的第二台电脑上,开始摆弄它,有两件事情让我感到很兴奋:一个是我运行的不是 Windows,另一个是 Linux 的开源特性。

00:06:00 - Saron Yitbarek: 某种程度上来说,使用命令行的人总是存在的。在开源真正开始流行起来的二十年前,人们(至少在开发人员是这样)总是希望能够做到完全控制机器。让我们回到操作系统大战之前的那个时代,在苹果和微软为他们的 GUI 而战之前,那时也有代码英雄。 保罗·琼斯 Paul Jones 教授(在线图书馆 ibiblio.org 的负责人)就是一名那个古老年代的开发人员。

00:06:30 - Paul Jones: 从本质上讲,互联网在那个时候客户端-服务器架构还是比较少的,而更多的是点对点架构的。确实,我们会说,某种 VAX 到 VAX 的连接(LCTT 译注:DEC 的一种操作系统),某种科学工作站到科学工作站的连接。这并不意味着没有客户端-服务端的架构及应用程序,但这的确意味着,最初的设计是思考如何实现点对点,它与 IBM 一直在做的东西相对立。IBM 给你的只有哑终端,这种终端只能让你管理用户界面,却无法让你像真正的终端一样为所欲为。

00:07:00 - Saron Yitbarek: 当图形用户界面在普通用户中普及的同时,在工程师和开发人员中总是存在着一股相反的力量。早在 Linux 出现之前的二十世纪七八十年代,这股力量就存在于 Emacs 和 GNU 中。斯托曼的自由软件基金会中的某些人想要使用完全命令行,但直到上世纪 90 年代的 Linux 出现,才提供了前所未有的东西。

00:07:30 - Saron Yitbarek: Linux 和其他开源软件的早期爱好者是都是先驱。我正站在他们的肩膀上,我们都是。

你现在收听的是代码英雄,一款由红帽公司原创的播客。这是操作系统大战的第二部分:Linux 崛起。

Steven Vaughan-Nichols: 1998 年的时候,情况发生了变化。

00:08:00 - Saron Yitbarek: Steven Vaughan-Nichols 是 zdnet.com 的特约编辑,他已经写了几十年从商业方面论述技术的文章了。他将向我们讲述 Linux 是如何慢慢变得越来越流行,直到自愿贡献者的数量远远超过了工作于 Windows 上的微软开发人员的数量。不过,Linux 桌面版本从未真正追上 Windows,这也许就是微软最开始时忽略了 Linux 及其开发者的原因。Linux 真正大放光彩的地方是服务器机房,当企业开始线上业务时,每个企业都需要一个满足其独特需求的解决方案。

00:08:30 - Saron Yitbarek: WindowsNT 于 1993 年问世,当时它已经在与其他的服务器操作系统展开竞争了,但是许多开发人员都在想,“既然我可以通过 Apache 构建出基于 Linux 的廉价系统,那我为什么要购买 AIX 设备或大型 Windows 设备呢?”鉴于这个优点,Linux 代码已经开始渗透到几乎所有的在线机器中。

00:09:00 - Steven Vaughan-Nichols: 让微软开始意识到并感到惊讶的是,Linux 实际上已经有了一些商业应用,不是在桌面环境,而是在商业服务器上。因此,他们发起了一场运动,我们称之为 FUD - 恐惧、不确定和怀疑 fear, uncertainty and double 。他们说,“哦,Linux 这玩意,真的没有那么好。它不太可靠,你根本不能相信它”。

00:09:30 - Saron Yitbarek: 这种软宣传式的攻击持续了一段时间。微软也不是唯一一个对 Linux 感到紧张的公司,整个行业其实都在对抗这个奇怪新人的挑战。例如,任何与 UNIX 有利害关系的人都可能将 Linux 视为篡夺者。有一个案例很著名,那就是 SCO 组织(它发行过一种 UNIX 版本)在过去 10 多年里发起一系列的诉讼,试图阻止 Linux 的传播,而 SCO 最终失败而且破产了。与此同时,微软一直在寻找机会,他们必须要采取动作,只是不清楚具体该怎么做。

00:10:00 - Steven Vaughan-Nichols: 第二年,真正让微软担心的事情发生了。在 2000 年的时候,IBM 宣布,他们将于 2001 年投资 10 亿美元在 Linux 上。现在,IBM 已经不再涉足个人电脑业务。那时他们还没有走出那一步,但他们正朝着这个方向前进,他们将 Linux 视为服务器和大型计算机的未来,在这一点上 —— 剧透警告,IBM 是正确的。

00:10:30 - Steven Vaughan-Nichols: Linux 将主宰服务器世界。

Saron Yitbarek: 这已经不再仅仅是一群黑客所钟爱的,对命令行绝地武士式的控制了。金钱的投入对 Linux 助力极大。 Linux 国际 Linux International 的执行董事 John “Mad Dog” Hall 有一个可以解释为什么事情会变成这样的故事分享,我们通过电话与他取得了联系。

00:11:00 - John Hall: 我有一个名叫 Dirk Holden 的朋友,他是德国德意志银行的系统管理员,他也参与了个人电脑上早期 X Windows 系统图形项目的工作。有一天我去银行拜访他,我说:“Dirk,你银行里有 3000 台服务器,用的都是 Linux。为什么不用 Microsoft NT 呢?”

00:11:30 - John Hall: 他看着我说:“是的,我有 3000 台服务器,如果使用微软的 Windows NT 系统,我需要 2999 名系统管理员。”他继续说道:“而使用 Linux,我只需要四个。”这真是完美的答案。

00:12:00 - Saron Yitbarek: 程序员们着迷的这些东西恰好对大公司也极具吸引力。但由于 FUD 的作用,一些企业对此持谨慎态度。他们听到开源,就想:“开源。这看起来不太可靠,很混乱,充满了 BUG”。但正如那位银行经理所指出的,金钱有一种有趣的魔力,可以说服人们不再踌躇。甚至那些只需要网站的小公司也加入了 Linux 阵营。与一些昂贵的专有选择相比,使用一个廉价的 Linux 系统在成本上是无法比拟的。如果你是一家雇佣专业人员来构建网站的商店,那么你肯定想让他们使用 Linux。

00:12:30 - Saron Yitbarek: 让我们快进几年。Linux 充当着几乎所有网站的服务器,Linux 已经征服了服务器世界,然后智能手机也随之诞生。当然,苹果和他们的 iPhone 占据了相当大的市场份额,而且微软也希望能进入这个市场。但令人惊讶的是,Linux 已经等在那里并做好准备,迫不及待要大展拳脚。

这是作家兼记者 James Allworth。

00:13:00 - James Allworth: 肯定还有容纳第二个竞争者的空间,那本可以是微软,但是实际上却是 Android,而 Andrid 是基于 Linux 的。众所周知,Android 被谷歌所收购,现在运行在世界上大部分的智能手机上,谷歌在 Linux 的基础上创建了 Android。Linux 使他们能够以零成本,基于一个非常复杂的操作系统构建一个新的东西。他们盘算着推广这个系统,并最终成功地实现了这一目标。至少从操作系统的角度来看是这样,他们将微软挡在了下一代手机竞争之外。

00:13:30 - Saron Yitbarek: 这可是个大地震,很大程度上,微软有被埋没的风险。John Gossman 是微软 Azure 团队的首席架构师。他还记得当时公司的迷茫。

00:14:00 - John Gossman: 像许多公司一样,微软也非常担心知识产权污染。他们认为,如果允许开发人员使用开源代码,即使只是将一些代码复制粘贴到某些产品中,也会让某种病毒式的许可证生效从而引发未知的风险……他们也很困惑,我认为,这跟公司文化有关,很多公司,包括微软,都对开源开发的意义和商业模式之间的分歧感到困惑。有一种观点认为,开源意味着你所有的软件都是免费的,人们永远不会付钱。

00:14:30 - Saron Yitbarek: 任何习惯于投资于旧的、专有软件模式的人都会觉得这里发生的一切对他们构成了威胁。当你威胁到像微软这样的大公司时,是的,他们一定会做出反应。他们推动所有这些 FUD —— 恐惧、不确定性和怀疑是有道理的。当时,商业运作的方式基本上就是相互竞争。不过,如果是其他公司的话,他们可能还会一直怀恨在心,抱残守缺,但到了 2013 年的微软,一切都变了。

00:15:00 - Saron Yitbarek: 微软的云计算服务 Azure 上线了,令人震惊的是,它从第一天开始就提供了 Linux 虚拟机。 史蒂夫·鲍尔默 Steve Ballmer ,这位把 Linux 称为癌症的首席执行官,已经离开了,代替他的是一位新的有远见的首席执行官 萨提亚·纳德拉 Satya Nadella

John Gossman: 萨提亚有不同的看法,他属于另一个世代。比保罗、比尔和史蒂夫更年轻的世代,他对开源有不同的看法。

Saron Yitbarek: 这是John Gossman,他还是来自微软 Azure 团队。

00:15:30 - John Gossman: 大约四年前,出于实际需要,我们在 Azure 中添加了 Linux 支持。如果访问任何一家企业客户,你都会发现他们并不是现在才决定是使用 Windows 还是使用 Linux、使用 .net 还是使用 Java。他们在很久以前就做出了决定 —— 大约 15 年前,虽然对此有一些争论。

00:16:00 - John Gossman: 现在,我见过的每一家公司都混合了 Linux 和 Java、Windows 和 .net、SQL Server、Oracle 和 MySQL —— 基于专有源代码的产品和开放源代码的产品。

如果你打算运维一个云服务,允许这些公司在云上运行他们的业务,那么你根本不能告诉他们,“你可以使用这个软件,不能使用那个软件。”

00:16:30 - Saron Yitbarek: 这正是萨提亚·纳德拉采纳的哲学思想。2014 年秋季,他站在舞台上,希望传递一个重要信息。“微软爱 Linux”。他接着说,“20% 的 Azure 业务已经是 Linux 了,微软将始终对 Linux 发行版提供一流的支持。”没有哪怕一丝对开源的宿怨。

为了说明这一点,在他们的背后有一个巨大的标志,上面写着:“Microsoft ❤️ Linux”。哇噢。对我们中的一些人来说,这种转变有点令人震惊,但实际上,无需如此震惊。下面是 Steven Levy,一名科技记者兼作家。

00:17:00 - Steven Levy: 当你在踢足球的时候,如果草坪变滑了,那么你也许会换一种不同的鞋子。微软当初就是这么做的。

00:17:30 - Steven Levy: 他们不能否认现实,而且他们也是聪明人。所以他们必须意识到,这就是这个世界的运行方式。即使他们有一点尴尬,但是不管他们早些时候说了什么现在都要抛开。不然让他们之前那些“开源多么可怕”的言论影响到现在的决策,才真的是不明智之举。

00:18:00 - Saron Yitbarek: 微软低下了它高傲的头。你可能还记得苹果公司,经过多年的孤立无援,最终转向与微软构建合作伙伴关系。现在轮到微软进行 180 度转变了。经过多年的与开源方式的战斗后,他们正在重塑自己。要么改变,要么死亡。下一个发言的是 Steven Vaughan-Nichols。

00:18:30 - Steven Vaughan-Nichols: 即使是像微软这样规模的公司,也无法与数千个开发着包括 Linux 在内的其它开源大项目的开发者竞争。很长时间以来他们都不愿意合作,前微软首席执行官史蒂夫·鲍尔默对 Linux 用接近信仰的方式深恶痛绝。由于它使用的 GPL 许可证,他视 Linux 为一种癌症。不过一旦鲍尔默被扫地出门,新的微软领导层表示,“这就好像试图命令潮流不要过来,但潮水依然会不断涌进来。我们应该与 Linux 合作,而不是与之对抗。”

00:19:30 - Steven Vaughan-Nichols: 2017 年的微软既不是史蒂夫·鲍尔默的微软,也不是比尔·盖茨的微软。这是一家完全不同的公司,有着完全不同的理念,而且,一旦使用了开源,你就无法退回到之前的阶段。开源已经吞噬了整个技术世界。从未听说过 Linux 的人可能对它并不了解,但是每次他们访问 Facebook,他们都在运行 Linux。每次执行谷歌搜索时,你都在运行 Linux。

00:20:00 - Steven Vaughan-Nichols: 每次你用 Android 手机,你都在运行 Linux。它确实无处不在,微软无法阻止它,而且我认为,以为微软想用某种方式接管它的想法太天真了。

00:20:30 - Saron Yitbarek: 开源支持者可能一直担心微软会像混入羊群中的狼一样,但事实是,开源软件的本质保护了它,让它无法被完全控制。没有一家公司能够拥有 Linux 并以某种特定的方式控制它。Greg Kroah-Hartman 是 Linux 基金会的一名成员。

Greg Kroah-Hartman: 每个公司和个人都因为自己的利益对 Linux 做出贡献。他们之所以这样做是因为他们想要解决他们所面临的问题,可能是硬件无法工作,或者是他们想要添加一个新功能来做其他事情,又或者想引导 Linux 的开发轨道,这样他们的新产品就能使用它。这很棒,因为他们会把代码贡献回去,此后每个人都会从中受益,这样每个人都可以用到这份代码。正是因为这种自私,所有的公司,所有的人都能从中受益。

00:21:00 - Saron Yitbarek: 微软已经意识到,在即将到来的云战争中,与 Linux 作战就像与空气作战一样。Linux 和开源不是敌人,它们是空气。如今,微软以白金会员的身份加入了 Linux 基金会。他们成为 GitHub 开源项目的头号贡献者。

00:21:30 - Saron Yitbarek: 2017 年 9 月,他们甚至加入了 开源促进联盟 Open Source Initiative (OSI)。现在,微软在开源许可证下发布了很多代码。微软的 John Gossman 描述了他们开源 .net 时所发生的事情。起初,他们并不认为自己能得到什么回报。

00:22:00 - John Gossman: 我们本没有指望来自社区的贡献,然而,三年后,超过 50% 的对 .net 框架库的贡献来自于微软之外,这些是大量的代码。三星为 .net 提供了 ARM 支持。Intel 和 ARM 以及其他一些芯片厂商已经为 .net 框架贡献了特定于他们处理器的代码,以及数量惊人的修复 bug、性能改进等等 —— 既有单个贡献者也有社区。

Saron Yitbarek: 直到几年前,今天的这个微软,这个开放的微软,还是不可想象的。

00:22:30 - Saron Yitbarek: 我是 Saron Yitbarek,这里是代码英雄。好吧,我们已经看到了为了赢得数百万桌面用户的爱而战的激烈场面。我们已经看到开源软件在专有软件巨头的背后悄然崛起,并攫取了巨大的市场份额。

00:23:00 - Saron Yitbarek: 我们已经看到了一批批的代码英雄将编程领域变成了我你今天看到的这个样子。如今,大企业正在吸收开源软件,通过这一切,每个人都从他人那里受益。

00:23:30 - Saron Yitbarek: 在技术的西部荒野,一贯如此。苹果受到施乐的启发,微软受到苹果的启发,Linux 受到 UNIX 的启发。进化、借鉴、不断成长。如果比喻成大卫和歌利亚(LCTT 译注:西方经典的以弱胜强战争中的两个主角)的话,开源软件不再是大卫,但是,你知道吗?它也不是歌利亚。开源已经超越了这些角色,它成为了其他人战斗的战场。随着开源变得不可避免,新的战争,那些在云计算中进行的战争,那些在开源战场上进行的战争正在加剧。

这是 Steven Levy,他是一名作者。

00:24:00 - Steven Levy: 基本上,到目前为止,包括微软在内,有四到五家公司,正以各种方式努力把自己打造成为全方位的平台,比如人工智能领域。你能看到智能助手之间的战争,你猜怎么着?苹果有一个智能助手,叫 Siri。微软有一个,叫 Cortana。谷歌有谷歌助手,三星也有一个智能助手,亚马逊也有一个,叫 Alexa。我们看到这些战斗遍布各地。也许,你可以说,最热门的人工智能平台将控制我们生活中所有的东西,而这五家公司就是在为此而争斗。

00:24:30 - Saron Yitbarek: 如果你正在寻找另一个反叛者,它们就像 Linux 奇袭微软那样,偷偷躲在 Facebook、谷歌或亚马逊身后,你也许要等很久,因为正如作家 James Allworth 所指出的,成为一个真正的反叛者只会变得越来越难。

00:25:00 - James Allworth: 规模一直以来都是一种优势,但规模优势本质上……怎么说呢,我认为以前它们在本质上是线性的,现在它们在本质上是指数型的了,所以,一旦你开始以某种方法走在前面,另一个新玩家要想赶上来就变得越来越难了。我认为在互联网时代这大体来说来说是正确的,无论是因为规模,还是数据赋予组织的竞争力的重要性和优势。

00:25:30 - James Allworth: 一旦你走在前面,你就会吸引更多的客户,这就给了你更多的数据,让你能做得更好,这之后,客户还有什么理由选择排名第二的公司呢,难道是因为因为他们落后了这么远么?我认为在云的时代这个逻辑也不会有什么不同。

00:26:00 - Saron Yitbarek: 这个故事始于史蒂夫·乔布斯和比尔·盖茨这样的非凡的英雄,但科技的进步已经呈现出一种众包、自有生命的感觉。我认为据说我们的开源英雄林纳斯·托瓦兹在第一次发明 Linux 内核时甚至没有一个真正的计划。他无疑是一位才华横溢的年轻开发者,但他也像潮汐前的一滴水一样。变革是不可避免的。据估计,对于一家专有软件公司来说,用他们老式的、专有的方式创建一个 Linux 发行版将花费他们超过 100 亿美元。这说明了开源的力量。

00:26:30 - Saron Yitbarek: 最后,这并不是一个专有模型所能与之竞争的东西。成功的公司必须保持开放。这是最大、最终极的教训。还有一点要记住:当我们团结在一起的时候,我们在已有基础上成长和建设的能力是无限的。不管这些公司有多大,我们都不必坐等他们给我们更好的东西。想想那些为了纯粹的创造乐趣而学习编码的新开发者,那些自己动手丰衣足食的人。

未来的优秀程序员无管来自何方,只要能够访问代码,他们就能构建下一个大项目。

00:27:00 - Saron Yitbarek: 以上就是我们关于操作系统战争的故事。这场战争塑造了我们的数字生活的形态,争夺主导地位的斗争从桌面转移到了服务器机房,最终进入了云计算领域。过去的敌人难以置信地变成了盟友,众包的未来让一切都变得开放。

00:27:30 - Saron Yitbarek: 听着,我知道,在这段历史之旅中,还有很多英雄我们没有提到。所以给我们写信吧,分享你的故事。Redhat.com/commandlineheroes 。我恭候佳音。

在本季剩下的时间里,我们将学习今天的英雄们在创造什么,以及他们要经历什么样的战斗才能将他们的创造物带入我们的生活。让我们从壮丽的编程一线,回来看看更多的传奇故事吧。我们每两周放一集新的博客。几周后,我们将为你带来第三集:敏捷革命。

00:28:00 - Saron Yitbarek: 代码英雄是一款红帽公司原创的播客。要想免费自动获得新一集的代码英雄,请订阅我们的节目。只要在苹果播客、Spotify、Google Play,或其他应用中搜索“Command Line Heroes”。然后点击“订阅”。这样你就会第一个知道什么时候有新剧集了。

我是 Saron Yitbarek。感谢收听,在下期节目之前,请坚持编程。

什么是 LCTT SIG 和 LCTT LCRH SIG

LCTT SIG 是 LCTT 特别兴趣小组 Special Interest Group ,LCTT SIG 是针对特定领域、特定内容的翻译小组,翻译组成员将遵循 LCTT 流程和规范,参与翻译,并获得相应的奖励。LCRH SIG 是 LCTT 联合红帽(Red Hat)发起的 SIG,当前专注任务是《代码英雄》系列播客的脚本汉化,已有数十位贡献者加入。敬请每周三、周五期待经过我们精心翻译、校对和发布的译文。欢迎加入 LCRH SIG :</article-12436-1.html>

关于重制版

本系列第一季的前三篇我们已经发布过,这次根据新的 SIG 规范重新修订发布。


via: https://www.redhat.com/en/command-line-heroes/season-1/os-wars-part-2-rise-of-linux

作者:redhat 选题:lujun9972 译者:lujun9972 校对:acyanbird

本文由 LCTT 原创编译,Linux中国 荣誉推出

代码英雄讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。

什么是《代码英雄》

代码英雄 Command Line Heroes 是世界领先的企业开源软件解决方案供应商红帽(Red Hat)精心制作的原创音频播客,讲述开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。该音频博客邀请到了谷歌、NASA 等重量级企业的众多技术大牛共同讲述开源、操作系统、容器、DevOps、混合云等发展过程中的动人故事。

本文是《代码英雄》系列播客第一季(1):操作系统战争(上)音频脚本。

Saron Yitbarek: 有些故事如史诗般,惊险万分,在我脑海中似乎出现了星球大战电影开头的滑动文本。你知道的,就像 ——

配音: “第一集,操作系统大战”

Saron Yitbarek: 是的,就像那样子。

00:00:30 - 配音: 这是一个局势加剧紧张的时期。 比尔·盖茨 Bill Gates 史蒂夫·乔布斯 Steve Jobs 的帝国发起了一场无可避免的专有软件之战。盖茨与 IBM 结成了强大的联盟,而乔布斯则拒绝开放它的硬件和操作系统授权。他们争夺统治地位的战争,简直席卷了操作系统的“银河系”。与此同时,在这些“帝王们”所不知道的偏远之地,信奉开源的“反叛者们”开始聚集。

00:01:00 - Saron Yitbarek: 好吧。这也许有点戏剧性,但当我们谈论上世纪八九十年代和 2000 年左右的操作系统之争时,这也不算言过其实。确实曾经发生过一场史诗级的统治之战。史蒂夫·乔布斯和比尔·盖茨确实掌握着许多人的命运。掌控了操作系统,你就掌握了绝大多数人使用计算机的方式、互相通讯的方式、获取信息的方式。我可以一直罗列下去,不过你知道我的意思。掌握了操作系统,你就是帝王。

00:01:30 - Saron Yitbarek: 我是 Saron Yitbarek,你现在收听的是代码英雄,一款红帽公司原创的博客节目。你问什么是 代码英雄 Command Line Hero ?嗯,如果你愿意用创造代替使用,如果你相信开发者拥有构建美好未来的能力,如果你希望拥有一个大家都有权利用科技塑造生活的世界,那么你,我的朋友,就是一位代码英雄。在本系列节目中,我们将为你带来那些“白码起家”(LCTT 译注:原文是 “from the command line up”,应该是演绎自 “from the ground up” —— 白手起家)改变技术的程序员故事。

00:02:00 - Saron Yitbarek: 那么我是谁,凭什么指引你踏上这段艰苦的旅程?Saron Yitbarek 是哪根葱?嗯,事实上我觉得我跟你差不多。我是一名为初学者服务的开发人员,我做的任何事都依赖于开源软件,我的世界就是如此。通过在博客中讲故事,我可以跳出无聊的日常工作,鸟瞰全景,希望这对你也一样有用。

00:02:30 - Saron Yitbarek: 我迫不及待地想知道,开源技术从何而来?我的意思是,我对 林纳斯·托瓦兹 Linus Torvalds 和 Linux^® 的荣耀有一些了解,我相信你也一样。但是说真的,开源并不是一开始就有的对吗?如果我想发表对这些最新、最棒的技术 —— 比如 DevOps 和容器的感激,我感觉我亏欠那些早期的开发者许多,我有必要了解这些东西来自何处。所以,让我们暂时先不用担心内存泄露和缓冲溢出。我们的旅程将从操作系统之战开始,这是一场波澜壮阔的桌面控制之战。

00:03:00 - Saron Yitbarek: 这场战争亘古未有,因为:首先,在计算机时代,大公司拥有指数级的规模优势;其次,从未有过这么一场控制争夺战是如此变化多端。比尔·盖茨和史蒂夫·乔布斯? 目前为止他们也不知道事情会如何发展,但是到这个故事进行到一半的时候,他们所争夺的所有东西都将发生改变、进化,最终上升到云端。

00:03:30 - Saron Yitbarek: 好的,让我们回到 1983 年的秋季,还有六年我才出生。那时候的总统还是 罗纳德·里根 Ronald Reagan ,美国和苏联扬言要把地球拖入核战争之中。在檀香山(火奴鲁鲁)的市政中心正在举办一年一度的苹果公司销售会议。一群苹果公司的员工正在等待史蒂夫·乔布斯上台。他 28 岁,热情洋溢,看起来非常自信。乔布斯很严肃地对着麦克风说,他邀请了三个行业专家,来就他的软件进行了一次小组讨论。

00:04:00 - Saron Yitbarek: 然而随后发生的事情你肯定想不到。超级俗气的 80 年代音乐响彻整个房间,一堆多彩灯管照亮了舞台,然后一个播音员的声音响起 ——

配音: 女士们,先生们,现在是麦金塔软件的约会游戏时间。

00:04:30 - Saron Yitbarek: 当乔布斯意识到这三个 CEO 都要向他轮流示好的时候,脸上露出一个大大的笑容。他简直就是 80 年代科技界的钻石王老五。两个软件大佬讲完话后就轮到第三个人讲话了,事情就这样结束了?才不是呢。新面孔比尔·盖茨带着一个大大的,遮住了半张脸的方框眼镜。他宣称在 1984 年,微软的一半收入将来自于麦金塔软件。他的这番话引来了观众热情的掌声。

00:05:00 - Saron Yitbarek: 但是他们不知道的是,在一个月后,比尔·盖茨将会宣布发布 Windows 1.0 的计划。你永远也猜不到乔布斯正在跟苹果未来最大的敌人打情骂俏,但微软和苹果即将举行科技史上最糟糕的婚礼。他们会彼此背叛、相互毁灭,但又深深地、痛苦地捆绑在一起。

00:05:30 - James Allworth: 我猜从哲学角度上来讲,苹果是更理想化、注重用户体验高于一切,一体化的组织,而微软则更务实,更模块化 ——

Saron Yitbarek: 这位是 James Allworth。他是一位高产的科技作家,曾在苹果零售的企业团队工作。注意他对苹果的定义,一个一体化的组织,那种只对自己负责,不想依赖别人的公司,这是关键。

00:06:00 - James Allworth: 苹果是一家一体化的公司,它希望专注于令人愉悦的用户体验,这意味着它希望控制整个技术栈以及交付的一切内容:从硬件到操作系统,甚至运行在操作系统上的应用程序。新的,重要的创新需要横跨软硬件才能很好地进入市场。当你能够根据自己意愿来改变软件和硬件时,你就有了极大的优势。例如 ——

00:06:30 - Saron Yitbarek: 很多人喜欢这种一体化的模式,并因此成为了苹果的铁杆粉丝,不过还有是很多人则选择了微软。让我们回到檀香山的销售会议上,在同一场活动中,乔布斯向观众展示了他即将发布的超级碗广告,你可能已经亲眼见过这则广告了。想想 乔治·奥威尔 George Orwell 的 《一九八四》。在这个冰冷、灰暗的世界里,无意识的机器人正在独裁者投射的凝视下徘徊。

00:07:00 - Saron Yitbarek: 这些机器人就像是 IBM 的用户们。然后,代表苹果公司的,漂亮而健美的 安娅·梅杰 Anya Major 穿着鲜艳的衣服跑过大厅。她向着大佬们的屏幕猛地投出大锤,将它砸成了碎片。老大哥的咒语解除了,一个低沉的声音响起,苹果公司要开始介绍麦金塔了。

配音: 这就是为什么我们的 1984 年,跟小说《一九八四》描写的不一样。

00:07:30 - Saron Yitbarek: 是的,现在回顾那则广告,认为苹果是一个致力于解放大众的自由斗士的想法有点过分,但这件事触动了我的神经。Ken Segal 曾在为苹果制作这则广告的广告公司工作过,他为史蒂夫·乔布斯工作了十多年。

00:08:00 - Ken Segal: 1984 这则广告的负担的风险很大。事实上,它的风险实在太大,乃至苹果公司在看到它的时候都不想播出它。你可能听说了史蒂夫喜欢它,但苹果公司董事会的人并不喜欢它。事实上他们很愤怒,为什么这么多钱被花在这样一件事情上,以至于他们想解雇广告代理商。史蒂夫则为我们公司辩护。

Saron Yitbarek: 乔布斯一如既往地,慧眼识英雄。

Ken Segal: 这则广告在公司内、在业界内都引起了共鸣,成为了苹果产品的代表。无论人们那天是否有在购买电脑,它都带来了一种持之以恒的影响,并让大家在心里定义了这家公司的立场:我们是叛军,我们是拿着大锤的人。

00:08:30 - Saron Yitbarek: 因此,在争夺数十亿潜在消费者心智的过程中,苹果公司和微软公司的帝王们正在学着把自己塑造成救世主、非凡的英雄,选择自己就是选择一种生活方式。但比尔·盖茨明白一些苹果难以理解的事情,那就是在一个相互连接的世界里,没有人 —— 即便他是帝王,能独自完成任务。

00:09:00 - Saron Yitbarek: 1985 年 6 月 25 日。盖茨给当时的苹果 CEO John Scully 发了一份备忘录。那是一个迷失的年代。乔布斯刚刚被逐出公司,直到 1996 年才回到苹果。也许正是因为乔布斯离开了,盖茨才敢写这份东西。在备忘录中,他鼓励苹果授权制造商分发他们的操作系统。我想读一下备忘录的最后部分,让你们知道这份备忘录是多么的有洞察力。

00:09:30 - Saron Yitbarek: 盖茨写道:“如果没有其他个人电脑制造商的支持,苹果现在不可能让他们的创新技术成为标准。苹果必须开放麦金塔的架构,以获得个人建造商的支持来快速发展和建立标准。”换句话说,你们不要再自己玩自己的了。你们必须有与他人合作的意愿。你们必须与开发者合作。

00:10:00 - Saron Yitbarek: 多年后你依然可以看到这条思想的哲学性,当微软首席执行官 史蒂夫·鲍尔默 Steve Ballmer 上台做主题演讲时,他开始大喊:“开发者、开发者、开发者、开发者、开发者、开发者、开发者、开发者、开发者。”你懂我的意思了吧。微软喜欢开发人员。虽然目前(LCTT 译注:本播客发布于 2018 年初)他们不打算与这些开发人员共享源代码,但是他们确实想建立起整个为合作伙伴服务的生态系统。

00:10:30 - Saron Yitbarek: 而当比尔·盖茨建议苹果公司也这么做时,如你可能已经猜到的,这个想法被苹果公司抛到了九霄云外。他们的关系产生了间隙,五个月后,微软发布了 Windows 1.0。战争开始了。

开发者、开发者、开发者、开发者、开发者、开发者、开发者、开发者、开发者、开发者、开发者、开发者、开发者、开发者、开发者、开发者、开发者、开发者。

00:11:00 - Saron Yitbarek: 你正在收听的是来自红帽公司的原创播客《代码英雄》。本集是第一集,我们将回到过去,重温操作系统战争的史诗,我们将会发现,科技巨头之间的战争,是如何为我们今天所生活的开源世界开辟前路的。

00:11:30 - Saron Yitbarek: 好的,让我们先来个背景故事吧,它很经典。如果你已经听过了,那么请原谅我。当时是 1979 年,史蒂夫·乔布斯开车去 帕洛阿尔托 Palo Alto 施乐公园研究中心 Xerox Park research center 。那里的工程师一直在为他们所谓的图形用户界面,开发一系列的元素。也许你听说过,它们有菜单、滚动条、按钮、文件夹和层叠的窗口。这是对计算机界面的一个前所未有的美丽新设想。作家兼记者 Steve Levy 谈到了它的潜力。

00:12:00 - Steven Levy: 这个新界面有很多令人感到激动的地方,它比以前的交互界面更友好,以前用的交互界面被称为命令行 —— 这不是在现实生活中使用的交互方式。鼠标和电脑上的图像,让你可以像指向现实生活中的东西一样,指向电脑上的东西。这让事情变得简单多了,你不需要记住那些代码。

00:12:30 - Saron Yitbarek: 不过,施乐的高管们并没有意识到他们正坐在金矿上。一如既往地,工程师比主管们更清楚它的价值。因此那些工程师,在被要求向乔布斯展示这些东西是如何工作时,有点紧张。然而这毕竟是高管的命令。用乔布斯的话来说,他认为“这个天才产品本来能够让施乐公司垄断整个行业,可是它最终会被公司的经营者毁掉,因为他们对产品的好坏没有概念。”

00:13:00 - Saron Yitbarek: 这话有些苛刻,但是,乔布斯带着一卡车施乐高管忽视的想法离开了会议。这几乎包含了所有,他革新桌面计算体验需要的东西。1983 年,苹果发布了 Lisa 电脑,1984 年又发布了 Mac 电脑。这些设备的创意都是抄袭自施乐公司的。

00:13:50 - Saron Yitbarek: 让我感兴趣的是,乔布斯对控诉他偷了图形用户界面的反应。他对此很冷静,他引用毕加索的话:“好的艺术家抄袭,伟大的艺术家偷窃。”他告诉一位记者,“我们总是无耻地窃取伟大的创意。”伟大的艺术家偷窃,好吧,我的意思是,我们说的并不是严格意义上的“偷窃”。没人拿到了专有的源代码并公然将其集成到他们自己的操作系统中去。这事情更温和些,更像是创意的借用。但乔布斯自己即将学到,这东西很难以控制。传奇的软件奇才、真正的代码英雄 Andy Hertzfeld 就是麦金塔开发团队的最初成员。

00:14:00 - Andy Hertzfeld: 是的,微软是麦金塔电脑软件的第一个合作伙伴。当时,我们并没有把他们当成是竞争对手。他们是苹果之外,我们第一家交付麦金塔电脑原型的公司。我通常每周都会和微软的技术主管聊一次,他们是第一个试用我们所编写软件的外部团队。

00:14:30 - Andy Hertzfeld: 他们给了我们非常重要的反馈,总的来说,我认为我们的关系非常好。但我也注意到,在我与技术主管的交谈中,他开始问一些系统实现方面的问题,而他本无需知道这些,我觉得他们想要复制麦金塔电脑。我很早以前就向史蒂夫·乔布斯反馈过这件事,但在 1983 年秋天,这件事发展到了高潮。

00:15:00 - Andy Hertzfeld: 我们发现,他们在 1983 年 11 月的 COMDEX 上发布了 Windows,但却没有提前告诉我们。对此史蒂夫·乔布斯勃然大怒,他认为那是一种背叛。

00:15:30 - Saron Yitbarek: 很明显,微软从苹果那里学到了,苹果从施乐那里学来的所有想法。随着新版 Windows 的发布,乔布斯变得很易怒。他发表的伟大艺术家善于偷窃的毕加索名言被别人学去了 —— 盖茨也正是这么做的。据报道,当乔布斯怒斥盖茨偷了他们的东西时,盖茨回应道:“史蒂夫,我觉得这更像是我们都有一个叫施乐的富有邻居,我闯进他家偷电视机,却发现你已经偷过了”。苹果最终以窃取 GUI 的外观和风格为名起诉了微软。这个案子持续了好几年,但是在 1993 年,第 9 巡回上诉法院的一名法官最终站在了微软一边。

00:16:00 - Saron Yitbarek: Vaughn Walker 法官宣布外观和风格不受版权保护,这是非常重要的事情。这一决定让苹果再无法垄断桌面计算的界面。很快,苹果短暂的领先优势消失了。以下是 Steven Levy 的观点。

00:16:30 - Steven Levy: 他们之所以失去领先地位,不是因为微软方面窃取了知识产权,而是因为他们无法巩固自己在上世纪 80 年代就拥有的,更优越的操作系统的优势。坦率地说,他们的电脑索价过高。微软从 20 世纪 80 年代中期开始开发 Windows 系统,但直到 1990 年才开发出来 Windows 3。我想,这算是第一个开启黄金时代的版本,真正可供大众使用。

00:17:00 - Steven Levy: 从此以后,微软能够将数以亿计的用户迁移到图形界面,而这是苹果无法做到的。虽然苹果公司有一个非常好的操作系统,但是那已经是 1984 年的产品了。

00:17:30 - Saron Yitbarek: 现在微软主导着操作系统的战场。他们占据了 90% 的市场份额,并且针对各种各样的个人电脑进行了标准化。操作系统的未来看起来会由微软掌控。在此后发生了什么?1997 年,波士顿 Macworld 博览会上,你看到了一个几近破产的苹果,一个比之前谦逊得多的史蒂夫·乔布斯走上舞台,开始谈论伙伴关系的重要性 —— 特别是他们与微软的。史蒂夫·乔布斯呼吁双方缓和关系,停止火拼,微软将坐享巨大的市场份额。从表面看,我们可能会认为世界和平了。

00:18:00 - Saron Yitbarek: 但当利益如此巨大时,事情就没那么简单了。就在苹果和微软在数十年的争斗中伤痕累累、最终败退到死角之际,一名 21 岁的芬兰计算机科学专业学生出现了。十分偶然的,他彻底改变了一切。

我是 Saron Yitbarek,这里是代码英雄。

00:18:30 - Saron Yitbarek: 正当某些科技巨头正忙着就专有软件相互攻击时,自由软件和开源软件的新领军者如雨后春笋般涌现。其中一位优胜者就是 理查德·斯托曼 Richard Stallman ,你也许对他的工作很熟悉,他想要拥有自由软件的自由社会。这就像言论自由一样的 自由 free ,而不是像免费啤酒一样的 免费 free 。早在 80 年代,斯托尔曼就发现,除了昂贵的专有操作系统(如 UNIX)外,没有其他可行的替代品,因此他决定自己做一个。斯托尔曼的 自由软件基金会 Free Software Foundation 开发了 GNU,当然,它的意思是 “GNU's not UNIX”。它将是一个像 UNIX 一样的操作系统,但不包含 UNIX 代码,而且所有用户可以自由共享它。

00:19:00 - Saron Yitbarek: 为了让你体会到上世纪 80 年代自由软件概念的重要性,从不同角度来说拥有 UNIX 代码的两家公司, AT&T 贝尔实验室 AT&T Bell Laboratories 以及 UNIX 系统实验室 UNIX System Laboratories 威胁将会起诉任何看过 UNIX 源代码后又创建自己操作系统的人。这些人是次级专利所属。

00:19:30 - Saron Yitbarek: 用这两家公司的话来说,所有这些程序员都在“精神上受到了污染”,因为他们都见过 UNIX 代码。在 UNIX 系统实验室和 伯克利软件设计公司 Berkeley Software Design 之间的一个著名的法庭案例中,有人认为即使它本身没有使用 UNIX 代码,拥有类似功能的系统也侵犯版权。Paul Jones 当时是一名开发人员。他现在是数字图书馆 ibiblio。org 的主管。

00:20:00 - Paul Jones: 他们的观点是,任何看过代码的人,都受到了精神污染。因此,几乎所有在安装有与 UNIX 相关操作系统的电脑上工作过的人,以及任何在计算机科学部门工作的人都受到精神上的污染。在 USENIX 的一年里,我们都得到了一个写着红色字母的白色小别针,上面写着“精神受到了污染”。我们很喜欢带着这些别针到处走,以表达我们曾经跟着贝尔实验室混,所以我们的精神受到了污染。

00:20:30 - Saron Yitbarek: 整个世界都被精神污染了。想要保持纯粹、保持事物的美好,和完整地拥有一个软件的旧思想正变得越来越不现实。正是在这被污染的现实中,历史上最伟大的代码英雄之一诞生了,他是一个芬兰男孩,名叫 林纳斯·托瓦兹 Linus Torvalds 。如果这是《星球大战》,那么林纳斯·托瓦兹就是我们的 卢克·天行者 Luke Skywalker 。他是赫尔辛基大学的一名温文尔雅的研究生。

00:21:00 - Saron Yitbarek: 有才华,但缺乏大志,典型的被逼上梁山的英雄。和其他年轻的英雄一样,他也感到沮丧。他想把 386 处理器整合到他的新电脑中。他对自己兼容 IBM 的电脑上运行 MS-DOS 操作系统并不感冒,也负担不起 UNIX 软件 5000 美元的价格,但只有 UNIX 才能让他自由地编程。解决方案是,托瓦兹在 1991 年春天基于 MINIX 开发了一个名为 Linux 的操作系统内核,他自己的操作系统内核。

00:21:30 - Steven Vaughan-Nichols: 林纳斯·托瓦兹真的只是想找点乐子而已。

Saron Yitbarek: Steven Vaughan-Nichols 是 ZDNet.com 的特约编辑,而且他从科技行业出现以来就一直在写科技行业相关的内容。

Steven Vaughan-Nichols: 当时有几个类似的操作系统。他最关注的是一个名叫 MINIX ,旨在让学生学习如何构建操作系统的项目。林纳斯看到了这些并且觉得这个它很有趣,所以他打算建立自己的操作系统。

00:22:00 - Steven Vaughan-Nichols: 所以,Liunux 实际上始于赫尔辛基的一个 DIY 项目。一切就这样开始了,基本上就是一个大孩子在玩耍,学习如何做些什么。但不同之处在于,他足够聪明、足够执着,也足够友好,能让其他人都参与进来,然后他开始把这个项目进行到底。

00:22:30 - Steven Vaughan-Nichols: 27 年后,这个项目变得比他想象的要大得多。

00:23:00 - Saron Yitbarek: 到 1991 年秋季,托瓦兹发布了 10000 行代码,世界各地的人们开始评头论足,然后进行优化、添加和修改代码。对于今天的开发人员来说似乎很正常,但请记住,在那个时候,微软、苹果和 IBM 已经在系统开发上做得很完善,虽然同时这些软件也是专有的。因此像这样的开放协作操作系统,是对这些公司一种精神上的侮辱,但随后这种开放性被奉上神坛。托瓦兹将 Linux 置于 GNU 通用公共许可证 GPL 之下。曾经保障斯托尔曼的 GNU 系统自由的许可证,现在也将保障 Linux 的自由。Vaughan-Nichols 解释道,GPL 许可基本上能永远保证软件的自由和开放性,它的重要性被怎么强调都不过分。

00:23:30 - Steven Vaughan-Nichols: 事实上,根据 Linux 所遵循的许可协议,即 GPL 第 2 版,如果你想贩卖 Linux 或者向全世界展示它,你必须与他人共享代码。所以如果你对其做了一些改进,仅仅给别人使用打包的代码是不够的,你必须和他们分享这些变化的所有细节代码。然后这些改进足够好时,也许就会被 Linux 所吸收。

00:24:00 - Saron Yitbarek: 事实证明,这种公开的方式极具吸引力。 埃里克·雷蒙德Eric Raymond 是这场运动的早期传道者之一,他在他那篇著名的文章中写道:“微软和苹果这样的公司一直在试图建造软件大教堂,而 Linux 及类似的软件则提供了一个由不同议程和方法组成的巨大集市,集市比大教堂有趣多了。”

Stormy Peters: 我认为在那个时候,真正吸引人们的是 —— 他们终于可以掌控这个属于他们的世界了。

Saron Yitbarek: Stormy Peters 是一位行业分析师,也是自由和开源软件的倡导者。

00:24:30 - Stormy Peters: 当开源软件第一次出现的时候,所有的操作系统都是专有的。如果不使用专有软件,你甚至不能添加打印机,不能添加耳机,不能自己开发一个小型硬件设备,然后让它在你的笔记本电脑上运行。你甚至不能放入 DVD 并复制它,因为你不能改变软件,即使你拥有这张 DVD,你也无法改变它的内容。

00:25:00 - Stormy Peters: 你无法掌控你购买的硬件 / 软件系统。你不能从中创造出任何新的、更大的、更好的东西。这就是为什么开源操作系统在一开始就如此重要。我们需要一个开源协作环境,在那里我们可以构建更大更好的东西。

00:25:30 - Saron Yitbarek: 请注意,Linux 并不是一个纯粹的平等乌托邦。林纳斯·托瓦兹并没有负责批准所有对内核的修改,但他主导了内核的变更。他安排了十几个人来管理内核的不同部分。这些人也会信任自己下面的人,以此类推,形成信任金字塔。变化可能来自任何地方,但它们都经过了判断和策划。

00:26:00 - Saron Yitbarek: 然而,考虑到到林纳斯的 DIY 项目一开始是多么的简陋和随意,这项成就令人十分惊讶。他完全不知道自己就是这一切中的卢克·天行者。当时他已经编程了半辈子,但当时只有 21 岁。不过当魔盒第一次被打开时,人们开始给他反馈。几十个,然后几百个,成千上万的贡献者。有了这样的众包基础,Linux 很快就开始成长,而且成长得很快,甚至最终引起了微软的注意。他们的首席执行官 史蒂夫·鲍尔默 Steve Ballmer 将 Linux 称为是“一种癌症,从知识产权的角度来看,它传染了任何它接触的东西”。Steven Levy 将会描述 Ballmer 的立场。

00:26:30 - Steven Levy: 一旦微软真正巩固了它的垄断地位 —— 而且它也确实被联邦法院判定为垄断,他们将会对任何可能对其构成威胁的事情做出强烈反应。它们很自然的将自由软件看成是一种癌症,因为微软要通过软件来赚钱。他们试图提出一个知识产权理论,来解释为什么开源对消费者不利。

00:27:00 - Saron Yitbarek: Linux 在不断传播,微软也开始担心起来。到了 2006 年,Linux 成为仅次于 Windows 的第二大常用操作系统,约有 5000 名开发者在世界各地开发它。5000 名开发者!还记得比尔·盖茨给苹果公司的备忘录吗?在那份备忘录中,他向苹果公司的员工们论述了与他人合作的重要性。事实证明,开源将把伙伴关系的概念提升到一个全新的水平,这是比尔·盖茨从未预见到的。

00:27:30 - Saron Yitbarek: 我们一直在谈论操作系统之间的大战,但是到目前为止,无名英雄和开发者们还没有完全介入战场。在下集中,情况就不同了。第二集讲的还是操作系统大战,关于 Linux 崛起的第二部分。资本们醒悟过来,认识到了开发人员的重要性。

00:28:00 - Saron Yitbarek: 这些开源反叛者变得越来越强大,战场从桌面转移到了服务器领域。这里有商业间谍活动、新的英雄人物,还有科技史上最不可思议的改变。这一切都在操作系统大战的后半集内达到了高潮。

00:28:30 - Saron Yitbarek: 要想免费自动获得新一集的代码英雄,请点击订阅苹果播客、Spotify、Google Play,或其他应用获取该播客。在这一季剩下的时间里,我们将参观最新的战场,相互争斗的版图,这里是下一代的代码英雄留下印记的地方。更多信息,请访问 https://www.redhat.com/en/command-line-heroes 。我是 Saron Yitbarek,在下次节目之前,请坚持编程。

什么是 LCTT SIG 和 LCRH SIG

LCTT SIG 是 LCTT 特别兴趣小组 Special Interest Group ,LCTT SIG 是针对特定领域、特定内容的翻译小组,翻译组成员将遵循 LCTT 流程和规范,参与翻译,并获得相应的奖励。LCRH SIG 是 LCTT 联合红帽(Red Hat)发起的 SIG,当前专注任务是《代码英雄》系列播客的脚本汉化,已有数十位贡献者加入。敬请每周三、周五期待经过我们精心翻译、校对和发布的译文。也欢迎更多贡献者加入 LCRH SIG :</article-12436-1.html>

关于重制版

本系列第一季的前三篇我们已经发布过,这次根据新的 SIG 规范重新修订发布。


via: https://www.redhat.com/en/command-line-heroes/season-1/os-wars-part-1

作者:redhat 选题:lujun9972 译者:lujun9972 校对:acyanbird

本文由 LCTT 原创编译,Linux中国 荣誉推出

今天,很高兴的告诉大家,筹备已久的 LCTT SIG - LCRH 成立啦!

什么是 LCTT SIG?

LCTT SIG 是 LCTT 特别兴趣小组 Special Interest Group ,LCTT SIG 是针对特定领域、特定内容的翻译小组,翻译组成员将遵循 LCTT 原有规范,参与翻译,并获得相应的奖励。

新的 SIG - LCRH 要翻译什么?

在 LCTT 历史的翻译文章中,《 代码英雄 Command Line Heroes 》系列是一批质量好、信息量大、阅读体验很好的有声阅读内容(“有声”部分是英文)。

而《 代码英雄 Command Line Heroes 》背后其实还有着数十篇精华文章都没有进行翻译,为了能够让更多的开发者阅读到这些好文章,Linux 中国特别与红帽(RedHat) 公司合作,获得了代码英雄的翻译授权,将这系列文章翻译成为中文,将其带给国内的开发者。

Command Line Heroes 是来自红帽公司的一款原创播客,它关注开源、软件构建,联合各嘉宾,向更多开发者传播开源知识,了解开发领域的点点滴滴。作为一个曾经荣获 Shorty Award Audience Hornor 和 Webby Award Best Branded Podcast 的播客,其内容量、丰富度、广泛度,都非普通播客可以比拟的。

出于重视,我们将代码英雄作为独立的 SIG 来进行运营,让大家可以专注在代码英雄这一个系列的内容分享和讨论。

同时,为了能够更早的让代码英雄在国内落地,LCTT 也在此邀请大家参与到 LCRH SIG 的团队中,一同进行代码英雄的翻译、校对和贡献

我们需要什么样的人?

招募对象:在校大学生、研究生、博士生或已工作但是有相对自由时间,对代码英雄有兴趣的同学、朋友。

基本原则:

  1. 我们不需要三分钟热度的人,翻译并非是图一时之快,而需要责任心与耐心。
  2. 有较好的英译汉翻译能力或听译能力,同时要有良好的汉语组织和表达水平,无证书等硬性要求,有能力即可。
  3. 具备相对固定的空余时间,能保证参与翻译,能保质保量地按时完成翻译。

你可以获得什么?

  1. 来自红帽(Red Hat)公司正式颁发的专属贡献者证书
  2. 来自红帽(Red Hat)公司特别定制的纪念礼品
  3. 来自 Linux 中国的福利礼品
  4. 翻译文章的专属署名权

如何参与

这个 SIG 的贡献协作采用传统的 QQ 群,在 QQ 中搜索群 940139452 ,加入我们,参与翻译,具体翻译流程可以进群后了解。

你感兴趣吗?