Red Hat 发布的文章

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

什么是《代码英雄》

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

本文是《代码英雄》系列播客第三季(2):学习 BASIC音频脚本。

导语:以前,成为程序员需要博士学位,还要能够接触到像服务器之类有着举足轻重地位的硬件。直到 1965 年,一群工程师有了个激进的想法:让编程变得更易学、亲民。

像 BASIC 这样专为初学者设计的语言为许多人打开了编程世界的大门。Tom Cormen 和 Denise Dumas 回忆了 BASIC 是如何改变一切的。Avi Flombaum 和 Saron 则会向这个软件开发新时代的编程新手们提供关于挑选第一门语言的建议。最后,Femi Owolade-Coombes 和 Robyn Bergeron 会向我们讲述,新一代的程序员们,是如何通过游戏来接触编程的。

这些初学者语言的诞生,让每个人都有机会踏入编程的大门。同时,这也让整个产业欣欣向荣。

00:00:02 - Saron Yitbarek

1965 年是美国历史上发生重大变化的一年。《民权法案》就是在那年签署的。

00:00:09 - 新闻档案

国会通过了史上影响最为广泛的《民权法案》,并将它写进了法律里。

00:00:12 - Saron Yitbarek

作战部队被第一次被派往越南,男人们烧掉了他们的征兵证。

00:00:19 - 新闻档案

征兵名单被放在波士顿法院的台阶上,一群高中男生挥拳抗议。

00:00:25 - Saron Yitbarek

在纽约,披头士乐队举行了世界上第一场体育馆内的音乐会。但在距离这些大新闻很远的地方,一场与众不同的革命正在酝酿。

00:00:39

5 月 1 号,凌晨 4 点。 约翰·凯梅尼 John Kemeny 教授和一名本科生正在 达特茅斯 Dartmouth 的 GE 225 型电脑上忙碌着。他们运行了一个方才写好的程序。电传打字机的三行输出,永远地改变了计算机编程领域。

00:01:04

欢迎来到红帽原创播客《代码英雄》的第三季第 2 集。我是主持人,Saron Yitbarek。在这一集,我们将继续“编程语言的过去与未来”的旅程。在第 1 集中,我们深入研究了 Python,并了解了开源社区如何在其领导阶层的大动荡中生存下来。比起上一期节目,本次节目则会更注重于个人。我会先聊聊我邂逅入门语言时的体验,这种体验我们应该都有。我将带领你们领略我学习的第一门语言 Ruby,以及某些新手语言是如何用游戏的形式,来到我们身边的。

00:01:50

不过,我得先举个例子,好让大家都能明白“新手语言”到底是什么意思。这个例子就是 BASIC,它诞生于之前提到的 达特茅斯 Dartmouth 实验室的三行输出。在 1965 年的那个黎明, 约翰·凯梅尼 John Kemeny 作为创造者之一,见证了 BASIC 的诞生。

00:02:14

BASIC 的意思是“ 初学者的泛用符号指令代码 Beginner's All Purpose Symbolic Instruction Code ”。这里面的第一个词 “初学者” 正是其不凡之处所在。在那时候,即使是少量的编程工作,也需要一名博士来完成。这是一种极高的要求,需要有人接受专业教育,更不用说那些高级的硬件了。但是 凯梅尼 Kemeny 教授和他的团队希望改变现状。他们想知道:如果要编写一种所有人都可以使用的编程语言,那会是什么样的?当美国各地的青年们剧烈地抗议,要求变革时, 达特茅斯 Dartmouth 团队提出了一种另类的革命。

00:02:57

他们的秘密武器是一个房间那么大的大型电脑 —— GE 225。它重达 2000 磅,和这份不得了的重量相匹配的是,它具备某些全新的功能。那就是分时功能(LCTT 译注:也就是时间片,实现了多用户多进程快速切换的技术)。突然间,编程不再需要复杂的打孔卡系统或庞大的开关墙了。分时意味着程序们都可以同时执行,因为系统会根据不同用户的需要来回切换其处理内容。

00:03:31

分时意味着使用者可以用惊人的新方式来访问计算机。这是来自 达特茅斯 Dartmouth 的些许录音,记录了 BASIC 刚诞生的时候,65 班的一位本科生 John McGeachie 学习的实况。

00:03:47 - John McGeachie

我们把这台相当贵的、原本只能一次让一个人用的计算机变成了可以……让超过 30 人使用的东西。30 名本科生可以同时在这上面编程,还能快速得到输出。它是史无前例的简洁直接。

00:04:15 - Saron Yitbarek

约翰·凯梅尼 John Kemeny 联合另一位计算机文化的布道师 托马斯·卡茨 Thomas Kurtz 共同开发了 BASIC 语言。他们发现,分时让计算机使用变得更亲民,因此准入门槛降低了许多。而剩下的工作则是编写一门简单直白的编程语言。 一门像 BASIC 那样的语言。

00:04:39

他们开发了像 HELLOGOODBYE 这样的指令,来代替 LOG ONLOG OFF 命令。事实上,初版 BASIC 只有 14 个简单的指令,比如条件判断 IF,和 GOTO 之类的简单选项。

00:04:54 - Tom Cormen

我是 Tom Cormen。我是 达特茅斯 Dartmouth 大学的一名计算机科学教授。

00:04:59 - Saron Yitbarek

Cormen 教授将与我们谈论所谓“初学者的革命”,以及 BASIC 的出现如何成为时代精神的一部分。它带来了一个新世界,在其中,计算机技术对更多人来说不仅不再遥不可及,甚至还是激动人心的——编程甚至变得有点时髦了。

00:05:14 - Tom Cormen

据说在 1960 年时,男学生会在这里(计算机中心)约会,我真是不能想象如果发生在现在会是什么样子。但在那个时候,计算机中心一度是约会的最佳场所。

00:05:24 - Saron Yitbarek

这种在校园兴起的编程热潮,是“初学者语言”诞生所带来的直接结果。

00:05:31 - Tom Cormen

就如同我们过去说的那样,BASIC 为那些计算机爱好者降低了准入门槛。不想学习 FORTRAN 这类编程语言的社会科学家可以使用 BASIC。从事人文艺术的人们可以用它做文本处理,甚至用来创作艺术作品,这些完全可以用 BASIC 来完成。

00:05:55

没过几年,人们就开始写电脑游戏,也时常在编程中实现 GUI。

00:06:03 - Saron Yitbarek

对于所有那些认为自己不太可能成为程序员的孩子们,编程领域的大门,突然间以一种近乎直观的方式打开了。它使得我想起来 葛丽丝·哈伯 Grace Hopper (LCTT 译注:参见上一季。元祖级程序员,美国海军准将,COBOL 的重要编写者。她也是世界上第一个在计算机领域使用 “bug” 这个词的人。)所追求的那种世界。当我们上一季谈到 哈伯 Hopper 时,我们谈到了她的语言创新如何将编程带到更多人眼前。BASIC 的此时此刻就像是 哈伯 Hopper 梦想的延续。

00:06:29 - Tom Cormen

我非常确信,如果 葛丽丝·哈伯 Grace Hopper 能看到更多人开始写代码,她会非常高兴。她可能会喜欢 BASIC 和 COBOL 的不同之处,因为这种不同为人们提供了更多的选择。他们可以写 COBOL,可以写 FORTRAN,可以写 BASIC,可以写 ALGOL,可以选择当时任何流行的语言。

00:06:54 - Saron Yitbarek

Tom Cormen 是 达特茅斯 Dartmouth 计算机科学系的一名教授。当初,计算机技术中的几大变化催生了新一代的程序员。分时功能使并发工作成为可能,而 BASIC 使入门编程变得简单了。这两个因素结合在一起,创造出了改变游戏规则的星星之火。很快,编程就不仅是大型机构的专利。这一代程序员中有像 比尔·盖茨 Bill Gates 史蒂夫·沃兹尼亚克 Steve Wozniak 这样的特立独行者,也有在个人电脑上每天默默耕耘的开发者。

00:07:32 - Denise Dumas

BASIC 能够在程序出错时立即给使用者以反馈。这让它的使用体验变得不同,它将你吸在一起,使你继续前进;这种交互是有意义的,就因为它是一种交互。

00:07:50 - Saron Yitbarek

这位是 Denise Dumas,她带领“ 红帽企业版操作系统 Red Hat® Enterprise Linux® ”工程师团队。

00:07:55 - Denise Dumas

我认为 BASIC 使编程变得民主了许多,因为 BASIC 把它自身交予学生、大众,当时的其他语言——像是 COBOL、FORTRAN 之类——根本做不到这一点。当 CRT(阴极射线管)流行的时候,BASIC 更为火爆,因为在你输入了信息之后,输出不再是被打印在一张纸上,而是显示在你面前的屏幕上。

00:08:26 - Denise Dumas

我们现在有时候会嘲笑命令行,对吧?一切都图形化了,命令行还是一如往常,但它比命令行之前的时代有了很大的改进。这一重大改进就是,你输入指令能够立即得到回应了。我认为 BASIC 降低了准入门槛,虽然我是那种控制狂,我喜欢汇编,但我还是会这么说的。BASIC 使编程变得更加平易近人。

00:08:59 - Saron Yitbarek

BASIC 在 1980 年代带来的这份激情一直延续到了今日。现在,有许多语言能被初学者用作进入编程世界的光明大道。但如今发生了另一些重要的改变:编程入门不再只有进入大学学习一途。如果将入门的方式比作道路,那么,今日,条条大路通罗马。

00:09:29

尽管 BASIC 很神奇,但 葛丽丝·哈伯 Grace Hopper 的梦想不会止步于此。如今,初学者有上百种方法可以开始编程。就我而言,我是在纽约市一家名为 Flatiron 的编程学校学习的第一门语言。我为那个项目准备了几个月,我阅读了所有可能的编程资源和教程,以确保它们也许能让我在训练营中获得最大收益。我想了解当今人们是如何接触自己的入门语言的。所以,今天我采访了自己当初的那位老师。

00:10:03 - Avi Flombaum

我是 Avi Flombaum。

00:10:04 - Saron Yitbarek

Avi 是 Flatiron 学校的创始人之一。对我来说,探究所有有关入门语言的思想,以及我们对入门语言的方法与 BASIC 的旧时代相比有什么变化,是一种享受。

00:10:26

当你教别人该如何编程时,先从哪里下手呢?我记得当我学习第一门编程语言时,我觉得这一切可真是太奇怪了。我在大学读的是英语专业,在学校里我很喜欢数学,也喜欢有机化学。我喜欢很多不同类型的科目,各种各样的东西,但是没有什么是和编程有关的。因此,我也没办法将编程比作什么。它自成一套,就像一个自己的小世界。所以,作为老师,你会从哪里开始呢?

00:10:49 - Avi Flombaum

我认为生活中你所熟悉的任何事物,曾经都是陌生的。只有经历过,真正花时间去做,才会让你对它感到习惯。这是不断重复练习的问题,只关乎你投入的时间的多少。我认为编程之所以困难,之所以让人感觉如此陌生,是因为它用极其特殊的语法来表达一些东西。没有任何歧义,没有错误的余地。要么成功,要么失败。当我们互相交流的时候,我们一般没有那种要求。一切都必须完全正确。一个逗号丢了,一个括号缺了,就全坏了。

00:11:32

我总是说,计算机是愚蠢的,为了使计算机理解我们的意思,我们必须做到完美。

00:11:37 - Saron Yitbarek

你说的这一点我喜欢。我同意,这很棒。

00:11:43 - Avi Flombaum

是啊。

00:11:44 - Saron Yitbarek

对我来说,我喜欢的入门语言是 Ruby。根据经验,我可以告诉你,这是一种非常可爱的入门语言。当你阅读代码时,感觉就像你在阅读英语。它有很多不错的库;这里插播一则知识补充。Ruby 的创造者 松本行弘 Yukihiro Matsumoto 是通过学习 BASIC 进入编程领域的。

00:12:06

如今,许多新手可能会改用 Python 或 JavaScript,而我想知道,Avi 你是否认为有最理想的入门语言。

00:12:18

我想知道,是否有首选的入门语言?如果某人没有技术背景,没有编程经验,也没有计算机科学学历而进入这个领域,那么他们就是从一开始,甚至说从零开始……随着时间的推移,有没有更好的初始语言冒出来呢?

00:12:39 - Avi Flombaum

好吧,首先,我要说的是每个人都没有背景。没有谁是天生的程序员,因此,无论你是有计算机科学学历,还是在社区中心里学习,抑或读书自学,每个人都是从初学者开始的。然后,就初学者的首选语言而言,我认为你最先看到的语言就是最好的。我对初学者的建议始终是,选择一种语言并学习它,不要改变。我认为,初学者最容易犯错的是,我先学习 Python,然后对它感到沮丧,说 Python 很烂,现在我要去用 JavaScript 了。他们学习 JavaScript,然后对 JavaScript 感到沮丧,然后又换了起来。

00:13:22

如你所知,我个人认为 Ruby 是一种很棒的初学者语言。我认为它的语法真的很漂亮。它的价值,明确地就是要使你(程序员)感到高兴。我不知道是否有其他任何使程序员开心的语言。我知道人们发明了许多语言来使机器开心,但我认为 Ruby 确实很自然。

00:13:44 - Saron Yitbarek

这一点我们可以达成共识。但是同样,这里没有错误的答案。毕竟,入门语言就是这样。它只是开始。我们所有人都有一生的时间用来学习,而且,选择一种语言而不是另一种语言,并不会阻止你成为出色的程序员。

00:14:05

我喜欢画画,但我不会为了一支笔而死去活来。我不会因为我使用的笔而大动干戈,我为我所创造的东西而激动。那么从你的经验来看,为什么会这样呢?在大家面前辩护,让大家相信你对一种编程语言的看法是正确的,这样的一种思潮是从何而来的呢?

00:14:23 - Avi Flombaum

我也不知道。因为我很喜欢你关于笔与作品的比喻,我首先想到的是……在我的设想中,人们死死地抓住工具,恐怕是因为作品并不吸引人。

00:14:41 - Saron Yitbarek

哈哈,那真好笑。

00:14:42 - Avi Flombaum

如果你做的东西就是不厉害,不伟大,对这个世界也没有太大的价值,你还想捍卫你的手艺,你唯一能指出的就是,是啊,看我把那把锤子挥得多好。当然,房子虽然倒了,但那把锤子,那把锤子真的很棒,我知道怎么用。作为一个人……我也觉得建造出的东西比你建造它的方式更重要。

00:15:09 - Saron Yitbarek

说得好。现在,初学者不止可以选择 BASIC 或者 FORTRAN,我们已经拥有一整套的入门语言清单,但总有一种危险,那就是你忘记了这些语言仍然是达到目的的一种手段。语言是工具,不是你要制作的东西。

00:15:27 - Avi Flombaum

我认为技术的价值在于,为人们创造有意义的事物。说到底,如果你确实是一名非常非常好的程序员,但是你做的东西没有人需要,没有人喜欢……它没有为世界增加价值,但是你真的真的非常擅长这门手艺,只是找不到能产生影响的方法,我想你可能会深入研究并讨论所使用的工具。

00:15:56 - Saron Yitbarek

好吧,非常感谢 Avi,感谢你分享你的所有经验以及对编程语言的想法。那我们就谈到这里?

00:16:01 - Avi Flombaum

是的,这非常好玩,很高兴再次跟你交流,我希望大家都找到自己喜欢的语言,每天都能用它来工作。

00:16:10 - Saron Yitbarek

听起来不错。

00:16:13

Avi Flombaum 是 Flatiron 学校的联合创始人之一。

00:16:20 - Saron Yitbarek

编程学校可以将教育和知识获取的精神提升到一个全新的高度。这是我们在 达特茅斯 Dartmouth 看到的一切的延续;但如今,在一个多样化的开发生态系统中,新的、更加自然的入门方式将会不断涌现,初学者们已经有了更理想的手段来开始他们的编程“游戏”;有时,他们甚至会以玩游戏的方式入门。

00:16:45 - CO.LAB 参与者

你试过其他键吗?试试 G 键。

00:16:52 - Saron Yitbarek

现在,在这暂停。这不是一群年轻的程序员在默默地背诵 O'Reilly 的课本,也不是在 Flatiron 学校的讲座。这其实是红帽在伦敦 泰特现代美术馆 Tate Modern 里运行的一个小实验室。那些孩子呢?他们在学习写代码。对于新一代来说,编程的乐趣就是他们首先体会到的。

00:17:13 - Femi Owolade-Coombes

好的。嗨,我叫 Femi,也叫 Hackerfemo。

00:17:17 - Saron Yitbarek

Femi Owolade-Coombes 只有 13 岁,但他已经是新一代程序员中的一名领袖。

00:17:26 - Femi Owolade-Coombes

我八岁的时候第一次接触到编程,那时我去 约克 York 参加一项活动。活动本身其实是数学主题的,不过我在那里看到了个很酷的东西——合法地黑入 Minecraft。作为八岁的孩子,那时候的我认为那真的很酷。所以我就这样喜欢上了编程。

00:17:47 - Saron Yitbarek

他并不孤单。Minecraft 已经将一代人引入了编程领域,而且它做到了没有过去几代人所经历的痛苦和枯燥的学习。游戏的魔力正在消除障碍。 Minecraft 是基于 Java™ 的,它也为该语言注入了新的活力,催生了一大群新的 Java 粉丝。

00:18:11

但不一定是 Java。对于 Femi来 说,Python 是他在 Minecraft 中发现的语言。

00:18:16 - Femi Owolade-Coombes

当你使用 树莓派 Raspberry Pi 版的 Minecraft 时,你可以用 Python,因为树莓派上的 Minecraft 是特殊编写的版本。它很酷,只要导入这个库,你就可以黑进去,到处放置爆炸性的 TNT;你可以在自己身后创建方块,也可以创造建筑物。你可以拿它做各种各样的事。

00:18:42

当我第一次玩它时,我发现可以添加很多类似 mod 的东西(LCTT 译注:一类加载于电子游戏上的插件,玩家可以通过 mod 改变游戏的行为方式),这很酷。mod 这东西本身就有点像黑进游戏一样,但 mod 的存在让我意识到,我们也可以用正规的方法改变游戏,让它以你希望的方式行事。我认为这真的很酷。

00:18:57 - Saron Yitbarek

Femi 打开了一个编程世界,而通往世界的大门是他最喜欢的游戏。然后,他做了一件了不起的事情。他开始向其他孩子分享那扇门。

00:19:10 - Femi Owolade-Coombes

嗯,我想与同伴分享我的知识。因为我觉得,你知道吗?他们会非常喜欢的,我也会因此度过愉快的时光。我想与其他所有人共享这些,这样他们就能了解它,甚至可以参与编程。

00:19:30 - Saron Yitbarek

Femi 将此事贯彻到底,创办了 南伦敦树莓酱 South London Raspberry Jam (LCTT 译注:这个名称典出“树莓派”;jam 也有即兴演奏的意思,常用于一些赛事。),在那里,他已经看到了全新一代的编程者,他们正挑战人们以往对编程初体验的预判。除了那些 Minecraft 黑客,像 Scratch 或 Fruit 这样的可视化语言也让越来越年轻的用户拥有基础知识可以实现编程。

00:19:54 - Femi Owolade-Coombes

我确实喜欢玩游戏这个点子,比起在课堂上学习代码,我最喜欢的是能够控制游戏中发生的事情,而代码是背后的魔法,代码给了你那种非常酷的能力,让游戏做你想要的事情。

00:20:15 - Saron Yitbarek

Femi 的妈妈告诉我们,当她发现玩游戏并非一种弊大于利的追求时,她有多么高兴。我喜欢他的故事,因为这故事是从游戏开始的,却没有结束于游戏。他建立了一个属于年轻程序员的、了不起的社区;Femi 自己的代码生涯也在起飞,不再是围绕着 Minecraft 了。他在 HTML、JavaScript 和 CSS 领域工作,建立网站,做网页设计。他甚至在用 Unity 打造自己的游戏。

00:20:44 - Femi Owolade-Coombes

每个人都应该有权利学习编程,因为这是未来。

00:20:53 - Saron Yitbarek

Minecraft 真的是一所巨型编程大学吗?明日的程序员,是否会通过游戏和玩耍来吸收新的语言呢?只通过环境渗透能否真正地学习语言?

00:21:06 - Robyn Bergeron

嗨,我叫 Robyn Bergeron。

00:21:08 - Saron Yitbarek

Robyn 是 Red Hat 的 Ansible® 社区架构师 community architect ,她有几个孩子,这些孩子们偶然间接触到了编程。

00:21:18 - Robyn Bergeron

那是晚饭时刻。我在做饭,每个人对这件事情都印象深刻。我的女儿来到厨房,她说:“妈妈,我在 Minecraft 中提交了一个错误!”我从事软件工作,我看到过很多很多错误报告,而且我真的很好奇,在那个宇宙中,这意味着什么。是说我在 Twitter 上和别人聊了聊,说它坏了,还是什么?我让她给我看看,于是她打开了电脑,她已经在 Mojang 的系统中创建了一个 JIRA 帐户。

00:21:53 - Saron Yitbarek

我们应该注意到,罗宾的女儿在当时只有 11 岁。

00:21:57 - Robyn Bergeron

她把表格填得像模像样。我见过很多内容不完整的错误报告,也见过很多口吻过于尖锐的错误报告。但这是一个完美的报告……这份报告里有说“发生了什么事”,“我预期会发生什么事”,以及“如何重现错误”。对于很多人来说,这是他们与项目的第一次互动,无论是商业的、专有的软件项目,比如一个电子游戏,还是一个开源软件项目。我很自豪,我告诉她,之后我们完全可以去参加 Minecraft 大会,因为他们一直很想去。

00:22:33 - Saron Yitbarek

Robyn 意识到,当我们其他人从事日常工作时,孩子们却开始了一场革命。以下是在那场 Minecraft 大会上发生的事情。

00:22:43 - Robyn Bergeron

我们去参加主题演讲,我说,就算我们在最后一刻去也会没事的,会在第二排找到位置。但我的设想完全错了,我们坐得就跟房间后面那 10 个大屏幕一样靠后。不过这并没有减少孩子们的热情。大会的其中一天,全体开发人员也在会议上出场了。当工程师们出来的时候,所有在场的孩子都站起来尖叫。如果你看过披头士乐队表演的视频,那这时候就像披头士乐队来美国时一样。我不能相信他们就在我们眼前,这是难以置信的一幕!在会议期间,人们都在试图得到他们的签名,这是……我和我的孩子坐在那里,我在想,我开发操作系统,连接互联网,这样你们才能在一起玩游戏吧?我们做错了什么,才会如此默默无闻呢?

00:23:36 - Robyn Bergeron

但是孩子们就像,我长大后要成为使用 JavaScript 的人!是的,那个活动带来的热烈氛围令人着迷,但……这是一个电子游戏。

00:23:51 - Saron Yitbarek

在 70 年代的某一段时间,每个人的入门语言都是 BASIC;然后可能是 C。近来,人们开始使用 Java 或 Python,但是可视化语言编程和游戏正在催生我们鲜有设想的编程未来。

00:24:10 - Robyn Bergeron

尽管对于已经从事多年编程工作的人来说,这似乎微不足道,但我开始游玩的那一刻,我甚至没有意识到,我其实是在学习一种可以让我受益终生的东西。

00:24:23 - Saron Yitbarek

Robyn Bergeron 是红帽的 Ansible 社区架构师 community architect

00:24:32

BASIC 邀请大学生进入编程世界,而 Minecraft 等游戏则邀请小学生进入当今编程世界。但是从某种意义上说,创造的动力并没有改变。那些大学生在学习 BASIC?是的,他们经常用它来编写游戏。最常见的似乎是足球题材。

00:24:54

创新精神是驱使我们学习编程语言的第一推动力。这种驱动力让我们使世界变得更好,或变得更加有趣。

00:25:08

下次,在第 3 集中,我们会讲述,全新的编程语言究竟从何而来?我们会了解到,巨大挑战是如何推动着开发人员从过去的语言中走出来,并在今天创造出新事物的。

00:25:26

《代码英雄》是 Red Hat 的原创播客。如果你想更深入地了解 BASIC 的起源或在本集中听到的其他内容,请转至 redhat.com/commandlineheroes

00:25:37

我是 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-3/learning-the-basics

作者:Red Hat 选题:bestony 译者:erlinux 校对:acyanbird, Northurland, wxy

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

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

什么是《代码英雄》

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

本文是《代码英雄》系列播客第三季(1):Python 的故事音频脚本。

导语:一位“ 仁慈的终身独裁者 benevolent dictator for life (BDFL)”的辞职,永久改变了 Python 语言的命运,Guido van Rossum 那个名为《移交权利》的备忘录,让大家的注意力集中到了语言发展这件事情上。

在这一期里,Emily Morehouse 将 Python 技术层面的拓展性和它的包容性社区联系在了一起。Michael Kennedy 解释了 Python 是如何做到在简单易学的同时,又强大到足以担当的起像 Youtube 和 Instagram 这样的大项目。而 Diane Mueller 则强调了 Python 社区是如何率先在科技领域传播了许多包容性的实践 —— 包括社区主导的决策的兴起。

有时候,一位仁慈的终身独裁者可以让一个语言开始发展,但 Python 证明了,是社区让语言兴旺起来的。

00:00:06 - Saron Yitbarek

在 2018 年 7 月 12 日的早晨,世界各地的 Python 社区成员起床之后,他们拿起一杯咖啡,打开了自己的电脑。随后一个接着一个地,看见了一条来自他们仁慈的独裁者的消息。

00:00:24

Guido van Rossum,世界上最伟大的编程语言之一 Python 的创造者,也许没有之一。他面向 Python 社区的全体成员写下这条消息,我们不难想象出 Python 的粉丝们阅读这条消息时的画面。

00:00:38 - 多个配音演员

我没想到在我已经如此努力的情况下,仍有这么多人对我的决策不满。我想把自己从决策过程中完全抽离出来,给自己一个永久的假期,让自己一辈子都不做仁慈的独裁者。你们都要靠自己了,我不会指定继任者。那么你们接下来要如何做呢,创立民主制度吗?或者保持无政府状态?

00:01:00 - Saron Yitbarek

在这条简短却惊人的消息发布之后,Guido van Rossum,这个被 Python 社区追随了几十年的人……好吧,他基本上就这样退出了。这条消息被命名为《 移交权利 Transfer of Power 》,它将永久的改变 Python 的格局。

00:01:19

不过除此之外,它又引出一个问题,那就是不光是 Python,所有的这些编程语言在未来要怎样衍变与壮大呢?是否应该由一个仁慈的独裁者把控,赋予它们形状和一致性?又或者,在开源世界里,编程语言的发展与变化是否应该更像口语,取决于所有语言使用者的行为?Python 社区,这个成长速度远超其他语言的社区,需要找到这个问题的答案。

00:01:56

我是 Saron Yitbarek ,这里是《代码英雄》第三季,一个来自红帽的原创播客。在上一季的《代码英雄》里,我们探索了广袤天地,从游戏主题出发,到失败的艺术,再到无服务器开发,最后我们甚至追踪了一台在火星表面,来自 NASA 的火星车。但是真正抓住每个人想象力的一集,似乎是 Grace Hopper 的故事。她参与开发的编译器创造出了世上第一个高级编程语言,COBOL。我们随后意识到,Grace Hopper 的故事不过是万千个塑造了软件开发与运维的世界的故事之一。新的编程语言使得我们可以连通人类与机器,它们为我们打开了一扇通往无限可能的大门。

00:02:51

因此,第三季将全部围绕这些语言展开。我们会谈论 JavaScript、BASIC、Go 以及 Perl,当然,还有 Python。我们的旅程将从 Python 开始,顺着 Python 的故事,我们会学到一个与所有编程语言未来相关的至关重要的事实。

00:03:16

在 Python 的仁慈的独裁者放弃王座之后,整个 Python 社区……呃,有些迷茫。你要如何在独裁者退位之后组织工作呢?有人提议采用 长老会 Presbyterian church 结构,不过没能奏效。要弄清楚 Python 是如何重新找到领导方式的,并了解这对其它语言的未来有什么意义,我们必须要回到 Python 故事的源头。

00:03:46 - Guido van Rossum

好吧,让我用 C 来完成全部代码,这事情变得有些枯燥。

00:03:51 - Saron Yitbarek

本尊驾到,Guido van Rossum,Python 的仁慈的独裁者。Van Rossum 曾在为阿姆斯特丹著名的 Centrum Wiskunde & Informatica 工作数年,在那里他协助开发了 ABC 编程语言。现在,他将描述他使用 C 工作时,发现对一个全新编程语言产生需求的时刻。

00:04:13 - Guido van Rossum

仍然感觉还是有着很多 bug,并且开发速度缓慢。我在想,呃,如果这里支持 ABC 语言,我可以在十五分钟内写出整个登录程序,然后我可以接着开发账户管理之类的功能,但是用 C 进行开发,却要花掉我一整个星期。我开始设想,要提出一种可以在 Amoeba 环境中使用 ABC 语言特性的方法。

00:04:47 - Saron Yitbarek

在研究编程语言的历史时我们发现,没有什么东西是全新的。它们全都是为了拼凑出解决方案而从旧语言借鉴来的。语言会不断的变化、发展、开枝散叶。当 van Rossum 被种种可能性弄得迷茫时,他设想出一个可以弥合 C 与 Shell 编程两者间隙的编程语言。一些场景下使用 C 语言往往是牛刀杀鸡,与此同时,用 Shell 脚本又常常让人感到繁琐,二者之间的最佳结合点,正是 Python 的栖身之处。当 van Rossum 在 1991 年首次发布 Python 时,它给大家都带来了启发,尤其是对系统管理员而言。这是一种前无来者,功能全面的脚本语言。

00:05:35 - Emily Morehouse

第一次使用 Python 时,我立即就爱上了它。

00:05:39 - Saron Yitbarek

这是 Emily Morehouse,目前 Python 担任核心开发者的五位女性之一。

00:05:44 - Emily Morehouse

我认为当你从接触到的像 C++ 这样的第一门语言跨越到 Python 时,发现二者之间如此显著的差异,会真的会意识到语言与其设计的优美之处。你不必去应付内存管理的毛糙的底层实现细节,它可以既快又好的构建一些项目,更不必说它还有着如此广泛的应用领域。

00:06:18 - Saron Yitbarek

Python 吸引力的关键之处,就在于它的可扩展性。举个例子,像 ABC 这样的语言,在设计上是固化单一的,无法形成一个能够真正帮助改善它的社区。反观 Python,van Rossum 在设计之初就希望 Python 是开放的、易于扩展的。

00:06:37 - Emily Morehouse

进行软件设计时,你往往需要用到一些现有的软件或系统,并且要让它们能够协同工作,其实软件设计的核心价值之一就在于确保它的可扩展性。

00:06:58 - Saron Yitbarek

听起来不怎么费脑子,但并非每一个语言都像 Python 这样,有着与生俱来的强可扩展性。事实上,一门不具备可扩展性的语言,大概率会随着自身的发展而崩溃。

00:07:16 - Emily Morehouse

Python 有一个非常有趣的设计,它允许在其内核上进行扩展。实际上,你可以在运行时环境上对系统的不同片段打补丁,假如你想要改变模块导入的方式,或者你想改变你的字符串类型或整数类型,Python 允许你用相当容易的方式去实现这些事。

00:07:44

Python 可扩展性的核心是所谓的 C 扩展,或者说是 C 模块。因此,Python 实际上被设计出来的意图,是为你提供对其它语言的切入点。本质上来讲,如果你可以写出 C 扩展或 C 模块,可以用它去桥接其它数百种语言,那么你在某种角度上算是破解了 Python 的设计,再造了一个它。

00:08:16 - Saron Yitbarek

这完全取决于用户根据自身需求调整语言的能力。所以说 Python,按照 Guido van Rossum 的设想,绝不会局限于独裁者的个人视野。他的《移交权利》备忘录由来已久。Van Rossum 明白社区影响力所能产生的力量,这是一种能够使所有人都聚集于同一顶“大帐篷”之下的力量。没错,他最终被冠以独裁者称号,但却是一名仁慈的独裁者。

00:08:44 - Emily Morehouse

我认为 Python 社区变得如此多元化,原因之一就是 Guido。Python 现在能够拥有女性核心开发者,正是因为 Guido 希望有这样的改变,并一手推动其实现。

00:09:01 - Saron Yitbarek

Python 软件基金会的主席 Naomi Ceder 曾在一次演讲中说:“Python,因语言而来,为社区而留。”这可能正是 Guido van Rossum 留下的最棒的礼物。不仅仅是 Python 语言,他更是为整个 Python 社区都创造了空间。他不仅在语法意义上为 Python 提供了可扩展性,某种角度来讲,他也在社会意义上提供了扩展性。永远都为新来者留有位置。

00:09:29 - Emily Morehouse

Python 有着大量不同的应用领域,而社区又如此多元化。。所以它真的、真的扩展了社区的边界。

00:09:51

Emily Morehouse 是 Python 核心开发者与 Cuttlesoft 的工程总监。

00:09:59

Python 降世之后,它就开始了前所未有的增长。我看到一个 Stack Overflow 上的图表,统计了每门语言被提及的次数,对应着 Python 的那条线仿佛坐上了火箭。2018 年,在 Google 搜索 Python 的人数比搜索金-卡戴珊的还多。另一个令人振奋的消息是,Python 开始和 Java、C 以及 C++ 之类的语言争夺最常用语言的头衔。

00:10:26

那么,这些人们对 Python 的偏爱究竟来源何处呢?为了找到答案,我找到 Michael Kennedy,他活跃在 Python 时代的中心。他主持着两个专注于 Python 的播客:Talk Python to Me 和 Python Bytes。我们会在展示内容里放上对应的链接以便大家查看。Michael 将要和我一起讨论 Python 是如何真正迈出大步的。

00:10:52 - Michael Kennedy

如果你看过分析报告或总结报告一类的东西,会发现 2012 年是一个重要拐点,而发生在 2012 年左右最具意义的事情莫过于,数据科学社区换掉了 R 之类的东西,开始真正专注于 Python。这件事发生以后,Pyton 社区就有了更充足的劲头,也有了更多的机器学习库。像许多流行的机器学习库,都会首先考虑使用 Python 来实现,此后才会考虑其他语言。

00:11:22 - Saron Yitbarek

嗯,我也这么认为。当我想到 Python 时,我知道它可以被用作 Web 开发,我也认识许多仍然在使用 Python 来写 Web 应用的人。但我感到 Python 如今真正的核心更多是在数据科学领域。你认为是什么导致了这件事情发生?为什么数据科学社区抛弃了那些,或者我不应该叫抛弃,而是远离了 R 之类的工具。

00:11:44 - Michael Kennedy

对,正是如此。

00:11:45 - Saron Yitbarek

从何而来呢?

00:11:46 - Michael Kennedy

我认为这种转变中是有两件事在起作用。其中之一就是 Python 作为一种“真正的” —— 引号引起来的 —— 编程语言,它既可以写一些简单的东西,例如构建图形或数据分析工具等等,但是,它也可以用来构建 Instagram 和 YouTube 以及其他类似的复杂应用……

00:12:08 - Saron Yitbarek

是的,显而易见。

00:12:09 - Michael Kennedy

相对于 R …… 之类的东西而言。对,这很显而易见。很多应用都是由 Python 来编写的。所以他们之前在使用一些其它的编程语言时,例如 R,这门专精数据科学工作的,科学统计类的编程语言,如果他们想要写一个 Web 应用来展示他们的结果,那么,他们要用什么来实现呢?Node 或者 Python 还是……这导致他们没办法一直使用那些语言。

00:12:31 - Saron Yitbarek

对,说的很好。

00:12:31 - Michael Kennedy

所以说 Python 拥有相当棒的能力 …… 基本上,它是一种真正的编程语言,这是其一。第二点是,Python 十分独特,被我称为……全频谱语言。我所谓的全频谱的意思是指,假如我是一名生物学家、天文学家或别的什么,当我想要处理一些数据,想要加载一个 CSV 文件并运行一些指令得到图像时,我无需理解什么是类、静态方法、主函数、编译或者链接。你不需要像一些编程语言那样,为了入门而去学会这些。我只用写几行代码,键入指令,程序就可以运行。

00:13:14

但是,你也可以用它去搭建像 Instagram 之类的软件。它可以成长为绝对专业的系统,你能使用,但是你不会在一开始就被逼迫着,去理解大型应用的一切深层抽象,你可以根据自身需要来使用它。这有意义吗?

00:13:30 - Saron Yitbarek

对,对。说的非常贴切。刚才我们谈论到 2012 年的拐点时,我搜索了一些关于 Python 的资料,Python 的确是世界上被 Google 次数最多的编程语言。

00:13:42 - Michael Kennedy

哇。

00:13:43 - Saron Yitbarek

你感觉它现在确实被大家青睐,并且仍在成长之中吗?

00:13:47 - Michael Kennedy

我认为它真的被青睐并处于成长之中。在我们谈论到的过去几年里,有相当多的企业集团都选择使用 Python。而他们曾经的选择是 .NET、Java,甚至是 C 。这就是回答,并且现在 Python 开始走出属于自己的路,我认为它在某些场景下被格外倚重,关于这个,我指的是那些数据科学家们。就像,显然我们用到的 Jupyter Lab 那类炫酷笔记本应用,这些的东西,全都是 Python 造就的。

00:14:17

数据科学没有祖传代码的负担。如果我想开发一个新的项目,用来探索广告活动或科学结果,就不会对一堆陈旧的东西,保持着庞大的依赖关系。模型和数据都会过时,因此对于数据科学世界而言,切换技术栈或保持最新状态要容易得多。

00:14:37 - Saron Yitbarek

说的不错。

00:14:39 - Michael Kennedy

嗯,谢谢。

00:14:42 - Saron Yitbarek

嗯,听上去 Python 不会很快停止成长,而是保持增长的趋势,甚至这种增长的势头仍在向前发展。你认为对这种增长与前进的势头影响最大的事情是什么呢?

00:14:52 - Michael Kennedy

我感觉这就像滚雪球。Python 有如此多我们可以使用的库和软件包。现在更是多到难以置信。一两年前,这个数字大概只有 10 万。而现在我们已经有了 17 万个包或项目。

00:15:10 - Saron Yitbarek

哇。

00:15:10 - Michael Kennedy

你可以仅仅写几行代码,然后说,噢,我要做机器学习。有人在会议上向我们展示了一个例子,她们训练一个机器学习系统,给它提供大量人脸的图像,并告诉系统他们拥有什么类型的眼睛。是圆眼睛?或者椭圆形眼睛之类的东西。似乎这会帮助你决定妆容之类的。

00:15:30 - Saron Yitbarek

噢,哇。

00:15:31 - Michael Kennedy

这位女士的演讲十分精彩,然后她说,这是训练模型的代码,让大家提问。而代码从头到尾只有十五行。

00:15:40 - Saron Yitbarek

哇。

00:15:40 - Michael Kennedy

接着你看,就像她说的那样,你提供一张照片,模型就会知道你的眼睛像什么。

00:15:44 - Saron Yitbarek

噢,天哪。

00:15:45 - Michael Kennedy

这种类型的项目势头十足。这些简洁,却又极具能量的东西,你可以直接通过一些包来导入,这真是厉害极了。

00:15:53 - Saron Yitbarek

哇,这好酷。

00:15:54 - Michael Kennedy

是不是很疯狂。

00:15:56 - Saron Yitbarek

好吧。让我们暂停一下对话。我们会在稍后听到更多 Michael 的观点,但我现在想要回头来强调一些事情。使 Python 这些令人惊叹的特质成为可能的源头,Python 社区。Python 成功的一个决定性因素就是这个庞大的、反应迅速的社区。

00:16:21

此时此刻,正如我们在 van Rossum 离开时看到的那样,社区的规模已经庞大到让人难以接受。想象一下你不得不背着整个语言包袱的样子。某种角度来说,吸引了如此庞大的社区,让保有一个终生独裁者的主意变得站不住脚。Van Rossum 未曾设想他的语言会收到如此巨大的反响,但是,几乎完全自发的,社区成员将 Python 的邮箱列表、新闻组、网站,以及最终通过 PEP 讨论语言变化的流程汇集在一起。PEP 是 Python 增强建议 Python Enhancement Proposals 的缩写。

00:17:05

所以,尽管有着独裁者的名号,van Rossum 仍致力于搭建一个用户可以真正传达意见,参与构建的语言。我敢打赌,尽管他在离开的那一刻感到沮丧,但 van Rossum 明白,一个活跃的社区给他的语言带去的好处,要远胜他离去而折损的。

00:17:25 - Diane Mueller

我叫 Diane Mueller。

00:17:27 - Saron Yitbarek

Diane 是红帽云平台的社区开发总监。在过去的 30 年里,她目睹了开源社区的强劲发展,尤其是 Python 社区,给她留下了极为深刻的印象。

00:17:42 - Diane Mueller

Python 社区做的太棒了……他们带来了大量行为准则的概念,关于会议、多样性奖金,所有这类东西。通过引入不同的声音以及不同的观点,我们得到了一个更好、更具创新性的项目,它必定能够留存得更久,并有望为更多的人带去更好的体验。

00:18:03

即便他们犯错了,也会开诚布公的进行处理。在看到这种精神弥漫进硅谷和初创公司的兄弟文化中之后,通过与社区的合作,Python 就像带我回到了我创业的地方,围绕着它的社区也像是回到了往日。它真的相当鼓舞人心,非常惊艳。

00:18:33 - Saron Yitbarek

能够鼓舞如此多的人,缘由是 Python 在最初就重新定义了成为社区一员的含义。我讲过 Guido van Rossum 即使是在引退之际,仍倡导了在社区里对女性的拥护。此外他也在更宽泛的意义上帮助了社区的拓展。

00:18:50 - Diane Mueller

个人为集体带来的远远不止是代码贡献。绝大多数社区管理者或是项目主管,都把精力集中在如何促进大家为他们的项目做出贡献。而在 Python 社区里,大家会鼓励你参与文档工作,或是帮助会议的举办,以及对多样性的促进。这里有许多不同类型的事让你参与,都可以使你成为 Python 社区的一份子。

00:19:19

所以这个想法,即社区贡献不仅仅局限于代码,像参与活动、相互学习和教育,以及大量的文档工作,这些对大多数人而言都是融入 Python 社区的方法。

00:19:35 - Saron Yitbarek

当然,我们还有许多路要走。

00:19:37 - Diane Mueller

精英阶层仍然注重于技术。没人会怀疑这个。但我想你也看见社区管理和社区管理者的理念了……我们都是社区重要的一份子,而不是被雇佣来干事的。

00:19:55

对 Diane 而言,van Rossum 正式放弃他独裁者角色的决定,是全局变化的一部分。这代表着编程语言的建设开始摆脱陈旧与单一。

00:20:07

我想我们可能已经摆脱了这种模式,尽管在一段时间里,我经常听见人说:“是的,我终生都是这个项目的仁慈独裁者。”但我并不认同。

00:20:21

Diane Mueller 是红帽社区发展总监。

00:20:28

在 Guido van Rossum 发出那份令人瞠目结舌的《移交权利》之后,Python 社区自身便成为了权力中心。随着项目的成熟发展,出现新的治理模式是正常的,并且正如我们所见,这些人已经做好准备,要来管理自己的语言了。但我仍然好奇,整件事最终是如何收场的?van Rossum 退场之后究竟发生了什么。让我们回到与 Michael Kennedy 的对话中来寻找一些答案吧。

00:20:59

……他离开了 Python,社区在没有他的情况下过得怎么样呢?

00:21:05 - Michael Kennedy

嗯,社区的状态其实还不错,但我们陷在一个……制高点,有点像是卡住了。运行时和语言基本上陷停滞不前。有一些有趣的提案,有些比较麻烦,有些又挺简单。比如,嘿,要不然我们每一年发布一次 Python,而不是每 18 个月,这样跟年度会议绑在一起,语言变化会变得更有可预测性。诸如此类的事情。

00:21:33 - Saron Yitbarek

噢,嗯。

00:21:33 - Michael Kennedy

这些都是无法做出定夺的。因为在他引退之后,还没有方法去做决策。他基本上只留下一句,我去度假了,全靠你们了,你们必须得弄清楚怎么才能继续运行下去。我不会告诉你们怎样去做决策或怎么去运营。麻烦现在是你们的了。

00:21:48 - Saron Yitbarek

哇。这听起来非常有戏剧性,但仔细一想。还记得那些 Python 增强建议 Python Enhancement Proposals (PEP)吗,那些用于接受社区反馈的 PEP?它们可以拯救大伙。

00:22:02 - Michael Kennedy

有一系列他们试图为 Python 社区确立的新治理模型。好吧,最大的新闻是他们最终决定选择其中之一,叫做 指导委员会 Steering Council ,委员会由五人组成 —— 我相信他们都有着平等的投票权 —— 他们最近选举出了五个人。。所以,这不是一个人的责任,而是所有的人的责任。

00:22:23

我感到十分高兴的一件事是, Guido van Rossum 也是他们的一员。他引退后说,我不能作为……所有这些人们想要改变和反馈的压力的唯一的发泄口。但是他还在,他没有完全抛弃这门语言。他仍然是一个核心开发者,并且加入了指导委员会。因此他仍然保留了发言权,但无需再独自承受一切,这真是非常棒。

00:22:47 - Saron Yitbarek

我很好奇,这一切在现实世界里是怎么奏效的?我感觉如果我是指导委员会的一员,和语言的创造者坐在一起,我可能会倾向于赞同他所说的任何意见。

00:22:58 - Michael Kennedy

对,确实如此。在平局的情况下,最终取决于 Guido。

00:23:03 - Saron Yitbarek

嗯,的确。

00:23:03 - Michael Kennedy

我不确定。但我认识指导委员会的一些人,他们一直以来都是社区的贡献者和开发者,可能超过了……在代码水平上,比 Guido 还多十五年。他们也都是非常深入的参与者,并且相当有主见,所以……

00:23:23 - Saron Yitbarek

……而且相当投入。

00:23:25 - Michael Kennedy

对,投入巨大。所以我认为这是行之有效的。另外,我觉得 Guido 的态度是,我仍然想参与其中,但不愿把自己的意志强加于人,否则一切都和原先没什么两样……我认为他可能倾向于选择一个更轻松的立场。

00:23:43 - Saron Yitbarek

好的。我想知道,你是否认为在语言的初创阶段,为了项目能够启动运行,以便语言可以变得激进,从而得到那些突破性的好处,拥有一个 终生仁慈独裁者 benevolent dictator for life (BDFL)的管理模型是必要的?

00:24:00 - Michael Kennedy

我认同。我有考虑过,大多数由委员会进行的设计,并不惊艳。在早期,有太多决策需要进行,语言如何工作?要不要用分号?怎么做这,怎么做那?所有这些内容都很难由委员会来决定,但是 Python 至今已经有 25 年的历史了。它有这么多人参与其中。我认为现在,它执行的是一个非常好的模型。

00:24:29 - Michael Kennedy

他们还有过辩论,是否应该换上一个替补的 BDFL ,这次我们又要选出谁来做我们的领袖呢?好在他们最后决定反对这个提议。

00:24:37 - Saron Yitbarek

好。如果 BDFL 的位置是极其重要的,我想知道,社区需要依赖他多久呢?听上去 Guido 是自行做出决定:嘿,太过分了,这不是一个可以延续的状态,我不干了。但是,假如他没有做出这样的决策,我想知道,是否有一个最佳的时机让这个人退出,让大家走向一个更民主的状态呢?

00:25:01 - Michael Kennedy

嗯,一定会有的,对吧?我认为这个时机应该存在。一个人难以与社区、技术的脉搏以及新的趋势一直保持紧密联系,说个数,大概 40 年。这是件极其困难的事,因此一定要有这个转换。我不能确切的说究竟在什么时候,但我认为必须得等到其他人相比 BDFL 做出了更多的贡献。随着核心贡献者和开发者越来越多,然后你就,嗯,我在度假,看看这些新的事情发生了,它还能活下来。类似这样的事情。

00:25:39 - Saron Yitbarek

嗯。就好像是社区在准备好后会自己告诉你。

00:25:42 - Michael Kennedy

对,正是如此。

00:25:48 - Saron Yitbarek

由于 Python 社区仍在自己的生命历程中,因此这里就是我们暂时告一段落的地方。Michael Kennedy 的两个播客会持续追踪 Python 之后的历程。欢迎订阅 Talk Python to Me 和 Python Bytes。

00:26:07 - Saron Yitbarek

你听说过被称为古代雅典立法者的 梭伦 Solon 的故事吗? 他是个很酷的家伙。 在梭伦为 民主雅典 Athenian democracy 建立宪法之后,他选择了自行流放。因为他清楚,继续执政只会增加他成为暴君的风险。我觉得 Guido van Rossum 就像是当代梭伦,为我们提供了数十年的标准实践,有点像是一部宪法。他建立起一个出色的编程语言,一个真正由开源社区自己创作的语言。然后他给予他们一个权力转移的时刻,他在那时告诉他们,你们由自己掌控,我不再是你们的独裁者了。

00:26:54 - Saron Yitbarek

他确保了一定是由社区,而非他本人,来推动 Python 前行。某种意义上,Guido van Rossum 的“移交权利”是开源世界中所有编程语言的共同宣言,因为任何语言随着其社区的发展,终将面临唯有社区才可以解决的挑战。

00:27:19 - Saron Yitbarek

在《代码英雄》的第三季中,我们会对编程语言的世界进行深入的挖掘。语言影响力的来源,正是它们如何通过强力的新方法去解决新的问题。在本季的剩余时间里,我们会探索 JavaScript、Perl、COBOL、Go,以及更多语言所具备的超能力。在下一集,我们会学习 BASIC 的故事,此外还会谈论到母语究竟教会了我们什么。

00:27:47 - Saron Yitbarek

如果你想更深入地研究 Python 或你在本集里听到的任何内容,请转至 redhat.com/commandlineheroes。最后,我是 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-3/pythons-tale

作者:Red Hat 选题:bestony 译者:caiichenr 校对:acyanbird, wxy

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

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

什么是《代码英雄》

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

本文是《代码英雄》系列播客第二季(9):特别篇 - 开发人员拥护者圆桌会议音频脚本。

导语: 开发者推广大使 developer advocate 在开源社区中起到的作用是举足轻重的。我们邀请了几位这样的推广大使来到本期节目中,以向我们揭示他们的工作方式,并阐述这份工作背后的意义。

来自 Mozilla 的 Sandra Persing、Twilio 的 Ricky Robinett 与 红帽的 Robyn Bergerron 将在此接受 Saron 的采访,分享他们的工作内容、他们支持社区的方式,以及他们对 2019 年的展望。

00:00:06 - Saron Yitbarek

大家好,我是 Saron Yitbarek,这里是红帽的原创播客节目《 代码英雄 Command Line Heroes 》的特别篇。我们的节目在第 2 季去了很多地方。我们探索了编程语言数据大爆炸安全危机以及无服务器时代的到来,我们甚至去了火星

00:00:28

但是在结束了第 2 季之后,我们还有一个地方要去。我们要走进推广大使和思想领袖们的认识当中,他们帮着塑造了开发人员所做的全部工作。有时,他们被称为 开发者推广大使 developer advocate ,或者说他们担任开发者关系的职位,或开发者布道师。

00:00:50

从开发人员的角度来看,无论他们的具体头衔是什么,他们似乎都做着许多相同的事情。你在会议上见过他们发表主题演讲。你在播客上听过他们接受采访,就像在本期节目中一样。你可能还阅读过他们的博文。但是他们是谁呢?他们到底在用自己的声音做了些什么?

00:01:10

为了迎接 2019 年的到来,我们为大家召集了一个优秀人物的圆桌会议。尽管他们的头衔各不相同,但他们的目的是一致的。他们来到这里,是为了帮助开发人员,并确保其声音和需求能被大众听到。这些人都是典型的代码英雄。

00:01:29

来自 湾区 Bay Area 的 Sandra Persing 是 Mozilla 的 全球策略师 Global Strategist ,也是 DevRel 峰会的创始人。

00:01:38 - Sandra Persing

嗨, Saron。

00:01:39 - Saron Yitbarek

你好。还有同样来自旧金山的 Ricky Robinett。他是 Twilio 的开发人员网络总监。

00:01:47 - Ricky Robinett

你好。

00:01:49 - Saron Yitbarek

从凤凰城外和我一起来的是 Robyn Bergeron,Red Hat 的社区架构师。

00:01:55 - Robyn Bergeron

嗨!你好吗?

00:01:56 - Saron Yitbarek

我很好。

00:01:57 - Robyn Bergeron

看到你真高兴。

00:01:57 - Saron Yitbarek

在不同的地方,这份工作的践行者被冠以不同的头衔。有 开发者推广大使 Developer Advocate 开发者布道师 Developer Evangelist 开发者关系 Developer Relations ;对于新事物来说,基本定义非常重要。因此,我认为一个好的起点是来定义这些东西是什么,尤其是定义你可以在这个领域做什么。所以,你能告诉我你的头衔以及这个头衔实质上的含义吗? Ricky,让我们从你开始吧。

00:02:22 - Ricky Robinett

好的,听起来很棒。我的头衔是 开发者网络总监 Director of the Developer Network 。我有幸供职于一个开发者关系专家团队。我们有一个布道师团队、一个教育团队和一个社区团队。因此,这绝对是一个大杂烩,有你听说过的各种不同的头衔,我们将其汇集在这个团队之中。

00:02:43 - Saron Yitbarek

厉害啊。Sandra,你呢?

00:02:45 - Sandra Persing

我在 Mozilla 担任活动和赞助的 全球策略师 Global Strategist ,并与 Mozilla 新兴技术小组的开发者拓展团队合作。我通常会将我的日常活动解释为大量的研究、交流和探索,而这都将最终影响我们评估与决策应当如何投资我们的资源:我们的时间、金钱、纪念品、演说者等等,以回馈开发者社区,同时也从开发者社区得到反馈。这份工作既有布道的一面,也有倡导的一面。

00:03:24 - Saron Yitbarek

很棒。 Robyn,该你了。

00:03:26 - Robyn Bergeron

你好。好吧,我的正式头衔是 社区架构师 Community Architect 。人们就我这个头衔有过很多问题。我曾被称为 社区经理 Community Manager ,也曾被称为 开发者推广大使 Developer Advocate ,甚至还在过去的一份工作中做过 运维推广大使 Operations Advocate 。但是我想我所做的是……嗯,你知道,像是“社区经理”之类头衔所暗示的“你在管理着社区中发自内心为项目做出贡献的人”的这种想法,其实相当愚蠢,因此,我喜欢把我所做的事情看作是构建一个框架,人们可以真正顺利地参与其中,确保过程中没有障碍,并确保他们可以完成所有他们想要做的事情。

00:04:02 - Saron Yitbarek

Ricky,由于你基本上是负责整个开发者网络的总监,你不仅仅是置身于推广大使团队、布道团队,也是社区团队之中,这有点儿像是你在运行着整个项目。你是怎样理解的这个的,是向开发者推广还是推广开发者?

00:04:20 - Ricky Robinett

是的,这是个很棒的问题。 Phil Nash 是我们团队中的一名布道师,他对此有一个很好的认识,而我要将它剽窃过来。我们可以从很多不同的角度来解释这份工作,但说到底,我们的工作其实大体上就是帮助他人。

00:04:33 - Saron Yitbarek

我喜欢这一点。是的。

00:04:35 - Ricky Robinett

我们帮助开发人员,有时候这些帮助看起来就像是在 Stack Overflow 上回答问题,有时看起来像是构建一款新工具,有时看起来像组织一个活动,有时看起来又像是发起一次产品的内部改动。因此,我认为这就是我所听说过的最好的认识 —— 我们的责任是帮助。

00:04:57 - Saron Yitbarek

的确。Sandra,你的职位让我感兴趣的一点是,你不光是策略师,还是全球策略师。让世界各地的开发人员组织起来,并且帮助他们,这是你在 Mozilla 的工作的一部分。在全球范围内的推广倡导会是什么样的呢?在不同的国家、不同的大洲之间,这份工作的含义会有所不同吗?

00:05:20 - Sandra Persing

对,确实存在一些不同。我们今年刚刚在新加坡举办了第三届 DevRel 年度峰会。在过去的两年间,我们在西雅图主办了这项活动,而到了新加坡,我们看到了不同的视角。当我们走出湾区时,就连某些最基本的组织方式都需要做出改变。比如,如何确保一切都能在线下运转,因为连接性是一个大问题;再比如,我们该怎样使一名工作于印尼的开发人员能在峰会过程中与社区充分互动,无论他是在线上参加聚会,还是来到现场。

00:05:59 - Sandra Persing

我们总会发现,所谓的“基础”,一些对我们来说如此寻常的事,比如在湾区举办一次简单的聚会——这再常见不过了,对吧?你高呼一声“我要参会”,就会发现到处都有聚会可以参加。然而对于,比如,越南的开发者来说,此事可以是具有特殊意义,且对他们而言相当重要的。这种聚会很宝贵,丰富了他们的开发者生活。

00:06:27 - Saron Yitbarek

我注意到的一件事是,大家都以某种方式提到了社区。而我自己也运营着一个社区,Code Newbie,而且我经常被一些公司聘用为他们的布道师或社区经理。有一件事我一直都有点儿担心,也许有点畏惧;我在想,在过去的三四年里,我一直在尽我所能,尽心尽力地负责着这个社区。

00:06:55

但如果我为一家公司工作,我就必须要牺牲这些吗?我是不是必须要将公司置于社区的需求之上?我该如何平衡这种关系呢?

00:07:06

所以我在想,Robyn,或许我们可以问问你这个 社区架构师 Community Architect ,你是如何区分这两者的呢?或者说,你是如何平衡这两者的?

00:07:16 - Robyn Bergeron

好吧,这当然是一个有趣的平衡。我的意思是,我以前的一个工作实际上是担任 Fedora 项目负责人。而你知道,Fedora 是 Red Enterprise Linux 的上游,在这里,你角色的一部分确实是某种找寻平衡的行为,对吧?两者之间的平衡是让社区里的人们开心,让公司对社区所做的事情高兴,同时要确保每个人都是快乐大家庭的一员。

00:07:41

而且,你知道,我想当你在这个职位上做得最好的时候,你肯定会时不时地激怒公司决策层的某些人。但是你知道的,最终还是要用结果来证明,对吧?

00:07:59

人们总是问我,你是如何平衡 Ansible 和红帽之间的关系的,你知道,当 Ansible 被红帽收购时,就像是 —— 哦我的天哪,红帽会接管它,然后对它做些糟糕的事情,并摆脱 Ubuntu 的支持吗?

00:08:12

而这就像是,拥有整个项目的全部目的就是为了破坏它,就像是为了不要吸引 4000 名贡献者而故意变得糟糕一样。

00:08:22

确保你的管理层信任你,并始终与人们保持清晰的沟通以了解实际发生的事情,并确保沟通通道的两侧都不会出现意外,这是成功与否的部分原因,也许并不总是会成功,但肯定会让人感到惊讶。

00:08:41 - Saron Yitbarek

嗯嗯。确实。Ricky,你呢?当你在做这么多不同事情的时候,你是如何看待这种关系中的平衡的?

00:08:49 - Ricky Robinett

我认为你必须相信公司和技术。你必须相信,你所带给开发人员的东西将会对他们的生活、职业生涯以及公司产生影响。

00:09:03

另一方面,你必须让高管们相信这种方法。因此,我们非常幸运的一点是我们的 CEO 是一名开发人员,而且在很多方面,他是我们和开发者社区打交道的原动力。我们的布道师们的使命是激励并装备开发人员。因此,有时候我们会说这能激励并装备他们吗?因为如果不能的话,我们就不应该这么做,因为这超出了我们的职权限范围。

00:09:36 - Saron Yitbarek

嗯嗯。Sandra,我觉得你有点儿优势,因为 Mozilla 是一个非营利性组织,对吧?所以我觉得或许 ——

00:09:44 - Sandra Persing

我刚想说。

00:09:46 - Saron Yitbarek

跟我讲讲这个吧。

00:09:47 - Sandra Persing

Mozilla 的历史就是我们是一家叛逆的公司。我们一直在反抗企业家,对吗?出走 Netscape ,并与我们的创始人之一 Mitchell Baker 一起走过的整段历史,确保了 Web ——

00:10:01

—— 乃至互联网是面向所有人的开放而自由的资源。我的意思是,我们仍然,我们每个人,每一个 Mozilla 人,都信奉这一口号,我们对此深信不疑。因此,这绝对是一家令人惊叹的、100% 拥抱了社区的公司。

00:10:22 - Saron Yitbarek

确实。所以,Ricky,我还清楚地记得那件红色的运动夹克,我还记得你亲自出马做的那些很棒的演示,感觉那种联系并帮助开发人员的方式非常新颖。这个想法是怎么在 Twilio 上产生的?

00:10:41 - Ricky Robinett

嗯,你这么说真是太好了。我们确实相信我们是站在巨人的肩膀之上。你会想到 Apple 公司的 Guy Kawasaki,有人在我们之前就采用了这种营销方式。我认为我们很幸运能在正确的时间把它带给开发人员。

00:11:03

而且有这么多的人进来,带着我们如何能够做到这一点以及如何能够不断提高方法水平的想法。但是我实际上不知道是谁发明了红色运动夹克,因此现在我需要去探寻历史 ——

00:11:19 - Saron Yitbarek

你一定得找到答案。

00:11:19 - Ricky Robinett

—— 有关这是何时开始的历史。

00:11:20 - Saron Yitbarek

这是件很棒的夹克。

00:11:21 - Ricky Robinett

知道了,我今天下午就去找。

00:11:25 - Saron Yitbarek

而我想知道的是,布道和推广的想法在 Twilio 是如何随着时间而发生变化的。你知道,曾经你们只是一家小小的初创公司,一家叛逆的初创公司,然后现如今成了一家大公司。随着公司本身的变化,布道的形式又是如何变化的呢?

00:11:46 - Ricky Robinett

是的,开始时,我觉得我本可以一年 365 天都在 黑客马拉松 hackathon 上渡过,而在纽约,每个周末你都要从五到六个黑客马拉松之中抉择一个。我们在布道方面所做的许多事情都是黑客马拉松场景,而现在,场景不同了。确实,最大的变化在于公司外部而不是内部。

00:12:11

因此,我谈到了布道师的激励和装备。所以令人高兴的是,这些年来这个任务并没有发生任何变化,他们激励和装备的方式一直在变化,但任务本身并没有什么改变。

00:12:26 - Saron Yitbarek

那么 Robyn,随着 DevOps 和 DevSecOps 的兴起,推广大使在你和社区架构师看来如何呢?会有运维推广大使吗?

00:12:39 - Robyn Bergeron

嗯,实际上那是 …… 我的意思是说,孩子们,那是我辍学后的第一份工作。我不建议这样做,不要在家做这个事情。

00:12:47 - Saron Yitbarek

留在学校里继续上学。

00:12:48 - Robyn Bergeron

听着。你看,小姑娘,我的第一份工作实际上是在 Motorola 担任 系统管理员 SysAdmin 多年,而当我从担任 Fedora 负责人跳槽时,我在 Elastic Search 工作了一段时间,你知道,那个头衔是开发者推广大使,因此我花了几个学期在大学里攻读 C。但是我的心一直都在运维这边。我开始对自己真的是一名开发者推广大使感到疑惑?我觉得我只是在推广运维人员而已。我开始自称是一名运维推广大使,每个人都为之注目。

00:13:22

每个人都说,嗯,这真的是一个很酷的头衔。我的意思是,你知道,我基本上只是在公司内部倡导其他人在做什么。

00:13:33 - Saron Yitbarek

所以,Sandra,我们谈到了推广大使和布道师在世界不同地区看起来如何不同,但是我想知道,随着我们变得越来越全球化,联系越来越紧密,更大范围和形式的布道对你来说是不是也在随着时间流逝而变化?

00:13:52 - Sandra Persing

你知道什么是开发者关系吗?我们是在推销我们的产品吗?你知道,而我注意到的是,即使是大公司也正在远离这种策略。要明白的是,做一个真实的人,真正留心倾听并回应开发人员的需求是最为重要的,而不是去推销产品。

00:14:17

我总是回过头来和我在 Mozilla 的团队分享一个理念,开发者们实际上是我们所合作过的最聪明、最具有创造力的客户群体之一。他们可以大老远就闻到商业销售的气味。因此,我们必须对于如何共享信息保持精明,就像它必须是一群有着才华和智慧的人聚集在一起,成为我们与开发者社区进行沟通的创新方式。

00:14:48 - Saron Yitbarek

嗯,真的,我很喜欢这样的想法,需要将不同的技能,我想,还有不同的背景,集合在一起,才能很好地服务于开发者,也能帮助开发者自助。

00:15:01

当我想到开发者推广大使的兴起时,在我看来,它与开源的兴起息息相关。这感觉几乎就像是开源贡献者越多,开源就变得越重要,重视它的大公司也越多,他们几乎必须与这些开源贡献者、这些开发人员建立起更好的关系,并且我感觉这二者真的是紧密相关的。

00:15:27

因此我很好奇你的想法。那么 Robyn,让我们从你开始吧。是这样的吗?推广大使的这个想法与开源的兴起有所联系吗?

00:15:37 - Robyn Bergeron

如果你是一家销售软件或是销售许可证和长期支持的公司,你知道,无论你的开源公司的业务模型是什么,如果你没有这种反馈回路,或者你没有真正关注人们在说什么,那你最终会犯下一个众所周知的错误。我认为,真正能在全世界范围内每天都做到这一点,就是成功和失败之间的区别,没有人愿意花时间去做错误的事情。那是个坏主意。

00:16:10 - Saron Yitbarek

是的,这通常是个坏主意。很好。因此,我想知道你们每个人各自都在关注什么,都真正在思考什么。因此,Ricky,让我们从你开始吧。在你的 Twilio 角色中,你试图为开发者文化带来什么样的改进呢?

00:16:27 - Ricky Robinett

如果我要说的我与开发者交谈时听到过最多的一个短语,那就是“我不是开发者,但是 …… ”,而这可能是一直萦绕在我脑海中的最大的事情之一 —— 开发者定义的扩大化。

00:16:45:

对我们很多人来说,“冒牌综合症”是一个非常真实的现象。令人惊讶的是,即使是你所认识的一些最好的开发者也在为此努力。而对我来说,我们所有人能在我们的文化中做的最重要的事情之一,就是让人们说,“你知道吗?我是一名开发者。我用代码解决问题。”

00:17:08

因此,我最喜欢的故事之一是,我们社区有一个名为 Doug McKenziethat 的成员,他是个魔术师。他自学了 PHP,以便在魔术中使用技术。

00:17:23 - Saron Yitbarek

噢,很棒。

00:17:23 - Ricky Robinett

Doug 之所以如此之酷,是因为他超级谦虚,就像是:“哦,我不是一名开发者。”而突然之间你发现,他正在编写比许多人所见过的更为复杂的代码,可以完成令人震惊的事情。因此,我感觉世界上有许多 Doug McKenzies 这样的人,他们都在用代码做着伟大的事情,我们有机会让他们成为社区的一份子,并且在这项工作中拥有自己的身份。

00:17:51 - Saron Yitbarek

我喜欢这个故事,因为它让我想起了我曾经为 Code Newbie 播客采访过的一个人,她是一名作家而且有很多写作任务,必须学习 Git 才能撰写有关 Git 的文章,她写了很多这方面的文章,又逐渐转向了其他的编程主题,最终,你知道,几年过去之后,她实际上已经成为了一名开发者却不自知。

00:18:13

在我采访她的时候,我说:“嘿,你知道自己是一名开发者吗?”她说:“不,我是个作家。”而我说:“你可以二者兼备。它们并不互相排斥。”但是,是的,这种说法换个角度说,“嘿,我实际上是在编程和创造,因此现在我可以自称为一名码农了”,这种认识对人们来说很难,要做到这样需要一段时间。

00:18:32 - Ricky Robinett

是的,当然是这样。

00:18:33 - Saron Yitbarek

是的。因此,Robyn,对你来说,最近几年来你一直在努力推动的最积极的变化是什么?

00:18:41 - Robyn Bergeron

只是确保在我们的成长过程中,我们不会失去对大局观的把握。我们的主要目标是使人们易于使用、易于贡献、易于实际完成生活中的事情,确保我们不会偏离这个目标,或者在实际项目的某些结构层面获得更多的工程帮助,并确保我们保持所有这些东西都井井有条。我们在这方面做得很好,我不知道是不是,但我认为这很重要。我不知道自己会不会因此而获得诺贝尔和平奖,但我知道这对许多贡献者都非常重要。

00:19:19 - Saron Yitbarek

这对我来说很有用。Sandra,你呢?作为全球策略师,你近些年来所推动的最积极的变化是什么?

00:19:26 - Sandra Persing

在我脑海中真正突出的两件事是扩展开发者角色这个定义,这一点非常重要。我们想要发展我们的社区,对吗?那么为什么要限制开发者的定义和描述呢?

00:19:43

当我们在 Sundance 与 Reggie Watts 和 Chris Milk 等著名人物进行座谈时,我们给电影制作人、制片人、决策者一个机会,让他们说:“哦,我们也能做到。我们不需要受限于作为创意电影制作人能做些什么。”

00:20:00

我们可以采纳技术,也可以成为开发者,而这相当令人耳目一新。我们在 Mozilla 经历的另一个时刻是让一位芝加哥的灯光艺术家 Ian Brill 与我们合作进行一个项目,我们把这个项目标记为 Arch,我们为今年两个重要的 JavaScript 开发者活动带来了这种巨型的塑料灯,LED 灯,带着七个可编程的树莓派结构。这是为了邀请更多的程序员(无论他们是否自称为开发者)来尝试 Mozilla 今年大力倡导的两种语言: WebAssembly 和 Rust。

00:20:49

因此,我们创建了两个简单的模板,说,“尝试一下吧”,但这不是我们所想要推动的编程。这不是编程,而是“是的,有几行代码。它是编程语言,但你要做的是创建几行代码,现在可以将它们转化为艺术”,而这让许许多多的新人进入到了我们的群体之中,也就是把他们带到我们的桌子旁边,然后他们会编写他们的代码行,在 Arch 之下走过,去查看目前正在结构中循环着的灯光表现。这真是太神奇了。

00:21:22 - Saron Yitbarek

哇。这听上去很美,确实美。因此,我想知道的是,当我们谈论到为开发者做推广大使时,我们谈论了很多有关社区的话题,也谈论了那个最终的想法,无论我们的职业头衔是什么,我们真的只是想要帮助人们,开发者需要什么方面的帮助? Ricky,让我们从你开始吧。开发者们说他们需要从你这里得到什么呢?

00:21:44 - Ricky Robinett

哇。是的,这是个好问题。我认为,我们所发现的其中一件事是,科技变化如此之快,我们被问到的很多问题都是,“我从哪里开始?我首先要做什么?我怎么知道我走的路是正确的呢?”对我们来说,这可能是我们投入最多的领域之一,我们称之为帮助人们发现他们用代码改变世界的能力。

00:22:16 - Saron Yitbarek

噢,这很美妙。我赞成。

00:22:18 - Ricky Robinett

嗯,谢谢你。是的,这令人兴奋。因此我们构建了一款名为 TwilioQuest 的工具,以帮助人们发现这种力量,帮助他们知道从何处开始。但我只是感觉,你知道,人们一直在寻找自己的身份或获得允许使用该身份的方式,而对每个人而言这就已经是写代码,是用代码或软件解决问题。有许多人想这么做,然而却不知道从哪里开始。所以这是我们经常思考的一件事。

00:22:51 - Saron Yitbarek

是的。因此,Robyn,对于你们红帽来说,红帽的开发者所寻求的是什么呢?

00:23:00 - Robyn Bergeron

很多时候,是有人来找你,他们遇到了一些障碍,也许是“不知怎么的,我的公关人员被机器人遗漏了”,但是很多时候,也有人会说,“嘿,我有一个很酷的想法。或许它不太适合这里,但是我认为它可能会改善社区的运行方式,或者可能会是其它我们正在研究的东西的不错的辅助工具。我该怎么办呢?”这就像是,“好吧,我该如何帮你入门呢?”你知道吗?“我能怎么做呢?比如说,你只是需要有人同意吗?因为我在这儿整天都基本上是对任何事情点头,让人们知道,这行得通,你当然有权力这样做”,所以这是我所认为最好的事情是,你可以做。至少在我看来,就是确保人们在自己的前进道路上没有阻碍,或者如果阻碍他们前进的一件事是正等着某人说可以,我一直在重申,你不需要别人的许可,但是如果有人需要,那么看在上帝的份上,请给他们许可。

00:23:58 - Saron Yitbarek

所以,最后一个问题,我们需要总结一下,我将向你们逐一询问。你在 2019 年将要倡导的最重要的事情是什么呢?如果你有魔杖,那么你想要改变的下一件大事是什么呢? Sandra,让我们从你开始吧。

00:24:15 - Sandra Persing

嘿,我就知道你会这么做。好吧,我们将在 2019 年进行的最大挑战和最为激动人心的项目是真正兑现我们的承诺,使 Web 成为最棒、最大、最易于访问的平台之一。我们总是告诉开发者这是你应当为之构建并部署的地方,但是我们知道 Web 本身非常复杂,而且有着多个浏览器供应商,有时候这并不是一个正确的说法,这对我们而言是一个长期的挑战,尤其是在 Mozilla,在这里我们想要保持 Web 开放、自由,并且能被所有人访问。我们想要继续确保能够兑现对开发人员的承诺,确保网络确实是开放的、可访问的,对所有人都开放。

00:25:10 - Saron Yitbarek

嗯,爱了。Ricky,你呢?

00:25:13 - Ricky Robinett

只需要确保我们为开发人员提供服务,使得他们能够在全世界范围内进行线上或是线下的聚会。更容易专注于你所看到的内容,并且无需记得开发人员是在何处,即使你没有看到他们。因此,我会挥舞我的魔杖,并在全世界更多的地方,找出我们如何能够帮助那里的开发人员。

00:25:36 - Sandra Persing

我只想说,我喜欢 Jarod 有关 暗物质开发者 dark matter developer 的演讲。实在是太棒了。

00:25:42 - Ricky Robinett

当你第一次听到它的时候,感觉像是一个了不起的概念,就像是,“哇,真的是一回事儿。”

00:25:50 - Saron Yitbarek

那就给我们讲讲吧,什么是暗物质开发者呢?

00:25:52 - Sandra Persing

本质上,有一些开发者,他们不参与你的聚会,不参与 GitHub 和在线社区,不为 Stack Overflow 做贡献。这些开发者仍在努力工作并作出贡献,但我们不知道。我们知道他们就在那里,但我们看不到他们。我们无法认出他们,而这些人实际上是开发者社区中非常重要的一部分,我们往往会忽略他们,但不能这样。忽略那些不愿发表意见的社区将损害我们与开发者的关系,我们需要更加积极主动地寻找宇宙中那些暗物质开发者。

00:26:34 - Saron Yitbarek

哦,我喜欢。这很酷。是的,Jarod 实际上在 Twilio 工作,对吗?

00:26:38 - Sandra Persing

是的。是的,他负责运营亚太区的 DevRel。

00:26:42 - Robyn Bergeron

我从前在红帽的同事之一 Chris Grams,现在在一家名为 Tidelift 的公司里工作,他曾经有一个名为 暗物质很重要 Dark Matter Matters 的博客,因为它有点儿像是 ——

00:26:52 - Saron Yitbarek

嗯嗯。

00:26:54 - Robyn Bergeron

你知道,你所看不到的东西实际上仍然很重要,所以 ——

00:26:58 - Saron Yitbarek

确实是这样。 Robyn,你呢?你会用你的魔杖做什么呢?

00:27:03 - Robyn Bergeron

哦,用我的魔杖,有很多事情,但是根据这次谈话,我想我会更好地管理彼此之间的依赖关系,而且也许并不令人惊讶,尤其是当我们之中有许多人在 OpenStack、 OPNFV、 Ansible 以及所有这些建立在彼此之上的东西工作时。只是确保我们项目之间的关系比你筋疲力尽时所能看到的关系更加明显。因此,我非常期待来年的事情,因为我们在事物上越来越受关注。现在这非常令人兴奋。

00:27:39 - Saron Yitbarek

吸引力总是那么好。它是如此令人兴奋。好吧,我想感谢你们所有人,非常感谢你们今天加入我们并分享你们的思维、想法和故事。非常感谢大家。那么现在说再见?

00:27:51 - Robyn Bergeron

再见,各位。

00:27:54 - Sandra Persing

很好。非常感谢你, Saron。能上这期节目很荣幸。

00:27:58 - Ricky Robinett

它已经开始了,游戏工作室对于开源的态度已经开始转变。

00:27:59 - Saron Yitbarek

确实。今天的圆桌会议包括红帽的社区架构师 Robyn Bergeron、 Mozilla 的全球策略师 Sandra Persing 以及 Twilio 的开发者网络总监 Ricky Robinet。我认为自己很幸运,能有这样的平台让我分享对于我们社区将何去何从的愿景,无论是这档播客节目还是在其他地方,但我想要指出的是,你无需拥有自己的播客就能够成为推广大使。成为推广大使只是意味着睁大眼睛并代表他人大声疾呼。这确实可以是每个人的工作。因此,我希望 Robyn、 Sandra 和 Ricky 给了你一点儿有关倡导你觉得重要的事情的启发。

00:28:50 - Saron Yitbarek

同时,《代码英雄》第 3 季已经在制作中了。当新剧集在今年春天推出时,你可以成为最早了解新剧集的人之一。如果你尚未注册,请在 Apple Podcasts、 Google Podcasts 或任何你获得播客节目的地方进行订阅。只需点击一下,100% 免费。我是 Saron Yitbarek。非常感谢你的收听,在第 3 季到来之前,继续编程。

什么是 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-2/developer-advocacy-roundtable

作者:Red Hat 选题:bestony 译者:JonnieWayy 校对:windgeek, Northurland, wxy

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

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

什么是《代码英雄》

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

本文是《代码英雄》系列播客第二季(8):开源好奇号音频脚本。

导语:那些最棒的、最聪明的人用袖珍计算器的计算能力把我们带到了月球。现在他们要带我们走得更远 —— 而且是用我们整季播客都在谈论的技术来实现。开源将带我们去火星。

第二季的结局是将我们带到美国宇航局(NASA)的 喷气推进实验室 Jet Propulsion Laboratory (JPL)。Tom Soderstrom 分享了 JPL 通过拥抱开源获得了多少好处。Hila Lifshitz-Assaf 解释说,NASA 正在用开源软件和众包解决一些最大的问题。Dan Wachspress 介绍了与 NASA 合作意味着专有商业需要做出一些牺牲 —— 但他们可以参与到世界上最具创新性的项目中。

远疆的探索者们选择在开放的环境中工作 —— 火星是他们的目的地。那么下一步呢?

00:00:12 - Saron Yitbarek

2012 年 8 月 6 日,一枚汽车大小的 漫游车 rover 好奇号 Curiosity ,从火星大气的顶层降落到了这颗星球的地表。降落花了 7 分钟,下降的过程仿佛永无止境。漫游车携带着贵重的货物:500,000 行代码,76 台尖端科学仪器,以及另一些工具,用以开展一些前所未有的实验。先是超音速降落伞展开,接着是隔热护盾分离,然后,反冲发动机启动,甚至在半空中部署天车——最终,好奇号平稳着陆。

00:00:59 - NASA 工程师

现在,是时候看看“好奇号”会将我们带向何方了。

00:01:13 - Saron Yitbarek

听见那声音了吗?那就是火星车成功着陆后,满屋子工程师的欢呼声。几天后,他们将收到来自贝拉克·奥巴马总统的贺电。但现在是只属于他们的时刻。这群人一同完成的这件事,是他们中的任何一人永远都无法独自做到的。

00:01:39

我是 Saron Yitbarek,这里是代码英雄,来自红帽的一档播客节目。本季以来,我们见证了开源技术对我们工作方式的重塑,及其对人们能力的拓展。作为线索,社区这个要素贯穿了整季节目。这些故事告诉我们该怎么团队协作,该怎么向行家学习,以及,如何在这同时学会听取新人的意见 —— 一言以蔽之,如何更好地与人交流。

00:02:11

在第二季的终章,我们在记住所有这些道理的同时,我们将探索开源是如何为那些伟大的项目赋能的。你也许在去年的十一月观看了 NASA 的 洞察号 insight 登陆器抵达火星地表。彼时四周皆是欢呼与拥抱。事实证明,这项向星星 —— 这颗红色的星球发射漫游车的任务,只有把宝押在众人合作上才能实现。

00:02:45

我刚才说过了吗?那台火星车有它自己的推特账号。它还有 4 百万粉丝呢。这还不算什么。最近它给地球人发送了一条推文,是一封邀请函,邀请人们使用 NASA 喷气动力实验室开源的说明和代码,建造一辆属于自己的漫游车。我们跟踪采访了一个民间的组织,叫 SGVHAK 小组,他们是第一批自己建造漫游车的人。

00:03:13 - SGVHAK 小组

现在我要试试从坎上开过去。

00:03:15

看看她(LCTT 译注:指漫游车)这样能不能行。

00:03:15

上来了——不,不行。

00:03:15

不行。

00:03:20

她以前很容易就能开过去的。不过我们现在对轮子做了一些改动,她就有点不乐意了。

00:03:27 - Saron Yitbarek

这个小组的成员包括 Roger Cheng、Dave Flynn、Emily Velasco 以及 Lan Dang。

00:03:34 - SGVHAK 小组

Dave 包揽了所有机械设计,我想我应该算是负责组装的。Roger 是我们的程序员,Dave 是机械设计师,Lan 是我们无畏的领导。

00:03:45

你也是一个,你是队里的机械制造专家。

00:03:49

大概吧,应该算是。

00:03:51

跟他们讲讲伺服电机架子的事。

00:03:53

噢,好的。

00:03:54

是你把电机凑起来的,现在可以让它运行,演示一下——

00:03:58

我们现在就拿——

00:04:00 - Saron Yitbarek

打造这样一部漫游车可不是玩乐高玩具。它需要真正的火箭科学家花 200 小时来完成。所以,让我们给这些家伙几分钟的准备时间,稍后再回来。

00:04:19

与此同时,我想了解更多关于为什么一开始 NASA 要将漫游车的技术和代码向全世界开源。我刚刚找到了回答这个问题的最佳人选。

00:04:29 - Tom Soderstrom

我叫 Tom Soderstorm,我是 NASA 喷气推进实验室 Jet Propulsion Laboratory (JPL)的 IT 部门的 首席技术与创新官 technology and innovation officer

00:04:37 - Saron Yitbarek

JPL 总共有大约 6000 人。它是 NASA 的研究中心之一,由联邦政府提供资金,专注于研究如何用无人机械进行太空探索。

00:04:48 - Tom Soderstrom

我们寻找地外生命,我们也探究宇宙的起源和未来。除此之外,考虑到可能的星际移民需求,我们也在寻找地球 2.0。也就是具有类似地球的环境的、另一个适宜人类居住的行星。

00:05:33 - Saron Yitbarek

是的,他们肩负着伟大的使命。不过,事情是这样的。Tom 的团队并不是一群秘密进行研究、与外界全然不接触的工程师。他们与下一代的科学家们有着深厚的联系。他们常常采用全新的方式激发大众的创造性思维。事实上,这是他们工作中至关重要的一部分。漫游车开源计划释放出了部分设计,这样一来,NASA 之外的民间组织就能组建他们自己的漫游车了。这是 NASA 促进创新的宏观战略的一部分。很自然地,Tom 从开源漫游车开始,向我讲述了为何开源 NASA 的成果是如此重要。

00:05:46

有很多人可能像我一样;发现这个网站时,我想,天啊,也许我可以自己打造一个漫游车呢。这真是太激动人心了。这太令人神往了。

00:05:55 - Tom Soderstrom

我们打造这个开源网站,是为了能让公众和学校能够从中学习。而且我们发现,围绕漫游车开源形成的社区是非常优秀的实验平台。所以当我们想测试新鲜事物的时候,这里就是最佳的演练场,非常简单,非常快速,我们能很快就把想要的技术应用到真正的漫游车上。所以我们希望人们能够把像太阳能面板、加速度传感器、科学实验仪器,以及先进的人工智能程序等结合起来,我们只是希望这些经验能够扩散,在这些方面感兴趣的人最终也能对太空感兴趣。因为太空真的是太酷了。

00:06:32 - Saron Yitbarek

所以除了刚才提到的这些之外,人们在这个项目中还做过什么让你印象深刻的,或者是让你觉得激动的事儿?

00:06:42 - Tom Soderstrom

降价是一项非常令人印象深刻的工作,而现在有一堆人在试着用人工智能干这个事儿。这是目前我见到的最有趣的事情之一,我很想看到有人能为其添加一个机械臂。

00:06:55 - Saron Yitbarek

真是太酷了。

00:06:55 - Tom Soderstrom

也是我们正在思考的问题。

00:06:58 - Saron Yitbarek

这个项目是全方位开放的吗?我是指,对于硬件部分,你们给出了一份推荐的零部件清单,但参与者如果愿意,也能自行替换,换成更便宜的,或者换成更贵的;而软件部分就完全是开源的了。这中间有任何非开源的部分吗?

00:07:17 - Tom Soderstrom

没有,完全是开源的。

00:07:19 - Saron Yitbarek

如果你告诉我高中生都能通过这个项目自行制作漫游车,我会觉得非常震惊。那听起来太难了;你知道吗,听起来太高大上了,高到只有 NASA 才会去做的那种。对吧?真正地组装火星车会是件容易的事吗?

00:07:36 - Tom Soderstrom

我们并不想将这做成一个玩具。这个项目是货真价实的,能给参与者带来实际的经验。加利福尼亚州的几所学校已经将其纳入他们的科学、工程与编程课程中,比如所谓的 机械电子学 Mechatronics ,就是上述几方面的结合体。这让我们非常高兴,因为这样,在不久的将来就能有一批训练有素的专业人才来到 NASA。

00:08:04 - Saron Yitbarek

但这似乎不仅有利于未来的 NASA 工程师、未来的科学家,也有利于你们(LCTT 译注:指目前在 NASA 工作的科学家、工程师)。跟我多说说这方面吧。

00:08:14 - Tom Soderstrom

嗯……突然间,我们就有了一个非常简单易用的实验平台。我能想象到开源的漫游车在 JPL 附近行驶,还向人问好。在于艰苦环境中验证某些技术之前,我们能在后院里对它们快速地进行试验。它成为了我们可以实验的移动平台。话又说回来,我认为人工智能会是这些技术中非常有趣的一样,因为它发展得太快了,而且,向它加入新的机器人部件也很容易。

00:08:50 - Saron Yitbarek

所以,理论上来说,你们也可以创建一个你们自己的移动试验场,可以进行试验,也不用将其开源,对吧?它本来可以成为一个内部项目。但它现在是开源的。这能让你们多学到什么呢?

00:09:08 - Tom Soderstrom

嗯,这是一个好问题。为什么要开源?对我们来说,开源才是更困难的选择,不过那也是挑战所在。我们希望,通过将其开源,学校以及其他民间组织能够用上代码,并且将漫游车造出来。编写一本不是机器人学专家的人也能看懂的手册带来了大量额外的工作。但起码,当我们最终将一些东西真正开源的时候,它变得更整洁、更紧凑、文档更完善了;因为我们知道,其他人会来使用这些东西,所以也必须要具备一定的可扩展性。因此,项目的质量提高了。我曾经和 Netflix 的人谈过,他们也有同样的感觉,被开源的代码普遍更加整洁、质量更好。

00:09:54 - Saron Yitbarek

你是怎样看待开源漫游车的?五年,十年,甚至将来的二十多年后,你觉得它们能做什么,而人们能够创造出什么?你认为这些能为身处地球的我们带来什么潜在利好?

00:10:11 - Tom Soderstrom

能带来多方面的利好。现在的漫游车被设计成使用轮子行驶。我可以说,它其实也可以被设计成采用步行,也可以对它进行扩展,加上跳跃的功能。我们已经送了一架直升飞机上火星,它现在还在飞着。所以说,这些漫游车并不仅仅局限于现在我们所说的漫游车。有了全世界各地人们的实验,我们能走得更快,更远,不断探寻可能性的上限,并提出一些坦率地说我们可能没有想到的想法。未来到底会是什么样的?我迫切地想了解,不过我不知道。

00:10:49 - Saron Yitbarek

通过创造这个平台,你们已经为许多人提供了打造自己的“玩具”的机会。接下来就让我们拭目以待吧。

00:10:57 - Tom Soderstrom

是的,这是很重要的一点。因为我发现,我能想到的主意都已经有人做过了。但我们需要找到这些人。无论我们最开始做的是什么,一旦到最终用户手上,他们就能以我们无法想象的方式将其改进十倍。所以,向大众开放一些这样的“玩具”,任他们自由发挥,他们会因此而得到锻炼,这对将来使用更先进技术的任务也大有益处。

00:11:23 - Saron Yitbarek

这真是太棒了。

00:11:29

如果你想了解开源漫游车项目,你可以访问 opensourcerover.jpl.nasa.gov 。你能在那儿玩个尽兴。我们稍后再与 Tom Soderstrom 进行更多讨论。但首先,让我们来更深入地挖掘 NASA 与开源之间的关系。

00:11:51 - Hila Lifshitz-Assaf

大家好,我是 Hila Lifshitz-Assaf,纽约大学商学院的教授。

00:11:57 - Saron Yitbarek

Hila 正在研究 NASA 是如何打破知识壁垒的。

00:12:02 - Hila Lifshitz-Assaf

如果你能够回到过去,回到 15 世纪,看看那些孤独的发明家,像莱昂纳多·达芬奇和其他人,他们某种程度上只在自己所在的本地社区活动。之后,有了工业革命,有了实验室。此后的两百多年里,人们都在实验室里工作。最大的变化发生在 21 世纪,数字革命之后我们有了开源的概念,而它打破了之前这类组织结构的边界。

00:12:34 - Saron Yitbarek

在 NASA 工作的日子里,Hila 见证了这种巨大变革的典型例子。

00:12:39 - Hila Lifshitz-Assaf

NASA 最吸引我的一点在于,他们就某种意义上来说是最勇敢的,因为他们勇于接受战略性的 研究与开发 research and development (R&D)事业中的挑战,他们的科学家、工程师,最优秀的一批人才为此而努力工作,并使这些挑战向大众开放。而且,我必须说,直到现在,很多其他的组织在做开源科学或是众包的时候,他们不会把最核心的、战略性的难题交给社区,而是只开放一些次要的任务。无论成功还是失败,这都不会让他们的组织蒙受多大损失。而 NASA 做的事情,一旦成功了,就真的改变了一切。

00:13:14 - Saron Yitbarek

自 2009 年起,NASA 就开始使用像 Innocentive 和 Topcoder 这样的开源创新平台。而且,他们不是闹着玩的。就像 Hila 所提到的,他们甚至把他们核心的 R&D 难题都放了上去。

00:13:29 - Hila Lifshitz-Assaf

这些问题上传之后,甚至没过一年,我们就已经陆续开始看到来自众包平台的解决方案。

00:13:34 - Saron Yitbarek

这确实很快。我将在此举出一项研究成果,它是 NASA 开源科研的诸多喜人硕果之一。Hila 向我们将讲述,他们是如何将太阳耀斑的预测技术提升一个台阶的。

00:13:46 - Hila Lifshitz-Assaf

嗯……太阳耀斑的预测是学术界研究了数十年的一项非常困难的太阳物理学问题。总的来说,他们已经完成初步的构想,以便更多的人可以参与这方面的研究。而且他们非常在意这一点。这让我觉得很惊奇,因为他们确确实实地希望能从太阳物理学圈子外的人那里找到解决方案。Bruce Kragan,一名来自新罕布什尔州乡村的、半退休的无线电工程师,只花了三个月,就给我们带来了太阳耀斑的预测方法。当 NASA 验证模型时,他们发现,这种预测方法的准确率有 80%。用传统方式需要花费数百万美元及数年时间才能获取的成果,在三个月内就被收获了,花费大概在三万和四五万美元之间。

00:14:36 - Saron Yitbarek

你也许已经猜到了,这样的变化需要 NASA 内部的文化作出改变。

00:14:44 - Hila Lifshitz-Assaf

他们中的有些人选择邀请外来的解决方案提供者进入项目组,还有一些选择提供实习或合作机会;他们采用了很多有意思的方法来交流知识,使其不至于淤塞。

00:14:59 - Saron Yitbarek

仔细想想,这其实是很美好的。就如我们所知,很多组织仍然抵制开源活动,不愿放弃专有软件。但在这里,你可以找到这个星球上最具创新性,愿景宏大的一群科学家;而他们说,嗨,我们一起来。这样的态度有绝大的影响力。

00:15:22 - Hila Lifshitz-Assaf

我们已经看到了开源给软件行业带来的变革。我们目前尚未在科学与技术方面见到太多改变,不过,我认为,现在就是最好的时机。计算物理学、计算生物学越是崛起,这就越有可能实现。我认为,像这样,就有更多人能够参与到科研中,协助处理不同的任务。以这种方式,科学技术的发展速度或许甚至能够超过应用开发。

00:15:53 - Saron Yitbarek

Hila Lifshitz-Assaf 是一位来自纽约大学斯特恩商学院的教授。

00:16:00

NASA 在开放他们的研究课题的道路上受益良多,但他们也通过 中小企业创新资助计划 Small Business Innovation Grant Program ——这个项目鼓励私营经济中的创新——打造了另一种社区。所有 大胆的计划 blue sky projects 都有风险,可能付出代价,但有时回报也尤其丰厚。

00:16:22 - Dan Wachspress

大家好,我叫 Dan Wachspress,我是一名航空工程师,在 Continuum Dynamics 集团工作。

00:16:28 - Saron Yitbarek

Dan 的公司专注于研究与开发旋翼飞行器,也就是直升机、旋翼飞机这类的飞行器。这可以说从是字面上看就很“ 蓝天 blue sky ”(LCTT 译注:此处呼应之前提到的 blue sky projects)了。他们一直与 NASA 合作,致力于解决垂直升降的问题,让飞行器能变得像是 Jetson 的“空中出租车”(LCTT 译注:典出《The Jetsons》,一部始播于 1962 年的系列动画,这里的 Jetson 指动画主角 George Jetson)那样。

00:16:50 - Dan Wachspress

总体的构思是,只要用电动机代替车辆上的燃气涡轮发动机,你就可以安装更多推进器。它们会比现有的更安静、更安全,直升机所有恼人的问题统统消失,而我们可能会得到这样的未来:你打个的就能从达拉斯去到沃斯堡(LCTT 译注:均为美国得克萨斯州的城市),而那是一辆准乘 5 人、无人驾驶的电动飞的,而非一辆汽车,在汽车里面你还得跟堵车较劲。这就是我们的愿景。

00:17:22 - Saron Yitbarek

有很多公司,比如 Uber,对这种空中出租车的设想非常感兴趣。而 NASA 在这之中扮演的角色是伟大的:它打破了不同公司本要各自为营死磕研究的壁垒。

00:17:38 - Dan Wachspress

那些公司必定不想走漏风声,他们想保持商业机密,不愿共享成果。NASA 的目标就是把尽可能多的研究成果送到他们手里,让他们尽可能地获得能力。而且我敢说你如果去问他们任何一家公司,他们肯定会说,没有 NASA 长久以来的技术支持,他们没法做到这么快地开发。

00:18:13 - Saron Yitbarek

我想这并不影响 NASA 拥有一些非常棒的风洞。从火星漫游车到飞行汽车,你有感觉了吗?我们谈论的是创新,天穹尚且不是我们的极限。而且这一切都归功于我们全地球级别的合作,而正是开源观念让这一切成为可能。

00:18:41 - Saron Yitbarek

我们再回来和 NASA 的 Tom Soderstrom 聊聊。Tom 认为,我们两季以来探讨的开源的“魔力”已经形成了一股巨大的推动力。他称之为第四次工业革命。

00:18:59 - Tom Soderstrom

创新总是与科技的潮流挂钩。当今,有好几波科技浪潮同时袭来,它们的合流将引起巨大的海啸。它们逼近得越来越快,所有事物都会为之改变,因此,我称其为第四次工业革命。

00:19:21 - Saron Yitbarek

我将简单几句带过那些浪潮,虽然就它们中的每一样都可以独立讲一期节目。Tom 所说的“即将到冲击我们生活的潮流”包括了大规模的网络安全问题、量子计算之类,也包括了各类“ 软件定义的 software-defined ”东西。但这些只是其中的一小部分。他还提到了 普适计算 ubiquitous computing 自然用户界面 natural interfaces 和物联网。

00:19:49 - Tom Soderstrom

这些技术都将是那场海啸的一部分,生活将因为无处不在的 内置智能 built-in intelligence 而大为改观。

00:19:54 - Saron Yitbarek

想象一下,如果这些技术合流,产生了 1+1 大于 2 的效应,“海啸”发生,情况会变成什么样?

00:20:04 - Tom Soderstrom

我不认为这种变化会是突然发生的;不会有像是一个人站起来感叹“你看这个”这样的情况。就如我刚才所说,内置智能会渗透进生活的各个方面。“智能”,对吧?比如智能电视,或者智能会议室。我们生活中的事物会变得越来越智能,越来越聪明。对于企业来说,它意味着,你可以对着一个房间提出问题,然后程序会为你在数千种不同的数据源、好几 PB 的数据里找出答案。而这背后,就是自然语言处理、深度学习、机器学习这样的技术;而我们不会突然说,“哇,我们已经发展到这种地步了”。不会的,这是一个循序渐进、潜移默化的过程。

00:20:49 - Saron Yitbarek

这第四次工业革命,又会如何影响你在 JPL 的工作呢?

00:20:57 - Tom Soderstrom

我认为首先是实验,下一场工业革命可以帮助我们更快地完成实验,并且利用更好的组件,包括软件和硬件,也许我们不需要把所有的东西都造出来,但是我们可以更智能地使用它。然后是开源。开源真是一项颠覆我们工作方式和工作内容的事业。

00:21:23 - Saron Yitbarek

此话怎讲?

00:21:24 - Tom Soderstrom

说到开源这东西,我的资历足够老,我当年也经历过开源战争。当时开源还只是个玩笑。那时的开源很糟糕,开源软件似乎比商业软件低一等似的。不过,那些都已经是过去了,至少在喷气动力实验室是这样的。现在,开源的方式更适合我们。开源的研究与开发更加经济划算,也可以更快地做实验验证。另外,因为开源软件的存在,现在我们再也不用全部从头造轮子了。我们可以自己开发;在此之后,如果我们选择将之开源,就能从社区获得帮助,对成果进行改进。开源的软件和科研也能为我们招贤纳士。这就很有趣了。

00:22:05 - Saron Yitbarek

确实很有意思。

00:22:07 - Tom Soderstrom

我认为现在的人们,特别是新一代,可以将他们的项目开源,以此获得更多的影响力,得到尽可能多的星标。你可以看见他们的简历上写着,我开发的软件得到了多少星标。

00:22:21 - Saron Yitbarek

对你来说,让你们的工作方式和内容发生变化的开源,并不是什么新鲜事物,对吧?这点让我很感兴趣。你说你经历过开源战争。你也见证了开源在这么多年来的发展。那么,当今的开源有哪些优势是十年、十五年、二十年前没有的呢?

00:22:47 - Tom Soderstrom

有两点。一个就是云计算。我们不用签署一份大合同,购买一堆软件然后使用许多年。我们可以在云端简单地做个实验。这点相当重要。还有另外一点,就是开源并不比闭源的安全性差。这早就不是 —— 请原谅我的用词 —— 一个 信仰 religious 的问题了。这更多地只是一个实用性和经济性的问题。

00:23:15 - Saron Yitbarek

开源显然在你的工作当中扮演了一个重要的角色;尤其是当你谈及喷气动力实验室的未来,以及你期望它以怎样的方式前行的时候,开源似乎仍将是故事的重要组成部分。说到开源社区式的合作开发,你认为这种方式在最理想的情况下能够导向怎么样的成果?而对于人类,它的意义又是什么?

00:23:42 - Tom Soderstrom

好问题。我认为你刚刚已经说出了正确答案——“人类”。它的理想结果是能让每个人都参与到这份工作中来,而它的意义也在于此。你知道,总有一天我们会把人送上火星。我们要探索更广袤的深空,去寻找地球 2.0。我们还要再开展一次载人登月。这些都需要来自世界各地的人们积极参与。

00:24:15 - Saron Yitbarek

我被这场变革深深的吸引了。Tom Soderstrom 是 NASA 喷气动力实验室的首席技术与创新官。

00:24:29

从地球 2.0 的话题,回到地球 1.0。我们应当铭记,“第四次工业革命”的起源,也是艰苦朴素的。开源项目固然可以变得宏大无比,但千里之行毕竟始于足下;一项伟大的事业,在其伊始,或许只是几名极客试图让漫游车正常工作。

00:24:47 - SGVHAK 小组

我们再看看这样它能不能跑起来。我们会——再加一样东西,方便它从坎上过去。过去了!耶!

00:24:59 - Saron Yitbarek

耶。

00:25:02 - SGVHAK 小组

啊呀,我下不来了,它被卡在花坛里了。

00:25:14

我们把它抬出来就行了。

00:25:16

这又不是在火星。你可以直接走过去,把它拿起来。

00:25:20 - Saron Yitbarek

我觉得他们有所进步。

00:25:25

让我们和这些代码英雄说再见吧,他们要继续学习、探索、投入他们的工作了。他们会知道,通过开源,我们总有一天可以到达天空之外的高度。

00:25:40

如果你想让你自己的开源游戏项目上一个台阶,不要忘了我们正在开发《代码英雄》游戏,开发已经持续了一整季的时间,现在你仍然可以贡献代码。

00:25:52 - Michael Clayton

嗨,我是 Michael。

00:25:52 - Jared Sprague

嗨,我是 Jared。我们是《代码英雄》游戏的开发人员。

00:25:58 - Saron Yitbarek

我们请来了红帽的 Jared Sprague 和 Michael Clayton,看看情况怎么样。

**00:26:03 - Michael Clayton\_

我有点惊讶于我们这么快就引来了这么多的感兴趣的人。反响非常好,提交的拉取请求蹭蹭上涨。

00:26:17 - Saron Yitbarek

你认为是什么让大家这么激动?

00:26:18 - Michael Clayton

我认为我们播客的许多听众都受到了鼓励,因此他们看到这个开源项目就迫不及待地想试试看。尤其是自从我们开始征求不限类型的贡献,让任何想要贡献的创意人员、任何类型的工程师都能够参与项目后,听众就找到事儿做了。

00:26:39 - Saron Yitbarek

那么接下来希望社区能给大家带来什么?这游戏还在开发中。你最想见到什么?

00:26:47 - Jared Sprague

我个人非常享受开发过程中的进入节奏的感觉,我们让大家贡献美术素材和音乐以及音频效果、故事线、代码,所有这些东西都可以并行不悖。一旦每个人都进入节奏,我们可以一起开发,共同看着游戏被开发出来,那真是太美妙了。

00:27:14 - Saron Yitbarek

顺带一提,我们的游戏的公测版将会在今年的五月七日到九日,在波士顿开办的红帽峰会发布。届时,数千名像你一样的代码英雄会前来进行为期三天的创新与教育之旅。访问 redhat.com/summit 以查看详情。

00:27:34

最后一件事,这或许是第二季的最终章,但这不是真正的告别。第三季已经在筹备中!与此同时,我们也会为大家带来一期彩蛋。我们开展了一次圆桌会议,与你们最喜爱的思想家们探讨开源的未来。请锁定一月份。别忘了,如果你不想错过最新一期节目,记得点关注哦。就点一下,点一下又不会怎么样,这样你才能在第一时间收到新内容的通知哦。

00:28:09

我是 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-2/open-curiosity

作者:Red Hat 选题:bestony 译者:Colin-XKL 校对:Northurland, wxy

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

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

什么是《代码英雄》

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

本文是《代码英雄》系列播客第二季(7):无服务器音频脚本。

导语: 无服务器Serverless到底意味着什么?当然,总得有服务器存在 —— 构建网络的基本架构不会改变。不过在将服务器交给一小部分人运维之后,开发者们会发生什么变化呢?

无服务器编程让初学者们可以更加轻松简单地部署自己的应用程序,让工作更有效率,这是它的优点。Andrea Passwater 跟我们分享了抽象底层架构会给我们带来多大的便利。不过凡事必有代价,无服务器化也有很多问题。Rodric Rabbah 解释了无服务器意味着你将部署和回应问题的能力拱手献出 —— 这就是为什么他帮助创建了 Apache OpenWhisk,这是一个开源的无服务环境框架,同时 Himanshu Pant 也来分享了他对于何时应该使用无服务器服务的观点。

无服务器编程应该是为开发者们 赋能授权 empowerment 的。我们也应该对于全局场景保持关注 —— 尽管我们精简了我们的工具箱。

00:00:03 - Al Gore 档案

现如今,当然了,在全美乃至全世界,互联网正在彻头彻尾地改变着我们的生活。

00:00:13 - Saron Yitbarek

那是 1998 年。 Google 才刚刚雇佣了它的第一名员工,副总统 Al Gore 在接受媒体采访。

00:00:22 - Al Gore 档案

这项技术还处于起步阶段。当我和 比尔·克林顿 Bill Clinton 总统入主白宫时,只有 50 个网站。现在看看,我在生日那天收到了一束虚拟鲜花。

00:00:37 - Saron Yitbarek

好的。我已经感觉到你的眉毛皱起了。为什么我要向你展现某些 20 年前的互联网史?这是因为我想要提醒你,互联网的基础仍然是相同的。

00:00:51

当然,现在有不止 50 个站点了,我知道。但是,我们仍然在发送虚拟鲜花。从开发人员的角度来看,如果你将我们所有的惊人进步剥离开来,你得到的仍然是相同的“ 客户端 - 服务器 client-server ”(C/S)模型,这就是一切的开始。一个提供了分布式网络的客户端 - 服务器模型。

00:01:16

如今,开发人员谈论了很多有关 无服务器 Serverless 的问题,这听起来像是 Al Gore 谈到的客户端 - 服务器模型被废弃了。而且,如果我们不小心,我们能够抽象出太多的基础架构,以至于忘记了仍然有服务器在那里做着它们的工作。

00:01:37

但是,无服务器真的意味着没有服务器吗?真的吗?还是开发人员与服务器之间的关系正在变化?在这一集中,我们将与来自世界各地的人们交谈,以探索这种被称为“ 无服务器 serverless ”的东西。

00:01:54

我是 Saron Yitbarek,这里是《代码英雄》,一档来自红帽的原创播客节目。

00:02:03 - Andrea Passwater

你知道无线网络在某些地方还有线缆吗?

00:02:06 - Saron Yitbarek

Andrea Passwater 在一家名为 …… 嗯…… “无服务器” 的公司工作。他们创建了一款流行的开源框架来开发无服务器应用程序。Andrea 注意到了各个组织是多么渴望抽象化基础架构的方法,而这正是神奇的“无服务器”一词始终给予人希望的地方。

00:02:28 - Andrea Passwater

我认为这一术语主要是为了传达这样一个事实,即如果你是从事无服务器应用方面工作的开发人员,你不必考虑那些服务器。你只需要写代码并将代码部署到云提供商即可,而不必担心管理。这就是无服务器的真正含义。

00:02:49 - Saron Yitbarek

对于 Andrea 来说,无服务器的吸引力很明显。

00:02:53 - Andrea Passwater

倘若你以无服务器的方式开发应用程序,则可以不必去考虑部署和维护该应用程序的日常工作。这意味着你可以专注于它的商业价值,你可以专注于发挥创造力。

00:03:12 - Saron Yitbarek

而无服务器的另一大好处是,你不太可能发现自己在重复造轮子。

00:03:18 - Andrea Passwater

当有像 Auth0 这样可以直接使用的服务存在时,为什么要创建自己的身份验证方法呢?归根结底,无服务器就是为开发人员提供机会,使得他们能够更加轻松快速地构建起能把他们脑子里的所有的主意带到世界上的程序。

00:03:41 - Saron Yitbarek

我明白了!

00:02:27

想象一下,你拿了满手的东西,正跌跌撞撞地走向一扇门。这扇门滑开了,以简单、友好……

00:03:50

(让我来说)

00:03:51

……的方式。这就是无服务器。它为你打开了大门,使得开发工作不再那么繁琐。事实上,随着各个组织趋向于混合云环境,以及无服务器运动的发展,开发的障碍正在消失。

00:04:09

Andrea 听说过很多有关非开发人员进行开发的话题。

00:04:15 - Andrea Passwater

这是传统上认为自己写不了代码,而现如今由于无服务器而得以投身于软件工程的人的故事,并且能够开发这些使得他们自己的工作流程和类似的东西自动化的工具。这与你你做什么工作都没关系。

00:04:31

你在工作中要做的一些事情是如此的呆板无聊,比如你每天都在做的例行事情,和那些你会想“难道计算机不能为我做这件事吗?”的事情。我开始有了这种感觉的时候,我碰巧在一家名为“无服务器”的公司工作,他们像这样:“你意识到我们制作的产品可以为你提供帮助,对吗?”

00:04:50 - Saron Yitbarek

Andrea 认为,不久之后,许多从未将自己视为开发人员的人将意识到他们能够自己构建简单的应用程序,基本上免费。

00:05:02 - Andrea Passwater

借助 Lambda,我从不需要为自己制作的任何小型应用程序付费。我可以让这些机器人为我做一部分工作,是的,我可以提高工作效率。但是,我也不必再做这些无聊的工作了。我可以做些更有趣的事情。

00:05:17 - Saron Yitbarek

即使是对于专业开发人员来说,这种自动门效果在满手杂物的世界里也是很诱人的。

00:05:25 - Andrea Passwater

我认为人们对于能够让一两个人的团队,在短时间内就让原型工作起来很感兴趣。在几天时间内,他们就可以启动并运行原型。我认为这使得人们开始意识到,他们可以专注于驱动他们的应用、产品和公司中的商业价值的部分。这非常让人兴奋,他们可以专注于商业价值。

00:05:54 - Saron Yitbarek

我要再抛出一个术语给你。准备好了吗? 功能即服务 Functions-as-a-service (FaaS)。就像是 AWS Lambda 或 Apache OpenWhisk 之类的无服务器产品。“功能即服务”意味着,只有在被触发时程序才会执行某个功能,这效率更高。

00:06:15

此外,这让我对计算能力和运行时间的担心少了很多。最终,无服务器可能会成为一个相当不错的基础配置。事实上,有些人甚至开始怀疑,我们是否要完全使用无服务器?它可以替代容器吗?

00:06:34 - Michael Hausenblas

我理解这这种想法。

00:06:35 - Saron Yitbarek

Michael Hausenblas 是 Red Hat OpenShift 团队的开发倡导者。

00:06:41 - Michael Hausenblas

如果你看一下我们现在拥有的这些东西,包括 OpenShift 和 Cloud Foundry 和一些其他东西,你实质上就拥有了抽象化。基本上,Heroku 或多或少地倾向于向这个想法。对吗?这是非常简单的方式,无需担心程序会如何运行,无需担心它是什么样的。只需要给我们代码,我们来处理剩下的工作。

00:07:03 - Saron Yitbarek

是的。听起来相当不错。这听起来有点儿像是梦想中的“ 无运维 no-ops ”环境,一切都自动化并且抽象化了,就像是开发者版本的极简主义室内设计。很棒、很干净的界面。

00:07:21

但是, Michael 想要让你了解你一些现实情况。

00:07:25 - Michael Hausenblas

没有运维!是吗?你知道,它只是神奇地以某种方式消失。你可以在 HackerNews 和 Twitter 以及其他任何地方看到这些笑话。无服务器?当然有服务器!我知道,当然有。而且也肯定有运维。

00:07:39

总得有人去做这些,总得有人去架设服务器、给操作系统打补丁、去创建容器镜像,因为,你猜猜这些功能会在哪里执行?当然是在某种计算机上。

00:07:54 - Saron Yitbarek

这不是零和博弈。功能即服务无法直接取代容器,而是在工具箱中增加了一个工具。我还有更多的事情要告诉你。通过使用这种新工具,转变成无服务器并不只是意味着运维就是其他人的事情,你仍然需要自己考虑自己的运维。

00:08:14 - Michael Hausenblas

你会看到在基础架构侧有一点运维工作。但是,也有一点是开发人员的事情。如果你处在一个极端情况之下,比如说使用 Lambda,那么你是没有任何任何类型的管理员权限的,对吧?

00:08:29

你不能简单地致电或是短信给一名基础架构管理员。显然,你组织之中的某一个人就必须得做这件事。但是,我担心许多组织只看到了它是如此简单而便宜。我们无需动这个,还有这个、这个,然后忘记了谁在待命,谁是真正地在待命?你对此有什么策略吗?

00:08:52

如果没有的话,那么你可能会想要在进行之前,先制定一个策略。

00:09:00 - Saron Yitbarek

需要有人处于待命状态。即使选择了“无服务器”,你仍然需要在头脑中萦绕更大的场景,你仍然需要让你的运维有序进行。

00:09:24

在我早先时候抛出那个“功能即服务”术语时,你是不是有过些许畏缩?过去,基于云的开发为我们带来了大量的 “xx 即服务”的术语。我们有基础架构即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)、数据即服务(DaaS)、数据库即服务(DBaaS) …… 等等。

00:09:48

如果你难以理解它们的不同,那你并不孤单。这就是我们找来了 Himanshu Pant 的原因。他是位于印度德里的苏格兰皇家银行的技术主管。他花了多年时间来分析其中的差异。

00:10:04 - Himanshu Pant

这些其他的计算范例在名称上和无服务器听起来是如此的相似,以至于人们往往会忘记,或者困惑于为什么没有将它们称之为无服务器,或者为什么这个被称为无服务器。

00:10:20 - Saron Yitbarek

因此,无服务器与容器不同,无服务器也不是平台即服务。但是 Himanshu 希望将其明确一下。功能即服务能够提供什么?又不能提供什么?

00:10:35

他与我们分享了两件轶事,有两次他弄清楚了什么时候该使用无服务器,什么时候应该放弃。第一次来自一个 24 小时黑客马拉松。 Himanshu 当时正试图开发一个聊天机器人。

00:10:49 - Himanshu Pant

有各种各样的指标会影响它的选择。例如逻辑覆盖率、可能产生的成本以及可伸缩性。而我选择在无服务器环境下完成这项工作。

00:11:04

当我在开发它的时候,我意识到成本是一个层面,而这确实是我所青睐的技能。因此,即使其他所有的参与者都有更好的……我想说的是,覆盖率,或者说是逻辑覆盖率。这里讲的是 NLP 语境或其场景。

00:11:19

但是,就成本和可伸缩性而言,我是手操胜券的,因为借助无服务器,这完全取决于人们在该聊天机器人上所进行调用的次数,并相应的触发该功能。这是一个我十分乐意采用无服务器的用例,因为成本 —— 没有成本。以及更快的开发时间,而且老实说,当时还并不完全是生产规模级别的工作负载。

00:11:45

我可以使用平台上的某些新兴工具。这对我而言是一次胜利。

00:11:52 - Saron Yitbarek

很好。那时无服务器才有了意义。但是,在 Himanshu 目前供职的银行里,人们正在将他们的系统从旧版迁移到云端。而这提出了不同的目标。

00:12:07 - Himanshu Pant

我们正在尝试查看哪些工作负载适用于哪些范例。比如 IaaS、BaaS、FaaS,这显然是属于企业领域的。你要看到这些方面,比如说第一,可靠的供应商难以寻找,以及第二,该技术应该得到广泛的验证。这对于像是银行业这样的规避风险的行业而言更是如此。

00:12:30

这就是平台即服务(PaaS),但是仍然需要更好的证明、更好的功能,以及它们比传统工具更优越的地方。

00:12:40 - Saron Yitbarek

Himanshu 正在研究自己的需求以及他自己的舒适区,并且研究哪些工作负载在哪种云计算规范中是有意义的。

00:12:49 - Himanshu Pant

假设某个听众在一家贸易商店工作,他想构建某种东西,比如说一个入口。对于他或者她来说,无服务器可能并不是真正合适的选择,因为在那种在特定机器的应用程序中,延迟可能是不该出现的。

00:13:05 - Saron Yitbarek

归根结底,这是一种有节制的做法,而不是将所有东西都丢进一个桶里。当我们思索哪一种基于云的架构是真正我们所想要做的工作时,还有一件事情需要考虑。所有这些抽象的东西,所有解放你双手的东西,最终如何改变的不仅仅是我们的工作方式,还改变了完成工作本身。

00:13:31

抽象掉一部分工作负载可能意味着更少的自定义选项。想象一下你购买的一辆车。它能工作,它能开。但是接着想象一下你自己组装的一辆车,这辆车会按照你决定的方式工作。

00:13:48 - Rania Khalaf

这是有代价的。

00:13:50 - Saron Yitbarek

Rania Khalaf 是 IBM 研究部门的 AI 工程总监。

00:13:56 - Rania Khalaf

在使用这些无服务器应用程序的过程中,你可能无法完全控制所有正在发生的事情。你无法控制全盘计划,或是程序何时何地运行。

00:14:06 - Saron Yitbarek

这是一种权衡,对吗?当你使用无服务器时,细粒度控制可能会失误。

00:14:13 - Rania Khalaf

它对于终端用户而言,抽象化了如此之多的东西,以至于你想要拥有更多的控制权、不同的规划、更多的检查与平衡、功能可以运行多长时间的不同值,等等等等。那么,如果你真的希望能够进入系统并修补,也许你可以创建你自己的部署环境。

00:14:32 - Saron Yitbarek

不过,这将需要一些新东西,一类新的无服务器环境,开源社区已经在为自己打造了它。Rania 和她的 IBM 团队参与了该运动。

00:14:44 - Rania Khalaf

我们首先研究是一种语言……它基本上是 JavaScript 的扩展,可以让你创建这些多线程交互服务的组合,以此作为起点,为你提供一种更加轻量级服务的方式。大约在同一时间,云和微服务以及平台即服务开始真正兴起。

00:15:08

仅仅是将这两种趋势结合起来,就可以用可能来自于你,也可能来自其他人的许多小部件,构建更加高阶的功能。

00:15:18 - Saron Yitbarek

Rania 和她的团队正在构建 Apache OpenWhisk,一款开源的功能平台。

00:15:23 - Rania Khalaf

对于 OpenWhisk,我们从一开始就开源了。其中很大的原因是,为了让社区和我们一起参与进来。但是同时也是为了揭掉外包装,将控制权交给想要运行自己的无服务器计算环境的人们,以便他们能够根据自己的需求对其进行自定义,也许将它们置身于自己的控制之中,看看它实际上是如何运行的,以对其进行更好的控制。

00:15:54

而且,我们还可以提供更加精细的控制,如果仅仅是普通服务,人们就不会有这种控制。

00:16:03 - Saron Yitbarek

将控制权交还给想要运行自己的无服务器运行环境的人。这是下一阶段的无服务器。加入 OpenWhisk,你将获得像是 Fission 和 Gestalt 之类的其它开源平台。我们开始看到无服务器领域正在演变得比原先更具适应性,而且功能更为强大。

00:16:31

为了真正了解为什么开源版的无服务器很重要,我与 OpenWhisk 的创始人之一进行了谈话。

00:16:39

嗨,Rodric。最近好吗?

00:16:40 - Rodric Rabbah

很好。你好吗?谢谢你邀请我参与节目。

00:16:42 - Saron Yitbarek

Rodric Rabbah 是构思并创立 OpenWhisk 的三位开发者之一。以下是我们的谈话。

00:16:54 - Rodric Rabbah

别人可能会很困惑,也可能会窃笑,因为人们可能会想:“倘若没有服务器,你要怎么做计算呢?”

00:17:02 - Saron Yitbarek

是的。服务器就在某处,只是我不必去费心考虑它。

00:17:05 - Rodric Rabbah

完全正确。这就是这个模式的真正美妙之处。当你开始以无服务器的方式进行开发时,你就再也不想回到过去了。你知道的,如今我已经置身其中接近 4 年了,并且已经开发了一些达到生产质量的应用程序。

00:17:19

这是我如今惟一的开发方式。如果你告诉我必须要配置一台计算机并且安装操作系统,这对我而言完完全全是陌生的。我甚至都不确定我是不是还知道该怎么做。

00:17:29 - Saron Yitbarek

是的。当你这样说的时候,听起来像是减轻了很大的负担。你知道吗?当最初听说无服务器时,至少我会想:“伙计,我必须要去学习的事又多了一件。”

00:17:38

但是,当你这样说的时候,听起来不错。

00:17:41 - Rodric Rabbah

这确实听起来很棒。然而,你应该已经意识到你必须要从这幻想的气泡中抽出一点儿空气。它不是万能药。

00:17:50 - Saron Yitbarek

有哪些令人惊讶的风险或问题是人们在起步时可能没有看到或意识到的呢?

00:17:58 - Rodric Rabbah

我认为缺乏透明度可能是最大的问题。这有点儿让我想起了新语言问世时出现的,那些提高了计算机抽象水平的技术。在当今的无服务器环境中,这是一种类似的令人震惊的效果。

00:18:16

在这个过程中,你通常会写一个功能,然后只需部署这个功能即可。它可以立即运行,比如在 web 上作为 APIN 点。它可以大规模伸缩。我的意思是你无需自己做任何工作即可运行数千个实例。

00:18:32

但是,倘若哪里出了问题,那应该如何调试呢?或者我实际上是想要检查我的功能失败的上下文环境。通常,这些功能在进程内运行,与你隔离 —— 你甚至无法登录计算机查看你的代码在何处运行。它们可能在封闭的容器环境之中运行,你不知道里面有什么。

00:18:53

获得一点儿透明度对你而言变得很困难。这是工具最终将提供帮助的地方。但是,工具的缺乏某种程度上会让人们陷入一个相当大的陷阱。

00:19:05 - Saron Yitbarek

这真的很好。那么让我们回到 OpenWhisk。请给我说说关于它的事情。

00:19:11 - Rodric Rabbah

该项目在 Amazon Lambda 宣布推出产品的那一刻就开始了,这实际上是无服务器开始成为术语,并且开始在该领域获得关注的时刻。当我们看到 Lambda 时,我们开始思索:“这里有许多技术需要开发。不仅仅是在新的云计算的基础层上,而且在置于其上的编程模型之上,这实际上都使得它更易于被程序员访问。”你知道,由于出自 IBM 研究所,我们拥有相当强大的技术,不只是编程语言设计、编译器专业知识以及运行时的专业知识的技能。

00:19:54

我们的一个小团队,基本上三个人……

00:19:57 - Saron Yitbarek

哇。

00:19:57 - Rodric Rabbah

……聚集在一起,做了最初的开发和原型,最终成为 OpenWhisk,带有命令行工具,这是现如今无服务器实际上的编程接口。编程模型概念,然后是它必须支持的实际架构,本质上,是服务器模型的这个功能,提供了无服务器所支持的所有好处。

00:20:22

请注意,真正的起源是 Amazon Lambda 的出现,并可以说这是一种新的计算模型。

00:20:28 - Saron Yitbarek

那么花了多长时间?或者说是第一个版本什么时候出现的。

00:20:30 - Rodric Rabbah

实际上很快。事实上,当 IBM 宣布……好吧,那时还是 IBM OpenWhisk。从我们第一次提交到现在才一年。

00:20:39 - Saron Yitbarek

哇。我的天哪。

00:20:41 - Rodric Rabbah

这着实令人激动。

00:20:43 - Saron Yitbarek

这确实很令人印象深刻。事实上,当它第一次启动时,它不叫 OpenWhisk,而是 Whisk。对吗?

00:20:49 - Rodric Rabbah

Whisk 是内部名称,没错。我取的这个名字。这个名字背后的意思是迅速而又灵活地行动。

00:21:00 - Saron Yitbarek

很好。

00:21:01 - Rodric Rabbah

你“搅拌”了一个功能,就可以了。你可以将其放入烤箱中烘焙。

00:21:07 - Saron Yitbarek

太好了,因为当我看到它,我肯定想的是鸡蛋。我在想,让我们“ 搅拌 whisk ”一些鸡蛋。

00:21:12 - Rodric Rabbah

对。我们对该名称进行了一些正面和负面的评价。当我们开源一项技术,并将其放到 GitHub 上时,我们会在上面加上 open 前缀,以强调该技术与开源一样开放,可以自由使用、自由下载、自由贡献。

00:21:32 - Saron Yitbarek

是的。

00:21:33 - Rodric Rabbah

我们将其开源的目的,实际上是一定程度上提升可以在当今无服务器平台上执行标准。对我们来说,重要的是要建立一个平台,不仅可以用于生产环境,还可以与全世界共享,而且还可用于学术研究或一般性研究。也许因为出自 IBM 的研究机构,我们有点儿在意这个。

00:22:00

但是,这是有所回报的,我知道一些大学 —— 从 Princeton 到 Cornell —— 在他们的研究中使用 OpenWhisk。我去过 Brown、 Williams College、 MIT、 CMU 等几所大学,并且进行了一些讲座,目的是鼓励学生真正地去研究围绕无服务器以及服务器功能的问题、工具、编程模型,并且使他们对技术感兴趣。

00:22:26

向他们显示,如果他们真的为开源项目做出了贡献,那么有一条路可以让 IBM 的云功能接受它并在生产环境中运行,通常在一周之内。

00:22:34 - Saron Yitbarek

哇。这么快。

00:22:36 - Rodric Rabbah

这让一些人感到惊讶。

00:22:38 - Saron Yitbarek

这是一个非常高效的过程。

00:22:41 - Rodric Rabbah

这确实证明了我们是如何在开源环境下开发许许多多技术的。这不是一个开放核心模式,有些组件有所保留。实际上在 IBM 云之中所运行的就是 Apache OpenWhisk 项目。

00:22:56 - Saron Yitbarek

当你思索无服务器的未来,以及我们所选择的前进道路时,你觉得它们将是不可避免地奔向开源吗?

00:23:08

我认为最近对于开源的价值存在一场激烈的争议,尤其是在云计算领域。

00:23:13 - Saron Yitbarek

是的,没错。

00:23:15 - Rodric Rabbah

如果你在思考为什么人们会转向云计算,或者为什么他们可能会厌恶投身于云计算领域,这就是供应商锁定的问题……丧失透明度。开源在一定程度上缓解这些问题,发挥了重要的作用。然后再看看类似 Kubernetes 的服务,它只是在容器和系统管理方面吞噬了云,就那么的成功!

00:23:41 - Rodric Rabbah

如果你正在做的事情接触到了容器,鉴于它的主导地位,保持闭源与否还值得讨论吗?我倾向于认为开放性是有帮助的,从开发人员的角度来看,这很有吸引力。

00:23:57 - Saron Yitbarek

当你考虑未来的无服务器生态及其工具、项目以及服务时,你看到了什么呢?对你来说,无服务器的未来是什么样的?

00:24:08 - Rodric Rabbah

我认为,你会开始越来越少思考底层技术,而变得越来越多地考虑编程体验以及围绕它的工具:用于调试的、用于部署管理的、用于性能分析的、用于安全性。

00:24:26

我认为,所有这些都非常重要。你如何运行你的功能的底层机制 —— 无论它们是在容器中还是在一些未来的技术下运行,也无论你是将它们运行在一个云上或是多个云上 —— 我认为,它们都不重要。有点儿像是 Kubernetes 在容器以及容器管理方面所做的事情。

00:24:46

类似的还有一层要放在上面,就是服务分层的功能,可以实现那种无服务器概念。然后,它实际上的表现取决于你在其中安放的中间件。你如何赋能授权给开发者,让他们真正利用这款新的云端计算机,以及你要在它周围投入的辛劳,让他们的体验愉快。

00:25:07 - Saron Yitbarek

是的。这种赋能授权看起来怎么样?

00:25:13 - Rodric Rabbah

一言以蔽之,就是高效。这是一种能力,可以只专注于对于我,作为一名开发人员而言有价值的东西,或者如果我在公司工作的话,对于我公司的价值。这样能够更快地规避问题,因为你释放了你的脑细胞,而不用去考虑基础设施和如何伸缩,以及在硬件层面如何保障事物的安全性。

00:25:38

现在,你可以真正地创新,将脑力重新投入到更快的创新中去,从而为你的终端用户带来更多的价值。我想把这一切都归结于更高的效率。

00:25:55 - Saron Yitbarek

Rodric Rabbah 是 OpenWhisk 的一位创始人。还记得我在这一期节目开始的时候所说的吗?互联网所基于的那种老旧的客户端 - 服务器模型并不会消失。改变的是,我是说彻底改变的是我们对服务器的思考方式。

00:26:19

在所谓的无服务器世界之中,希望我们专注于代码本身,而不用担心基础架构。但是,我们所选择的抽象等级,以及如何保持对于未被抽象的工作的控制,才是使得无服务器世界变得真正有趣的地方。

00:26:40

无服务器最终应当是为开发人员赋能授权的。免于打补丁、进行扩展和管理基础设施。但是,与此同时,即使我们抽象化了一些任务,依然必须对整体如何工作保持关注。我们会问,我要放弃的是哪些控制权,而我要收回的又是哪些控制权?

00:27:07

下一集是我们史诗般的第二季的大结局,《代码英雄》将要前往火星。我们将会了解 NASA 的火星探测器如何开始自己的开源革命。并且我们将与 NASA 喷气推进实验室的 CTO 进行交流,了解开源是如何塑造太空探索的未来的。

00:27:39 - Saron Yitbarek

与此同时,如果你想要更加深入地研究无服务器开发的问题,或是在这一季里我们所探索过的任何主题,请访问 redhat.com/commandlineheroes,查看免费资源。当你在那里时,你甚至可以为我们自己的代码英雄游戏作出贡献。

00:28:00 - Saron Yitbarek

我是 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-2/at-your-serverless

作者:Red Hat 选题:bestony 译者:JonnieWayy 校对:acyanbird, wxy

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

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

什么是《代码英雄》

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

本文是《代码英雄》系列播客第二季(6):数据大爆炸音频脚本。

导语:大数据将有助于解决大问题:我们如何种植粮食、如何向需要的人运送物资、如何治疗疾病。但首先,我们需要弄清楚如何处理它。

现代生活充满了相互联系的组件。我们现在一天产生的数据比几千年来的数据还要多。 Kenneth Cukier 解释了数据是如何发生变化的,以及它是如何开始改变我们的。Ellen Grant 博士告诉我们波士顿儿童医院是如何使用开源软件将堆积如山的数据转化为个性化治疗方法。Sage Weil 则分享了 Ceph 的可扩展和弹性云存储如何帮助我们管理数据洪流。

收集信息是了解我们周围世界的关键。大数据正在帮助我们拓展永不停歇的探索使命。

00:00:03 - Saron Yitbarek

如果你把从人类历史早期到 2003 年创建的所有数据计算在内,你将得到大约 500 万 GB 的数据。我们昨天创建了多少 GB 数据?

00:00:15 - 问卷调查答案 1

哦,天哪,10 万。

00:00:21 - 问卷调查答案 2

可能是 500 万 GB 数据。

00:00:23 - 问卷调查答案 3

我们在昨天一天之内创建了多少 GB 的数据?1000 万 GB 数据?

00:00:31 - 问卷调查答案 4

我不太知道,可能是 200 万 GB 数据?

00:00:36 - 问卷调查答案 5

也许一天就有 100 万 GB 数据?

00:00:40 - Saron Yitbarek

答案是?超过 25 亿 GB 数据!

00:00:44 - 问卷调查答案 1

哇哦。

00:00:44 - 问卷调查答案 2

25 亿?

00:00:45 - 问卷调查答案 3

所以,我们已经打破了世界纪录。

00:00:45 - 问卷调查答案 4

那可真是很多个 G 啊。

00:00:45 - 问卷调查答案 5

我都不敢相信那有这么多的数据。

00:00:52 - Saron Yitbarek

在 2016 年,我们的年度在线数据流量首次超过了 1ZB。一个 ZB 是 1000^7 字节。好,记住这个数字了吗?现在把它乘以 3,因为那是我们将在 2021 年拥有的数据量大小。

00:01:10

我知道,大脑不是以 ZB 为单位进行思考的,但请你至少暂时记住这个数。 我们的 IP 流量将在五年内翻三番。 这是数据的洪流,而我们正处于其中。

00:01:24

在刚过去的一分钟里,人们发出了 1600 万条短信;与此同时,在我说出这句话的时间里,谷歌处理了 20 万条搜索。

00:01:37

如果我们能在数据洪流来临时做好准备、站稳脚跟,那么隐藏在其中的模式、答案和秘密可以极大地改善我们的生活。

00:01:50

我是 Saron Yitbarek,这里是《代码英雄》,一款红帽公司原创的播客节目。浪潮近在眼前。这里是第二季第六集,数据大爆炸。

00:02:17

我们如何处理如此大量的数据? 采集到这些数据后,我们如何利用它们? 大数据将为我们解决一些最复杂的问题:

00:02:29

如何管理交通、如何种植粮食、如何向需要的人提供物资,但这一切的前提是,我们必须弄清楚该怎么使用这些数据、以及该怎么在短得不能再短的时间内完成对它们的处理。

00:02:43 - Kenneth Cukier

通过获取更多的数据,我们可以深入到这些子群体、这些细节,而这是我们以前从来没有过的方式。

00:02:53 - Saron Yitbarek

Kenneth Cukier 是《 经济学人 The Economist 》的高级编辑,他也和我都在科技播客《Babbage》里。

00:03:01 - Kenneth Cukier

这并不是说我们以前无法收集数据。我们可以,但这真的、真的很昂贵。真正的革命性突破是,我们使数据搜集变得十分容易。

00:03:10

现在收集数据的成本极低,而且处理起来也超级简单,因为都是由电脑完成的。这已经成为我们这个时代的巨大革命,它可能是现代生活最显著的特征,在未来几十年甚至下个世纪都会如此。这也是大数据如此重要的原因。

00:03:33 - Saron Yitbarek

历史可以提醒我们这种变化是翻天覆地的。想想看,4000 年前,我们把所有的数据都刻在了干泥板上。

00:03:46 - Kenneth Cukier

这些黏土盘很重。黏土盘被烤干后,刻在其中的数据就无法更改。从古至今,信息处理、存储、传输、创建的方式都发生了变化,对吗?

00:04:04 - Saron Yitbarek

时代巨变。大约在 1450 年,印刷机的发明带来了第一次信息革命。今天,我们也迎来了一场革命。

00:04:16 - Kenneth Cukier

现在的存储介质很轻巧。信息的修改变得极度简单,借助现有的处理器,我们只需要使用删除键就能修改我们所拥有的信息实例,无论那是储存在磁带上还是晶体管里。我们可以以光速传输数据,不用携带什么黏土盘。

00:04:37 - Saron Yitbarek

在 15 世纪,借助印刷机,大量的数据得以传播。这些知识提升了人们对事物的认识,并促成了启蒙运动。

00:04:45

今天,大数据可以再次提升我们的知识水平,但我们必须要想办法充分利用这些数据。唯有修好大坝、备好轮机,才能让浪潮为人所用。

00:05:00 - Kenneth Cukier

当下,人们远没有做到对数据的充分利用。这一点非常重要,因为我们已经看到,数据中存在这种潜在的价值,而收集、存储和处理数据的成本在近百年来,乃至于近十年来,已经显著地降低了。

00:05:22 - Kenneth Cukier

这很振奋人心。但问题是,我们在文化上、在我们的组织流程上,甚至我们的 CFO 和 CIO 们拨给相关方面的预算中,并不重视这种价值,

00:05:35 - Saron Yitbarek

想着这种事肯定让人极度沮丧。启蒙运动在敲门,却无人应答。然而,我们不回答的部分原因是:门后到底是谁?这些数据能带来什么?

00:05:51

Kenneth 认为,某些公司不采用大数据,乃是因为它太过于新奇。

00:05:56 - Kenneth Cukier

一旦你收集了大量数据后,你能拿它干什么?我就直说吧,只有傻子才会以为自己知道。你绝对无法设想你今天收集到的数据明天能拿来做什么用。

00:06:12

最重要的是要有数据,并以开放的思想对待所有可以使用的方式。

00:06:18 - Saron Yitbarek

如果我们按照 Kenneth 说的那样以正确的方式对待大数据,我们将会发现一切的全新可能性。这将是一个人人 —— 而不只是数据科学家 —— 都能洞察趋势、分析细节的世界。

00:06:33 - Kenneth Cukier

如果我们能意识到,这个世界是可以通过收集经验证据来理解、改变和改善的,并且可以用一种自动化的方式进行改善,我们将会得到看待它的全新角度。我个人认为,现如今,在世界各地,上至政策制定者、下至星巴克咖啡师,都在经历这种引人深思的文化上或心理上的变化。

00:07:00

各行各业的人都有点数据基因,就像是被感染了似的。现在,无论他们专注于什么方面,他们都以大数据的方式思考。

00:07:15 - Saron Yitbarek

Kenneth Cukier 给我们讲了一个简短的故事来展现这种新数据思维方式的力量。微软的一些研究人员开始着手研究胰腺癌问题。

00:07:27

人们发现胰腺癌往往为时已晚,早期发现可以挽救生命。因此,研究人员开始询问这些患者,在开始搜索有关胰腺癌的信息之前几个月,他们搜索了什么? 而早在发现前数年,他们又搜索了什么?

00:07:46

研究人员开始寻找埋藏在所有搜索数据中的线索和模式。

00:07:54 - Kenneth Cukier

他们有了重大发现。通过分析患者在最终开始搜索“胰腺癌”之前的这段时间中所搜索的关键词,他们识别出了一套规律,可以非常准确地预测搜索者是否患有胰腺癌。

00:08:09

在这里,我们能学到一点:想象力与数据中潜在规律的结合,是可以挽救生命的。他们现在所要做的就是找到一种方法,通过方法来解释这一发现,这样当人们在搜索这些术语时,他们可以以一种微妙的方式干预,说,“你可能要去诊所检查一下。”

00:08:29

像这样使用数据,就能救人于水火之中。

00:08:37 - Saron Yitbarek

研究人员偶然发现的是一种新的癌症筛查方式,通过这种方法,患者可以提前一个月得知自己可能患癌。利用数据不仅仅是一个利润或效率最大化的问题。

00:08:52

它的意义远不止于此。对于人类而言,这些数据中确确实实存在着大量的潜在利好。抗拒使用大数据可能只是自欺欺人。接下来,我们要关注的是,这场将数据投入工作的持久战。

00:09:18

哈佛医学院的波士顿儿童医院去年完成了 26000 多台手术,进行约 25 万人次的儿童放射检查。

00:09:31

医护人员的表现令人称道,但有一个巨大的障碍挡在他们面前。

00:09:37 - Ellen Grant

在医院的环境中,尤其是作为医生,我们经常会遇到难以获取数据的问题。

00:09:45 - Saron Yitbarek

这位是 Ellen Grant 医生,她是波士顿儿童医院的儿科神经放射科医生,她在诊疗时依靠访问数据和分析医学图像。

00:09:56 - Ellen Grant

如果没有专门设置的环境,想要从 packs 里存储的图像进行额外的数据分析绝非易事。当你在一个只提供了普通的医院电脑的读片室里时,要做到这一点并不容易。

00:10:14

获取数据实际上是有障碍的。

00:10:17 - Saron Yitbarek

其实许多医院都会大量抛弃数据,因为存储它们的成本实在过于高昂。这部分数据就像这样丢失了。像 Grant 这样的放射科医生可能是第一批因为数据实在太多而感到沮丧的医务人员。

00:10:33

当医院走向数字化后,他们开始创造大量的数据,很快,这个量就大到无法处理了。

00:10:41 - Ellen Grant

我,作为一名临床医生,在读片室里的时候希望能将所有复杂的分析工作在研究环境中做完。但我无法随便就从 packs 中拿出来图像,拿到一些可以进行分析的地方,再拿回到我手里。

00:10:59 - Saron Yitbarek

顺便说一句,packs 就是医院存储其图像的数据仓库。Grant 医生知道有一些工具可以让这些图像 packs 发挥更大的功能,但成本太高。

00:11:12 - Ellen Grant

随着机器学习和 AI 时代的到来,数据的生产量将会日渐加大,我们会需要更多计算资源来进行这类大规模的数据库分析。

00:11:27 - Saron Yitbarek

数据已经堆积如山了,但处理能力却没有相称的增长。在这一前提下,对数据的彻底处理将变得遥不可及。而复杂、昂贵的超级计算机并不是医院的选择。

00:11:41

Grant 医生深感沮丧。

00:11:44 - Ellen Grant

我们能不能想出一个更好的办法,让我把数据拿到这里来,分析一下,然后放回去,这样我就可以在会诊的时候,一边解释临床图像,一边把分析做完,因为我希望可以在会诊上展示数据,在此同时进行快速分析。

00:11:56

我可不想在不同的电脑和存储器之间把这些数据挪来挪去,这不是我的工作。我的工作是理解非常复杂的医学疾病,并把相关的事实真相记在脑子里。

00:12:10

我想专注于我的技术领域,在此同时利用计算机领域的新兴技术;而不必这方面过于深入钻研。

00:12:21 - Saron Yitbarek

Grant 和世界各地的放射科医生们需要的是一种方法,只要点击图像就能运行详细分析,并让这一切都发生在云端,这样医院就不必建立自己的服务器场地,也不必把医务人员变成程序员。

00:12:40

他们需要一种方法来使他们的数据尽可能地拯救生命。这正是 Grant 医生和几位代码英雄决定去做的事。

00:12:55

Grant 在波士顿儿童医院的团队正在与红帽和马萨诸塞州开放云(MOC)合作。关于 MOC 的更多内容稍后再说。首先,我们需要请出 Rudolph Pienaar,他是医院的一名生物化学工程师,来描述一下他们的解决方案。它是一个开源的、基于容器的成像平台。

00:13:15 - Saron Yitbarek

它完全是在云端运行的,所以你不受医院本身计算能力的限制。他们称这一作品为 ChRIS。

00:13:24 - Rudolph Pienaar

ChRIS 有一个后台数据库,其实就是一个 Django Python 机器。它可以跟踪用户,并跟踪这些用户使用过的数据以及分析结果。

00:13:35

围绕这个数据库,有大量的服务群,这些服务都是作为自己的实例存在于容器中。它们处理与医院资源的通信,比如与医院数据库的通信。这些服务从资源中提取复杂的数据,将其推送给云端的、或者另一个实验室的、或者别的什么地方的其他服务处理。在计算数据的地方,有 Kubernetes 之类的编排服务,以及你需要使用的分析程序。数据处理结束之后,结果就会被发送回来。

00:14:11 - Saron Yitbarek

对于 Grant 医生来说,ChRIS 成像平台是一种让数据活起来的方法。更重要的是,这种数据处理方式能让她成为更好的医生。

00:14:21 - Ellen Grant

优秀的医生之所以优秀,是因为他们在一生中积累了丰富的从业经验。如果我们能把这一点融入到数据分析中,以此来获得更多的信息,我们就能知道得更多,并更有效地整合这些经验。

00:14:39

例如,我对特定病患的特定受伤方式的认识,取决于我的从医经验和对这些经验的整体理解。

00:14:52

现在,我可以根据真实数据创建受伤症状分布的概率图,并将其公之于众;我也可以寻找有相似模式的患者,并告诉他们在接受治疗时,什么对他们最有效,以便更接近精准医疗。

00:15:10

整合大量的数据,尝试探索我们过去的知识,并尽你所能,点明治疗病人的最佳方式。

00:15:21 - Saron Yitbarek

这对被送到医院的孩子意味着什么?Grant 医生说,ChRIS 平台能提供更有针对性的诊断和更个性化的护理。

00:15:31 - Ellen Grant

如果我们拥有更复杂的数据库,我们就能更好地理解信息之间繁杂的相互作用,因此就能更好地指导每个患者。我认为 ChRIS 就像是我进入超级大脑的接口,它能让我比平时更聪明,因为我不能一次把所有数据保存在我的大脑中。

00:15:53 - Saron Yitbarek

当赌注如此沉重时,我们要突破人类大脑的极限。这位是 Máirín Duffy。她是红帽团队中的设计师,她让 ChRIS 成为现实,而根据个人经验,她知道这件事其中的风险。

00:16:15 - Máirín Duffy

我父亲中风了,所以我一直作为病人家属等待医疗技术诊断,因为当一个人中风并被送到医院之后,医务人员必须弄清楚是哪种类型的中风。根据中风类型,有不同的治疗方法。

00:16:31

如果使用了错误的治疗方案,就可能发生极其糟糕的事。所以,在这种情况下,你能越快地把病人送来做核磁共振,就能越快地得到治疗方案。速度越快就有可能挽救他们的生命。

00:16:43

想想看,仅仅是把图像处理从云端推送出来,并行化处理,就能让它快很多。这样就能将这个过程从几小时、几天,缩短到几分钟。

00:16:55 - Saron Yitbarek

医学可能正迎来一个新的拐点。一个不是由药理学驱动,而是由计算机科学驱动的拐点。另外,想想像 ChRIS 这种东西的拓展性。

00:17:08

发展中国家的医生也可以受益于波士顿儿童医院的专业知识和数据集。任何有手机服务的人都可以通过网络访问能够拯救生命的数据和计算结果。

00:17:24

除了医学,很多其他领域也可能出现类似的拐点。但前提是,人们得知道如何从自己的数据中找到隐藏信息。为了做到这一点,他们需要探索一个全新的计算领域。

00:17:46

世界各地的人们都在学习如何利用数据。就像在波士顿儿童医院一样,将数据洪流导向目标。

00:17:56

换句话说,我们在处理这些数据。但我们之所以能做到这一点,是因为新一代的云计算使之成为可能。

00:18:11

对于像 ChRIS 这样的平台来说,一个关键因素是基于云计算的新型存储方式。请记住,很多医院都会把收集到的数据扔掉,因为他们根本无法容纳所有数据。

00:18:25

这就是我想重点讨论的数据泛滥的最后一块拼图:存储解决方案。对于 ChRIS 来说,存储解决方案是一个叫 Ceph 的开源项目。它使用的马萨诸塞州开放云,就基于 Ceph。

00:18:45

我和 Ceph 的创建者 Sage Weil 聊了聊,想了解更多关于像波士顿儿童医院这样的地方是如何在闪电般的时间内处理海量数据的。以下是我与 Sage 的对话。我认为,第一个重要问题是,什么是 Ceph,它能做什么?

00:19:05 - Sage Weil

当然,Ceph 是一个由软件定义的存储系统,它允许你提供可靠的存储服务,并在不可靠的硬件上提供各种协议。

00:19:14

它的设计从开始就是满足可扩展性,所以你可以拥有非常非常大的存储系统、非常大的数据集。于此同时,系统对硬件故障和网络故障有优秀的容忍性,所以即使出现了一些这类问题,存储中的数据仍然不会变得难于访问。

00:19:29 - Saron Yitbarek

现在,数据太多了。

00:19:31 - Sage Weil

是的。

00:19:33 - Saron Yitbarek

如此大的工作量。要处理的东西实在是太多了。你认为这个解决方案出现得是时候吗?

00:19:39 - Sage Weil

是的,肯定是这样。在当时,行业中这方面的严重不足是显而易见的。没有开源的解决方案可以解决可扩展的存储问题。所以,我们显然得造个轮子。

00:19:53 - Saron Yitbarek

考虑到我们每天要处理的数据量,以及它将来只会越来越多、越来越难管理的事实,你认为当今该怎么做才能解决这种日益增长的需求?

00:20:09 - Sage Weil

我认为有几方面。一方面,有令人难以置信的数据量正在产生,所以你需要可扩展的系统。它不仅可以在硬件和数据规模上进行扩展,而且,它的管理成本应该是一定的,至少应该基本固定。

00:20:25 - Saron Yitbarek

嗯。

00:20:26 - Sage Weil

你不会想就为每多 10PB 存储空间或类似的东西就多雇一个员工吧?我认为这套系统在运维上也必须可扩展。

00:20:33 - Saron Yitbarek

是的。

00:20:35 - Sage Weil

这是其中的一部分。我认为,人们利用存储空间的方式也在改变。一开始,都是文件存储,然后我们有了虚拟机的块存储,我觉得对象存储在某种程度上是行业的重要趋势。

00:20:51

我认为,下一个阶段的目标并不局限于提供一个对象存储端点,并将数据存储在集群中;我们需要将解决方案进一步升级,好让它能管理集群的集群,抑或是对分布于不同地理位置的云空间及私有数据中心储存空间中的数据进行管理。

00:21:13

例如说,你现在将数据写入一个位置,随着时间的推移,你可能会想将数据分层到到其他位置,因为它更便宜、或者服务器离你更近;或者,一旦数据太老、不会频繁使用了,你就需要将其移动到性能更低、容量更大的层次上,以保证存储的成本较低。

00:21:27

你可能也会为了遵循地方法规而移动数据。在欧洲的一些地区接收数据时,数据来源必须保持在特定的政治边界内。

00:21:39

在某些行业,像 HIPAA 这样的东西限制了数据的移动方式。我认为,随着现代 IT 组织越来越多地分布在不同的数据中心、公有和私有云中,统一地、自动化地管理它们的能力正变得越加重要。

00:21:58 - Saron Yitbarek

当你想到未来我们要如何管理和存储数据,以及如何处理数据的时候,开源在其中扮演了怎样的角色?你曾提到,你之所以要创建一个开源的解决方案,是因为你个人的理念和你对自由和开源软件的强烈感情。

00:22:16

你如何看待开源对未来其他解决方案的影响?

00:22:21 - Sage Weil

我认为,特别是在基础设施领域,解决方案正在向开源靠拢。我认为原因是基础设施领域的成本压力很大,特别是对于构建软件即服务(SaaS)或云服务的人来说,低成本的基础设施很重要,从他们的角度来看,开源显然是一个非常好的方法。

00:22:48

第二个原因更多地是社会因素,在这个快速发展的领域里有如此多新的工具、新的框架、新的协议、新的数据思维方式,这个领域中有这么多创新和变化,有这么多不同的产品和项目在相互作用,所以很难以传统方式做到这一点,比如说,让不同的公司互相签订合作协议,共同开发。

00:23:20

开源可以消除此事上的所有阻力。

00:23:28 - Saron Yitbarek

Sage Weil 是红帽公司的高级咨询工程师,也是 Ceph 项目的负责人。我要绕回到《经济学人》的 Kenneth Cukier,以从一个更整体的视角上进行讨论,因为我希望,我们能够记住他关于人与数据之间关系的看法,以及我们从泥板,到印刷机,再到像 Sage 打造的云端奇迹的进步历程。

00:23:55 - Kenneth Cukier

这关乎人类的进步,关乎我们如何更好地理解世界,如何从现实中总结经验,以及如何改善世界。这进步也是人类一直以来的使命。

00:24:08 - Saron Yitbarek

使命永无止境。但是,与此同时,学会处理我们收集到的数据并将其投入使用,是整整一代人的开源任务。我们将在田纳西州的 橡树岭国家实验室 Oak Ridge National Laboratory 短暂停留,结束我们的数据之旅。它是世界上最快的超级计算机 Summit 的所在地,至少在 2018 年是最快的超级计算机。

00:24:43

这台机器每秒能处理 20 万亿次计算。换个计量单位,就是 200 petaflops。这样的处理速度,对于医院、银行或者今天所有受益于高性能计算的成千上万的组织来说并不现实。

00:25:04

像 Summit 这样的超级计算机更多的是留给强子对撞机的领域。不过话说回来,我们曾经在泥板上记录的只是 100 字节的信息。

00:25:16

在数据存储和数据处理的领域中,非凡的壮举不断成为新的常态。有一天,我们或许能将 Summit 级别的超级计算机装进口袋。想一想,到时候我们能够搜索到的答案。

00:25:42

下一集,我们聊聊无服务器。第 7 集将会讲述我们与基于云的开发之间不断发展的关系。我们将会探究,在我们的工作中有多少可以抽象化的部分,以及在这个过程可能会失去的东西。

00:25:58 - Saron Yitbarek

同时,如果你想深入了 ChRIS 的故事,请访问 redhat.com/chris ,了解它是如何构建的,以及如何为项目本身做出贡献。

00:26:12 - Saron Yitbarek

《代码英雄》是一款红帽公司原创的播客。你可以在 Apple Podcast、Google Podcast 或任何你想做的事情上免费收听。

00:26:24 - Saron Yitbarek

我是 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-2/the-data-explosion

作者:Red Hat 选题:bestony 译者:TimeBear 校对:Northurland, wxy

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