分类 观点 下的文章

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

什么是《代码英雄》

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

本文是《代码英雄》系列播客《代码英雄》第四季(4):软盘 —— 改变世界的磁盘音频脚本。

导语:软盘是计算机领域最伟大的突破之一。它以一种盛行几十年的格式助推了软件行业的发展。在某些情况下,它保存了曾经被认为是永远失去了的珍宝。

在软盘出现之前,计算机背负着打孔卡和磁带缓慢前行。Steven Vaughan-Nichols 描述了软盘所带来的巨大变化。Dave Bennet 解释了对永久存储(和便于邮寄)的需求,如何导致了第一批 8 英寸驱动器的出现。George Sollman 回顾了他是如何受命制造出更小的软盘的,以及哪些意想不到的来源激发了他的下一个设计的灵感。而当 Sollman 把它展示给 自制计算机俱乐部 HomeBrew Computer Club 时,这一季的几位常客请他展示更多的内容。接下来发生的事,就众所周知了。

Matthew G. Kirschenbaum 指出,软盘在一些意想不到的地方仍然在使用。Jason Scott 和 Tony Diaz 告诉我们他们是如何将一些源代码从“跑腿网络”中带到云端的。

00:00:00 - Saron Yitbarek

Jordan Mechner 是个收藏爱好者。他是《 空手道 Karateka 》和《 波斯王子 The Prince of Persia 》等游戏的开发者。他精心保存下了开发过程中的一切细节,比如日记、素描和情节提要等所有的一切。因此,当他找不到自己保存的某样东西时,多少会让他有点吃惊,而这也确实是一件大事。

00:00:26

早在 2002 年, Mechner 就在做《 波斯王子:时之沙 Prince of Persia: The Sands of Time 》的开发。程序员们希望将该游戏的经典版本作为复活节彩蛋加入到他们的 PlayStation 2 版本中。因此,他们向他索要原始的源代码。但是当 Mechner 查看他的归档时,他找不到这份源代码了。他四处寻找。这份源代码是在他的老旧 Apple II 上写的,他肯定自己保存过的这些代码,消失了。

00:00:58

快进 10 年。Mechner 的父亲正在打扫房间,有一个看上去很破旧的鞋盒藏在壁橱后面,里面装着一堆满是灰尘的 3.5 英寸旧软盘。其中一张被标记为“《波斯王子》的源代码。版权所有 1989 年”,括号里用全大写字母写着 “原版” 一词。这份丢失了很长时间的代码,终于被找到了。它在那个盒子里待了四分之一个世纪,然后像考古发现一样被发掘出来。

00:01:36

但那是 2012 年。他要怎样把信息从那些旧磁盘上取出来,数据是否还完好无损?事实上,现在去挽救他的工作已经为时已晚了吗?

00:01:54

挽救(保存)我们的工作,现如今这个过程经常是自动发生的。随着程序定期向云端推送内容,我们再也无需费心去手动保存东西了。事实上,全新的一代人甚至不知道那个保存图标表示什么意思。旁注:这不是自动售货机。

00:02:16

但是几十年来,保存、存储和传输我们的数据都必须使用某种物理介质。当个人计算机革命开始后(我们在有关 Altair 8800 的上一集中讲过),有一项技术成为了保存的代名词 —— 软盘。如今看起来这是如此的简单。但是软盘改变了我们的历史进程,因为它们帮助将 微型计算机 microcomputer 转变成了 个人电脑 personal computer

00:02:50

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

00:02:58

让我们暂且把 Jordan Mechner 发现软盘的故事搁在一边。我们之后会回过头来谈论它。首先,我想先了解一下软盘最初是怎样诞生的,以及近 40 年以来它是如何成为技术界如此至关重要的一部分的。

00:03:18

我们的第一站是 1890 年。在电子计算机出现之前,就已经有了机械的电子计算设备。数据输入输出的方法是通过一美元钞票大小的打孔卡实现的。电子计算机在上世纪 50 年代问世时,IBM 用 80 列 12 行的打孔卡进行了标准化。所打的孔就会形成一种字符,没有打孔则意味着另一种。

00:03:50

长期以来,这些打孔卡是数据输入的主要方式。但是为更大、更复杂的程序处理数以百计的打孔卡非常麻烦。必须要有一种更好的方法来保存和传输数据。

00:04:08

紧接着是 20 世纪 50 年代问世的纸带。要了解纸带如何在个人计算机的起源中扮演了核心角色,请收听我们的上一集节目。纸带与打孔卡具有同样的用于读取数据的打孔方式。但是因为这都在一卷纸带上,人们没必要担心卡片会混起来。它可以携带更多的数据,并且使用起来更快。但是随着微型计算机容量的增加,存储程序需要越来越多的纸带。就像打孔卡一样,纸带最终遇到了它的瓶颈。

00:04:47

让我们进入到磁带阶段。其关键成分是聚酯薄膜,一种坚韧、有弹性的材料,表面涂有磁性氧化物来使得磁带能够记录。每盘磁带的九条磁道最多可以存储 175 MB。这在上世纪 50 和 60 年代是一件大事。10.5 英寸卷轴的磁带驱动器成了企业的标准配置。

00:05:11 - Steven Vaughan-Nichols

但是磁带的问题在于,尽管其很方便将大量数据从一个位置移动到另一个位置,但要在磁带上搜索以找到某些特定的东西着实不易。我们会使用磁带在微型计算机和大型机上安装软件,但是对于小型便携的数据或者涉及数据交互的事情,磁带确实没那么好用。

00:05:40 - Saron Yitbarek

这位是 CBS Interactive 的特约编辑 Steven Vaughan-Nichols。当然,磁带可以存储更多的数据。但是它太大、太慢了。确实,这仅仅在大型机领域可行。又一次,需要有一个更好的存储方法了。

00:05:58

更好的方法出现在 1956 年,当时 IBM 推出了其首个 磁盘驱动器 disk drive —— IBM 350 磁盘存储单元。它是 305 RAMAC 大型计算机的组成部分,这台机器整整占满了一个房间。这位是前 IBM 磁盘和存储产品工程师 Dave Bennet。

00:06:23 - Dave Bennet

存储在核心内存中。事实上,RAMAC 中的磁盘存储设备是第一个允许随机访问给定的记录的存储设备,而不是磁带驱动器。

00:06:39 - Saron Yitbarek

很有趣。那款磁盘驱动器差点没有问世,因为它威胁到了 IBM 的打孔卡生意。但是这个项目最终还是获得了批准。问题在于,该驱动器包含由固体金属制成的磁碟。RAMAC 重达一吨,它必须由叉车搬运,并且用大型货运飞机运输。这不是最方便的存储方式,但除此之外,还有更好的解决方案。

00:07:10 - Dave Bennet

尽管 软盘 floppy disk 最初是为了满足一个新需求而开发的。原因在于有一种中间类型的存储方式。最初的存储方式是计算机代码,然后是计算机内存,即工作内存。但是随着 System 360 的出现,它们之间出现了一类新的内存,它们称之为 固件 firmware 。在 System 360 中,有着独特的各种形式的固件技术,要么是一种特殊的打孔卡,要么是一种所谓的 转换器只读存储 transformer read-only storage

00:07:51

但是,新的需求是在半导体技术瞬息万变的时代,从这些技术转向半导体技术。这意味着在切断电源后,半导体中所存储的内容都会消失。因此,必须要有一种再次充入的方式,在电力恢复后将程序存回到内存中,以加载所谓的 微程序 micro program 中间存储器 intermediate memory

00:08:28

对这种设备的需求是导致软盘驱动器发展的原因。

00:08:37 - Saron Yitbarek

因此在 1967 年,一小队由 David Noble 领导的工程师开始着手开发一款廉价的系统,用于将这些微程序载入到大型计算机。他们项目的代号是 “Minnow”。

00:08:53 - Dave Bennet

Noble 能想到的所有东西,包括各种形式的打孔卡、盒式磁带,他都亲自实验了一遍。我不知道他还实验过什么。但是他想到了使用基于柔性磁盘的廉价磁盘驱动器,和成本非常廉价的只读机制。

00:09:19 - Saron Yitbarek

Minnow 团队希望能够把他们的微程序邮寄到需要加载它的各个地方。因此这款用于发送该程序的产品必须足够耐用,才能够在不损坏其数据的情况下实现邮寄。这是某种外壳包装方式。

00:09:38 - Dave Bennet

现在,为了使它能够被邮寄,他们实际上必须要做的是,把它放进一个相当坚固的塑料容器里。实际上,他们会在磁盘还放在这个塑料容器(像一个信封、塑料信封)里的时候读写该磁盘。当磁盘上有涂层而且有一个刚性的磁头时,必定会有磨损。而一旦有磨损,就会产生磨损颗粒。

00:10:06

他们所遇到的问题是,随着磨损颗粒的堆积,会引起雪崩效应。这些颗粒会充当额外的磨料。然后很快,颗粒散在那里,记录轨道会被磨损,就不再能用了。

00:10:28

参与该项目的一个名叫 Herb Thompson 的家伙非常聪明,他提出了一项方案,该方案基于 3M 卖给家庭主妇用于家具除尘的家用除尘织物。他在信封和磁盘之间放了这样的一张布。这种材料吸收了磨损颗粒,并将其嵌入到除尘织物中,从而防止了雪崩效应,真正解决了这个问题。

00:11:00 - Saron Yitbarek

柔性 8 英寸聚酯薄膜磁盘,甚至可以称它们为 软盘 floppy disk 。它完全被装在一个很薄但是很坚固的信封中,并带有再利用的除尘装置。总之,它很容易被拿起,也很容易邮寄。每张新的软盘有 80 KB 的存储容量,可以容纳与 3000 张打孔卡相当的数据量。这是存储容量上一个巨大的飞跃。

00:11:29

IBM 在 1971 年发布了他们的 8 英寸软盘。Minnow 团队做得很好,但他们不知道有多好。他们的突破即将演变成一种完全改变游戏规则的技术。

00:11:49

IBM 的直接访问存储产品的负责人是一个名叫 Alan Shugart 的人。 Minnow 项目是他的宝贝。 Shugart 很有个性,天生具有企业家精神。他的日常制服是夏威夷衬衫,从来不穿夹克和领带。在发布 8 英寸软盘不久后,Shugart 离开了 IBM,并于 1969 年加入了 Memorex,然后在 1973 年成立了自己的公司 Shugart Associates,专门从事计算机外围设备。

00:12:23

Don Massaro 从 IBM 就跟随 Shugart,他成为了 Shugart Associates 的运营副总裁。在那工作了几年之后,Massaro 收到了一个名叫王安的人的需求。他是 王安电脑公司 Wang Laboratories 的负责人,这是当时领先的计算机公司之一。王安想出了一种磁芯存储器的方法,这是计算机在未来 20 年内使用的方法。

00:12:51

当 1975 年王安接触 Massaro 时,他给了 Massaro 一个挑战。当时 Shugart 的一名工程师 George Sollman 还记得这件事。

00:13:03 - George Sollman

王博士说:“我真的很想做小型商业系统和文字处理器,但是现在的磁盘驱动器 —— 你的 8 英寸大的磁盘驱动器太大了。我们需要几个小型的存储设备。它们可以被安置在 CRT 显像管旁边,但我们不能用 8 英寸大的,因为磁场会破坏图像。”因此,他认为我们可以采用 8 英寸的软盘并且把它缩小。我们知道必须设计出低成本而且可行的东西来。我们整理了一张普通老套的挂图来描述它是什么,然后拿回来和王博士见了面。王博士说:“我喜欢它,但是你不能在里面使用交流电动机,因为这会扭曲图像。”

00:13:52 - George Sollman

所以他说:“为什么不找找看谁在制造磁带机的电动机,比如通用汽车公司?”因此,我们回过头来,实现了一些很小的电动机,这些电动机适合微型软盘,可以驱动皮带,并转动软盘。

00:14:10 - Saron Yitbarek

George Sollman 必须确定这种新软盘的规格,它应该变得有多小,以及应该容纳什么。

00:14:19 - George Sollman

我们所做的是,查看了当时所有的磁带机,并计算了它们的平均尺寸。完成了全部的工作后,最终选择了 5.25 英寸的软盘尺寸。我们知道我们可能只有一次机会。我记得那是在王博士把 Don 和我拉进他办公室时说的:“我给你们看一下,你们的磁盘驱动器装在我们的新文字处理器上。”他们还想向我们订购大量的磁盘驱动器,有 10000 个。因此这就好像,哇,我们成功了。

00:14:54 - Saron Yitbarek

现如今,在历史上的技术传说中,有关 5.25 英寸这一尺寸是如何形成的,有几个不同的说法。一种说法是让软盘比口袋的尺寸大,以避免不幸的弯曲和折断。最受欢迎的民间版本是,Al Shugart 在酒吧里喝了几杯酒,然后当他弄脏了一块恰巧 5.25 平方英寸的酒吧餐巾纸时,灵光一动。这位是 Teri Shugart,Al 的女儿。

00:15:26 - Teri Shugart

他喜欢喝酒,我可以告诉你的是,他所创办的所有公司的大部分计划都确实是在酒吧里做出的。因此,这件事并非不可能,实际上很可能就是这样。

00:15:43 - Saron Yitbarek

但是,真正改变了 Shugart 和他团队的游戏规则的,坦率地说也是改变了所有计算机历史的关键时刻,是 George Sollman 和 Don Massaro 决定在自制计算机俱乐部展示他们的 5.25 英寸软盘。

00:16:00 - George Sollman

有一个自制计算机俱乐部的会议在斯坦福的线性加速器中心的会议室举行,离我们住的地方大约有一英里。因此,我们带了我们的微型软盘过去并做了演示,观众里有个名叫 史蒂夫•沃兹尼亚克 Steve Wozniak 的家伙,他想就我们的产品和我谈谈,并说:“我得让某些人关注到它。”

00:16:24 - Saron Yitbarek

演示之后,George 和 Don 回归了他们的常规事务,但是几天后,在办公室里,Don 把他叫到了一边。

00:16:33 - George Sollman

并说道:“你是营销人员,你应当保持前厅整洁,George。”然后我说:“嗯,Don 你想说什么?”他说:“我们的前厅里有个流浪汉,我们应该把他弄出去。”所以我走了出去,和这个家伙握了握手。他有着一双最为锐利的眼睛,我又和他聊了一会儿,他的谈话非常有趣,他说:“我想和你去实验室看看 Steve 说的这个东西是什么。”我不知道这样是否合法,但他是我所遇到过的最有趣的人之一,很显然他有着很高的智商和极大的好奇心,他就是 史蒂夫•乔布斯 Steve Jobs

00:17:19 - Saron Yitbarek

史蒂夫•乔布斯讨厌苹果早期计算机中的盒式磁带驱动器。它们总是出现故障,要花很长时间大费周折获取信息。对于 Apple II,他想要一个软盘驱动器,史蒂夫•沃兹尼亚克想要制造它,但尺寸是关键因素。必须缩小软盘的尺寸,从而使得这款计算机更能吸引消费者。因此,在 1997 年圣诞节假期的两周时间里,沃兹尼亚克靠着天天吃麦当劳开发了原型。在新的一年的 拉斯维加斯 Las Vegas 消费电子展 Consumer Electronics Show 之前及时完成了。

00:17:57

沃兹尼亚克很喜欢开发那款软盘驱动器,并将其描述为他参与过的最好的工程。乔布斯雇佣了 Shugart 来制造 Apple 软盘。Disk II 成为了 Apple 的主打产品,助推了 Apple II 计算机的销售并改变了行业。这位是 Steven Vaughan-Nichols。

00:18:20 - Steven Vaughan-Nichols

如果你买了一台 Apple II,Disk II 是一个很快就会大受欢迎的选择。确实,你可以将史蒂夫•乔布斯誉为将软盘驱动器引入到个人计算机领域的人。人们正在运行名为 CPM 80 的操作系统,实际上还有数十家小型制造商和一些像 DEC 之类的大型制造商在制造 CPM 80 计算机,而所有这些计算机都使用 5.25 英寸的软盘驱动器。然后,当 IBM 在 1981 年推出第一台 IBM PC 时,每个人都清楚这不再是一个业余市场了。

00:19:04

这是一个真正的商业市场,而这将由新流行的 5.25 英寸软盘驱动器驱动。

00:19:14 - Saron Yitbarek

软盘和个人计算机革命是共生的。它们一个驱动着另一个,反之亦然。它们一起进化。由于有了软盘,公司可以编写程序,将程序复制到磁盘里,然后通过邮寄或在商店里出售。它对早期个人电脑的作用就像应用商店对智能手机的作用一样,为开发人员提供了便利。事实上,软盘使得软件行业成为可能,并且随着这些软件程序变得越来越大、越来越复杂,软盘再一次发生了变化。1981 年, 索尼 Sony 推出了将软盘缩小到 3.5 英寸的新版本。

00:19:59

较小的同类产品用硬塑料包裹,并内置金属遮板,以防止灰尘进入。它们更加坚固,可以存储更多的数据。有趣的是,尽管它们的外壳很硬,但它们仍被称为软盘,而当苹果公司在 1984 年发布其新 Macintosh 计算机时,又一次使得 3.5 英寸软盘成为新标准。

00:20:25 - Steven Vaughan-Nichols

好吧,我们都知道 史蒂夫•乔布斯 Steve Jobs 史蒂夫•沃兹尼亚克 Steve Wozniak 。像 Shugart 这些软盘驱动器的创造者,却不是家喻户晓的名字,但是他们所做的工作绝对至关重要。如果没有他们的话,个人计算机被采用的速度将会慢得多。我无法想象,如果没有这些早期的驱动器,个人计算机革命会如何发生。它使得数据输入输出计算机比其它方式更容易。

00:21:06 - Saron Yitbarek

由于软盘尺寸适中且易于分享,因此它们具有一种社交性,就像早期的社交媒体形式一样。你可以和人们见面并交易软盘。这是在人们可以轻松访问调制解调器、互联网尚未出现之前的事情。人们分享装满了程序的软盘,就像分享装满 Cyndi Lauper 曲目的混合磁带一样。而且这种数据传输的方式甚至有个名字,即 跑腿网络 Sneakernet ,从字面上看,你必须用你的双脚将数字信息从一台机器传输到另外一台,而人们在这些分享的磁盘上所存放的内容可以是任何东西,当然有软件,但是还有更多,尤其是随着新兴的数字创作工具的出现。

00:21:55

Jaime Levy 是上世纪 80 年代后期那些新兴的数字创作者之一。她如今是 南加州大学 the University of Southern California 的教授,也是《UX Strategy》的作者。

00:22:07 - Jaime Levy

我当然也认为这很神奇,你可以在软盘上制作出交互式的、非线性的东西。我当时正在制作后来被称之为 磁盘杂志 diskzine 的杂志。那是在桌面出版的同一时期。我想当时 PageMaker 已经问世。人们刚购买了 Macintosh,正逐渐被吸引到数字技术上来。

00:22:32 - Saron Yitbarek

此前从来都没有人听说过交互式的杂志,甚至连 Jamie 也没有,但是她结合了动画、艺术、声音以及交互式界面,并使得它们适合放在软盘上。她制作了一堆副本,将它们打包并运送到了当地的一家书店。

00:22:48

在大多数情况下,人们没有 Macintosh 甚至不能看它们的内容,他们不知道上面有什么。所以我说,在这里放 10 个副本,你拿一个回家看看,如果喜欢它的话,就把它们卖出去。他们会把它们放在前台,因为它们没法很好地被放在架子上,然后立即就有人买了它们。只要有 Mac 的人走进那里,看到这个东西只要 6 美元,他们就会说:“是的,我想要那东西。”

00:23:15

书店里不断售空。Jaime 收到了来自世界各地的来信,并且开始引起了全国媒体的注意。不久后,她通过邮购贩卖她的磁盘来做生意。然后,她作为界面设计师的职业生涯开始了。她的故事是软盘和跑腿网络力量的证明。曾经有一段时间,你可以使用单个 160 KB 的软盘驱动器运行一个完整的操作系统,但是到了上世纪 90 年代中期,你需要多张软盘才能运行任何东西,文件变得越来越大,而把软盘从你的计算机来回放入和取出实在是很烦人。

00:23:57

1998 年,iMac 成了第一款不带软盘驱动器的个人计算机,这是一个不祥之兆。当调制解调器变得越来越好,互联网更加易于使用,人们从软盘转移到了更新的存储技术,比如 CD ROM,从 CD 我们又转到了 DVD、SD 卡、USB 闪存驱动器。回过身来,我们的身后有一整个废弃的存储技术坟墓。现如今,我们有了云。可怜的老软盘,它们不再有机会了。但是,重要的是,软盘仍然苟延残喘。它们有持久的生命力。首先,仍然有供初学者使用的“保存”图标。

00:24:43

人们仍然有着装满了它们的鞋盒。实际上,事实证明,软盘是最具弹性的技术之一。你可能会惊讶地发现它们仍然被用来维护 美国洲际弹道导弹系统 the US Intercontinental Ballistic Missile System 等遗留机器。直到最近,该系统一直依赖于 8 英寸的软盘驱动器。 Matthew Kirschenbaum 是 马里兰大学 the University of Maryland 的英语和数字研究教授。

00:25:17 - Matthew Kirschenbaum

因此,有一个关于美国空军从其核指挥和控制系统中逐步淘汰 8 英寸软盘的故事正在流传。伴随着的是人们在导弹发射井中将软盘插入某种老式大型计算机中的照片。我认为着实令人惊讶,因为看到某些东西,比如核武器仍然通过 8 英寸软盘控制着。政府、军方最终将淘汰这些系统。我当然认为那是一件好事,但也要记住,作为存储介质,软盘往往非常耐用且具有弹性。它们的面积密度低,这意味着与当今的硬盘驱动器相比,它们相对粗糙或低保真。实际上,这使得它们更具弹性,也更可靠。由于年代久远,它们也是那些计算机系统的过时之处。具有讽刺意味的是,它们可以更好地保护我们免受当今以病毒、黑客攻击和类似形式出现的网络威胁。人们所使用的术语是“ 气隙 air gap ”,软盘没有以任何方式连接到互联网,并且可以将其视为非常理想的安全功能。即使这使得人们有些许不安。但它们被使用了这么长时间,并不完全是没道理的。

00:26:53 - Saron Yitbarek

当然。现在看软盘,它们看起来很脆弱,而且有点儿可笑,但是借助正确的设备,几十年前的磁盘如今仍然可以被读取。谁知道在那些数据被检索时能发现什么样的宝藏呢。

00:27:09 - Matthew Kirschenbaum

几年前,有新闻说发现了十几张 Andy Warhol 的图片。实际上这些图片是 20 世纪 80 年代 Andy Warhol 在一台 Amiga 计算机上创造的。

00:27:26

他得到了一台 Amiga,并进行了实验,开始将其用于他的一些艺术作品,所得到的图像被保存到位于 匹兹堡 Pittsburgh Warhol 博物馆的软盘上。 卡内基·梅隆大学 Carnegie Mellon University 的一个团队抢救了这些文件,所以现在我们又有 Andy Warhol 的十几件艺术品。

00:27:53 - Saron Yitbarek

说到宝藏,是时候了解一下 Jordan Mechner 和他丢失多年的源代码到底发生了什么了。前情回顾, Jordan 丢失了《 波斯王子 Prince of Persia 》的源代码。多年之后,他的父亲在壁橱后面发现了一个鞋盒,里面装着一堆满是灰尘的 3.5 英寸软盘。其中一张被标记为“源代码”,但是源代码真的在那张磁盘上吗?他能够恢复他《 波斯王子 Prince of Persia 》作品吗?

00:28:23

为了找到答案,我们和 Jordan 招募的拯救源代码小组的两个成员进行了交谈。Jordan 联系的第一个人是 Jason Scott,他是 互联网档案馆 Internet Archive 的放养档案管理员。

00:28:38 - Jason Scott

这可能行得通,但也可能不行,但是你总是希望能对最坏的结果做好准备。我认识一个人,他的名字叫 Tony,而 Tony 与苹果公司的关系非常密切。他对他们无所不知。我称他为“Apple II 耳语者”。

00:28:59 - Saron Yitbarek

通过一个长期运行的 IRC 频道,Jason 找到了 Tony Diaz,并招募了他来担任这份工作。 Jordan 邀请了这对计算机考古学家到他位于 Hollywood Hills 的家中。Tony 将一堆装备装进了卡车的后部,准备从 Oceanside 长途开车到洛杉矶。

00:29:19 - Tony Diaz

我拿了几套闲置的 Apple IIe 系统,打包装箱,各种东西装满了半个皮卡车斗,并且还有用于读取困难的软盘的改装磁盘驱动器和各种类似的工具。磁盘驱动器控制器的功能有所不同,还有一些更为现代化的计算机上的东西,有些可以帮助处理软盘(如果有必要的话)。是的,把它们全部装载起来然后上路。

00:29:43 - Saron Yitbarek

在 Jordan 的起居室里。Tony 建立了一个令人印象深刻的由老式 Apple II 计算机和 3.5 英寸磁盘驱动器组成的阵列。然后 Jordan 把一个装在塑料袋里的鞋盒拿了出来,就仿佛它是个圣杯一样。这个圣杯周围有橡皮筋,以防止鞋盒盖子掉落。

00:30:03 - Tony Diaz

我曾多次遇到这种情况,刚刚打开旧的磁盘盒,它们都有同样的那种霉味。我不知道该怎么说,这很难描述,但是对于那些曾经在海军舰船上的人来说,它们气味相同,和你去到飞机后面闻到的都一样。软盘有它自己的独特的,那个词怎么说来着,光泽。

00:30:25 - Saron Yitbarek

Tony 取出了几个磁盘,看看它们的状况。如果需要的话,他准备着取下保护套,并用 Joy 洗碗皂清洗它们。这些磁盘已经很久没有转动过了。因此,他把手指放在中间,摇晃了一下并旋转了一下,以检查是否发霉。然后他和 Jason 分成了两队。

00:30:49 - Jason Scott

我要去做 磁通量读数 flux reading ,也就是磁信息,从软盘上拉取下来每一个磁性波动信息,这会产生非常巨大且难以解码的软盘镜像。这样的想法是,如果发生其他任何错误或者我们在某种单一方式受到阻碍,那么未来我们能够使用这些信息。

00:31:16

Tony 知道这些磁盘上的信息是什么,他在计算机上使用实用工具来读取磁盘,就像早在 1990 年时候那样,这些数据对他来说是有意义的。我们去找那些很明显是标准文件副本的磁盘。试图确保在我们知道面对的是什么之前,我们不会处理任何只有单张的磁盘。这些最初的简单磁盘上的一些是诸如 《Death Bounce》之类的东西。这是他制作的一款从未问世的游戏,还有 Asteroids Clone。它们能运行,我们能够在机器上玩它们,他看着他几十年来都没想起来过的游戏,它们正运行良好。

00:32:06 - Saron Yitbarek

到目前为止,一切都很顺利。现在轮到被标记着《 波斯王子 Prince of Persia 》的那张磁盘了。Tony 开始分析它,并且意识到它是一个硬盘驱动器的备份,被分成了五份放在了五张软盘里。他需要把整个东西重新整合在一起。

00:32:23 - Tony Diaz

因此,要想还原这些镜像,你必须有一个与写入时大小相同的硬盘驱动器卷。当然,我带来了硬盘,但是怎么可能正好有完全相同的大小呢?因为你并不见得总能这么巧。没关系,我将在我的卡上创建了一个 10M 的分区,并制作了这些磁盘的副本,然后告诉它是从 10M 的驱动器上进行的备份。我们继续还原它,然后得到了一个完美的硬盘驱动器,装满了待查看的源代码文件。

00:32:50 - Saron Yitbarek

重大的发现出现在当他们完成了第一个目录并查看文件的时候。

00:32:55 - Tony Diaz

是的,就是它。Merlin 文件,它们都以 “.s” 结尾,还有 OBJ 文件,用于编译或汇编时 —— 都在这里了。哦,我的天哪,它有如此之多的不同版本,我们不得不把这些弄清楚,但是所有人的头基本上都转向了右后方的显示器和计算机上,多少有点儿沉默,好吧,让我们来瞧瞧这上面有什么?那个呢?我记得这个。

00:33:20 - Jason Scott

当他开始这么做,并且我们开始滚动浏览那张磁盘上的文本文件,Jordan 立即识别出来它们是他的原始源代码。因此,即使我们知道我们有了重大发现,我们也还是继续浏览所有的磁盘,以确保我们不会错过一些其他的版本。在我们发现的东西中,有《波斯王子》中其他正在进行的工作,他曾尝试过不同的图形等等。

00:33:48 - Saron Yitbarek

令人惊讶。当团队看到可识别的源代码文件那一刻,长长地松了一口气。《波斯王子:时之沙》已经从时间的流沙中获救。不过他们的工作还没有完全完成。

00:34:09 - Saron Yitbarek

Jason 将抢救回来的代码上传到了 GitHub,世界各地的粉丝立刻就能获取到它。这件事的消息已经散布出去,人们登录并等待着。

00:34:22 - Tony Diaz

我们那天的主要目的是尽快将其上传到 GitHub 上的一个仓库里。我们一直都连接在同一个 IRC 聊天室,有各种各样的人问我们问题。“这是什么?你看到的是什么?你获得了什么?”而且我们在进行时得到了现场反馈。

00:34:38 - Jason Scott

曾开发过《 毁灭战士 Doom 》和《 雷神 Quake 》的 John Romero 说,他在看源代码时学到了一些技巧,而其他一些人当然完全搞不懂他们在看什么,因为在 20 世纪 80 年代后期所写的代码和今日相比相当不一样。事实上他逐个字节地移动内存,试图清理空间以使得“精灵”看起来像预期的一样。那是完全不同的一个世界。

00:35:09 - Saron Yitbarek

自从 2012 年那重大的一天以来,《波斯王子》的源代码一直被研究、分享、评论和珍藏。这里是 Matthew G. Kirschenbaum 的一些总结。

00:35:23 - Matthew Kirschenbaum

这是另一个例子,有关我们会认为是数字文化、有点像当今艺术作品的方式,我们当下的创造性表达方式。很多东西都被锁在了这些陈旧过时、满是灰尘的软盘里,但是凭借一点运气和工程学工作,发生了一些我们如何把东西弄回来的非常了不起的故事。

00:35:49 - Saron Yitbarek

如今,“保存”图标是我们中的一些人离软盘最近的地方,但是当你们看到它时,我希望你们能够记住,它是这段神奇历史的一部分,我们不应该将其视为理所当然。这是一段有关分享和拯救我们所创造的东西的历史,一段有关保存的历史。

00:36:09 - Saron Yitbarek

《代码英雄( Command Line Heroes )》是红帽( Red Hat )的一档原创播客节目。请到 redhat.com/commandlineheroes 查看我们的软盘研究笔记。顺便说一句,如果我们保存了这一集(大约 51.5 MB ),我们估计它会占用 36 张 3.5 英寸的软盘。我是 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-4/floppies

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

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

了解 BHM 对他们意味着什么,什么影响了他们的职业生涯,为想要进入科技领域的少数族群提供资源,等等。

 title=

为了纪念 BHM,我收集了一些我最喜欢的技术专家和开源贡献者的意见。这四位正在为下一代铺路,同时也在为他们在科技行业所做的工作铺路。了解 BHM 对他们意味着什么,是什么影响了他们的职业生涯,为想要进入科技领域的少数族群提供资源,等等。

Tameika Reed,Women In Linux 创始人

自 Women In Linux 发起以来,Tameika 一直致力于探索基础设施、网络安全、DevOps 和物联网领域的职业生涯,并致力于领导力和持续技能的培养。作为一个自学成才的系统管理员,Tameika 相信学习技术的最好方法就是深入其中。为了给女性一个全面的角度来看技术,Tameika 每周都会举办一次线上会议来探讨 Hyperledger、Kubernetes、微服务和高性能计算等 Linux 常规之外的技术。Tameika 的职业生涯包括与 OSCon、LISA 2018、Seagl、HashiCorp EU 2019 不同的会议以及各种当地活动进行会议发言。

Michael Scott Winslow,Comcast 公司核心应用与平台总监

“我是一个父亲、丈夫、兄弟、儿子。我出生在一个小家庭,所以我很乐于把朋友们变成一个大家庭。当我把我的名字附在某件事上时,我就非常希望它能成功,所以我很在意我参与的事情。噢,在我的职业生涯中我已经做了数十年的软件开发。我解决问题,和别人合作一起帮助解决大问题,我带领、引导和指导年轻的软件工程师的同时观察我想要学习的人。”

Bryan Liles,VMware 资深工程师

“我正在和我们的团队一起重新思考开发人员如何与 Kubernetes 进行交互。当我不工作的时候,我就制造机器人和在社区里努力激励下一代的软件工程师。”

Mutale Nkonde,AI For the People(AFP)首席执行官

AFP 是一家非营利性的创意机构。在创办非营利组织之前,Nkonde 从事人工智能治理工作。在此期间,她是向美国众议院提出《算法和深度伪造算法法案》以及《无生物识别障碍住房法案》的团队成员之一。Nkonde 的职业生涯中最开始是做广播记者,曾在英国广播公司(BBC)、美国有线电视新闻网(CNN)和美国广播公司(ABC)工作。她还广泛从事种族和科技方面的写作,并在哈佛大学和斯坦福大学获得奖学金。

是什么影响了你选择技术领域的职业?

当我回到大学的时候,我害怕电脑。我害怕电脑是因为我从大学辍学了。之后我又回去了,我就把尽我所能学习作为自己的任务。这是我至今的座右铭,学习永不停止。— Tameika Reed

我不会拐弯抹角,我小时候是个极客!在我 10 岁的时候,我就从印刷杂志上读到的代码开始每天写 GW-BASIC。在我上高中的时候,我给了自己一点喘息的时间来享受生活,但是当到了为大学选择专业的时候,这是一个很容易做出的选择。我留在了科技行业,这得感谢我一路走来遇到的了不起的导师和同事。— Michael Scott Winslow

我从中学就开始写软件了。我喜欢告诉电脑去做事情并看到结果。长大后,我很快就意识到,拥有一份让我满意、收入高的工作才是正确的选择。— Bryan Liles

我想知道为什么科技公司雇佣的黑人女性这么少。 — Mutale Nkonde

在开源技术领域有没有某个特别的人给了你启发?

我从很多其他人和项目中得到启发。比如我喜欢看到其他人来到 Women In Linux,并确定他们想去哪里。我试着让人们从更全面的角度来看科技,这样他们就可以决定自己喜欢什么。说自己想在科技行业工作很容易,但要入手并坚持下去很难。你不必仅仅是一个程序员,你也可以成为一个云计算架构师。— Tameika Reed

Kelsey HightowerBryan Liles 和 Kim Scott 激励了我。他们是如此真实!他们说的都是我每天的感受和经历。做好你的工作!别抱怨了!承认你的行为,并明白你是如何促成你的处境的!Gene Kim 也给了我很大的启发。作为 DevOps 运动的领导者,我看到自己在追随和模仿他做的很多事情。 — Michael Scott Winslow

不,我没有看到我想要的灵感,所以我努力成为 20 年前那个给我启发的人。 — Bryan Liles

太多了!我最喜欢的一个是:Dorothy Vaughan,她是美国第一个为 IBM 沃森电脑编程的人。她的故事被记录在电影《Hidden Figures》中。 — Mutale Nkonde

你有什么特别的资源可以推荐给那些想要加入科技行业的少数人吗?

有,我建议你在 Twitter 上交一些朋友,然后提问。以下是我在科技界关注和欣赏的一些人: — Tameika Reed

受重视的新人训练营确实缩短了人们加入科技行业的时间。我遇到过几位经过培训的专业人士,他们都比 4 年制学校的同行更出色。我认为我们可以真正开始尊重人们创造的成果,而不是技术的熟练。 — Michael Scott Winslow

我不确定我能推荐什么具体的东西。科技是一个很大的整体,所以没有一个简单的答案。我的建议是选择你认为会感兴趣的东西,并努力成为这个方面的专家。从问为什么开始,而不是怎么做,并且开始理解事物是如何一起运作的。 — Bryan Liles

这取决于他们想做什么工作。对于那些在科技和社会公正的交汇处工作的人,我推荐 Safiya Noble 的《Algorithms of Oppression》一书。 —Mutale Nkonde

你对有色人种将科技作为他们的职业有什么建议?

我建议你学习自己的技能。你将是一个永远的学习者。总会有人或事挡在你的路上,你的反应和行动将取决于你自己。永远不要拒绝第一个提议,要知道自己的价值。我看技术就像看艺术一样。发展需要时间,所以要对自己有耐心,拔掉插头说不也没关系。 — Tameika Reed

作为一个有点像行业保护者一样的人,我不想要不适合技术的人。所以要真正判断自己是否适合科技。你是一个能解决问题的人吗?你是否理性多于感性?你是否经常发现自己在创造过程?如果是这样,无论你的背景如何,我认为你都可以在科技行业找到一个家。— Michael Scott Winslow

事情不会那么简单。你的进步会因为你的族群而减慢。你必须更努力工作。把逆境当作动力。你要比周围的人准备的更充分,这样当机会出现时你就能够应对它。找一个与你相似的人的网络,私下发泄不满,公开展示实力。你属于这里,你就能成功。 — Bryan Liles

除了为一家公司工作,也在发展公共利益技术领域,我们的工作中心是技术如何影响真实的人。许多领导这项工作的人是有色人种妇女,黑人妇女正在取得巨大的进步。— Mutale Nkonde

BHM 对你来说意味着什么?

意味着永不停止,为你永远不会忘记。 —Tameika Reed

BHM 对我来说意味着关注塔斯克基飞行队而不是奴隶制。强调我们如何为历史做出贡献,而不是如何成为历史的受害者。我希望人们理解我们的骄傲来自哪里,而不是我们的愤怒。在我们的人民身上发生了很多非常糟糕的事情,但我们还站在这里。坚强!— Michael Scott Winslow

BHM 是一个反思被遗忘的美国黑人历史的日子。我把它当作是感谢我的祖先所做的牺牲的时刻。— Bryan Liles

这是一个集中体现全球黑人所作贡献的时刻。我喜欢它,这是我一年中最喜欢的时间之一。 — Mutale Nkonde


via: https://opensource.com/article/20/2/careers-tech-minorities

作者:Shilla Saebi 选题:lujun9972 译者:M4Xrun 校对:wxy

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

LWN.net 发布的 Linux 内核报告中,常年可以看到一个贡献者 —— “Yue Hai Bing”,自 2018 年底以来,TA 对每个版本都会贡献大量的补丁,帮助 Linux 内核不断迭代。为了找到这个来自华为的优秀贡献者,我开始找到朋友圈的华为同学,了解相关信息。每次提到 “Yue Haibing” ,大家都是神秘的一笑,就不再说话。

这让我更加好奇,到底是谁,能如此频繁的在 Linux 内核中贡献,又从未在各种会议聚会中见到 TA?这让我产生了极大的好奇心。直到 openEuler 的问世,我们和 openEuler 社区的合作渐渐变多,终于知道,原来 Yue HaiBing 背后,竟然是华为的自动内核缺陷发现机器人 HULK Robot!正是 HULK Robot 完成了如此高频且优质的内核代码贡献。没想到,我以为的大神,背后竟然是一个机器人!

而为了能够了解到更多关于 HULK Robot 的信息,我采访了 HULK Robot 的架构师 —— 魏勇军先生,和魏勇军先生聊了聊关于 HULK Robot 的故事。

魏勇军(左)接受老王(右)的专访

HULK Robot 的由来

提及 HULK Robot 的诞生,魏勇军提到,其实 HULK Robot 很早便已经在社区应用。在 2017 年的时候,HULK Robot 的前身已经进入到 Linux 内核社区当中,发挥自己的作用。

在当时,HULK Robot 以 “Wei Yongjun” 这个身份,在 Linux 内核社区中贡献代码,提交代码修复补丁。“Wei Yongjun” 提交代码的频率之高,质量之优,让 Linux 内核的核心维护者 Greg Kroah-Hartman 都为之惊叹。在 2017 年北京举办的首次 LC3 大会上,Greg Kroah-Hartman 还专门提到了“Wei Yongjun”。

而来自社区的积极反馈,让魏勇军意识到,这个机器人对 Linux 内核社区是有价值的,可以帮助 Linux 内核越变越好。那为什么不让这个事情更进一步呢?

于是,HULK Robot 正式立项了。

但,说起来容易做起来难。HULK Robot 想要给 Linux 内核贡献代码、提供补丁,却绝非易事。但魏勇军找到了思路。华为多年来虽然在做自己的服务器操作系统,但始终坚持“上游优先”,积累了大量的 Linux 内核维护经验,HULK Robot 可以通过整理过去的华为开发者的经验、测试用例,并将这些进行对比验证,确保这些修改是正确的、有价值的,再将其迁移至 HULK Robot 中,让机器人自动进行更多代码的扫描。

而随着华为对于 Linux 内核的不断进行代码贡献,终于,HULK Robot 成为了一个拥有丰富的测试集和探测能力的机器人。

HULK Robot 如何提交代码?

HULK Robot 随着不断的发展,能够为社区贡献更多的代码,从 Linux 内核的统计报告来看,从 Linux 5.1 开始,一直到最新的 5.10、5.12 ,HULK Robot 的提交能力在逐渐变强,为社区贡献的代码也越来越多, 已经在内核社区历史 Reported-By 榜单排名 TOP2。

魏勇军说,HULK Robot 背后是一套非常复杂的分布式系统。其本质上是一个海量的测试集与一系列先进的自动化测试、问题检测的手段。HULK Robot 和别的 Linux 内核测试机器人不同的是华为因为开发 openEuler 发行版,在内核的维护上付出了不少的时间和精力,拥有丰富的经验,也因此可以在其中贡献更多的代码。

对于魏勇军来说,HULK Robot 如今的重点已经远不是准备更多的测试集,而是要进一步的优化整个内核检测的流程。目前每次版本变更 HULK Robot 都需要跑一次完整的测试集,费时费力,他希望可以让 HULK Robot 可以更加的智能,当代码更改之后,只检测牵涉到相应功能的测试集,而不是测试庞大的全部测试集。此外,加入更多的 DevOps 能力,让更多的人可以参与到 HULK Robot 的开发工作中,更好的为内核贡献代码。这些修改,都可以让 HULK Robot 可以更好的为整个社区提供贡献,更加高效的贡献代码。

也正因为 HULK Robot ,让整个社区可以拥有一个更加稳健和安全的操作系统,整个社区都因 HULK Robot 受益。

社区、开源、机器人

其实一直以来,机器人的应用在开源项目的维护当中是广泛应用的,但对于开源项目本身的维护,一直以来机器人参与的都不多,我也借此机会与魏勇军交流了想法。

魏勇军表示,Linux 内核的维护风格是非常社区化的,社区的维护者默认信任每一个提交贡献者都是为了社区的长期发展而贡献代码,因此,社区的维护者并不拒绝机器人参与到内核的维护中。如果对于整个社区的长期发展是有益的、做出了优质的贡献,社区支持更多的自动化机器人参与到贡献当中。

也许在未来, 我们能看到HULK Robot 会开源,让整个社区一起参与到贡献当中,更好的让 Linux 内核得到维护。

用技术赋能社区

一直以来,Linux 社区都因为资深维护者的流失而担忧,担心社区不再有年轻的血液注入,最终失去了活力。

而 HULK Robot 则为这个事情提供了一种新的思路:可以将资深维护者的经验变成固化的代码,从而使得知识得以传承,而 HULK Robot 的自动化运行机制,又为社区提供了源源不断的贡献和补丁,让这个系统成为一个更加好用和安全的系统。从某种角度来看, HULK Robot 解放了 Linux 内核的贡献者,让贡献者们可以更加专心的做更加重要的事情,把这些繁琐复杂的事情,交给机器人来完成,从而降低了对于社区新鲜血液的需求度。

HULK Robot 不仅仅是为上游提供了新鲜的血液,也更是 openEuler 长期发展不可或缺的护道人,正是 HULK Robot 背后的默默无闻的工作,才能让 openEuler 可以更加稳固的运行,为广大开发者提供一个简单、好用、实用的 Linux 发行版。

我们需要新鲜血液么?当然需要,但如果我们能把门槛降低,这不也是一件好事么?


2021 年 6 月 10 日,openEuler 社区将发起一场面向社区开发者的技术盛会 openEuler Developer Day 2021 ,会上将对多样性计算、云原生全栈、全场景协同等技术发展方向进行持续探索和创新;技术委员会、用户委员会、品牌委员会等 20 个 SIG 组同期举办开放工作会议;技术委员会主席将深入解读 openEuler 21.03,发布下个社区版的技术定位并分享社区创新思路;客户、伙伴、厂商、研究机构将在开源圆桌中共同探讨开源软件供应链的意义和风险,开源模式如何推动以及独立演进操作系统的技术发展。

更多活动信息: https://openeuler.org/zh/interaction/summit-list/devday2021/

可能你已经知道原计划支持 2 年的 Linux 5.10 LTS 已经延长支持到 6 年了,但是你可能不知道是谁站出来提供了支持。

支持到 2026 年的 Linux 5.10!

去年年底,Linux 内核社区发布最新长期支持版本 Linux 5.10 LTS 时,该内核只支持到 2022 年 12 月,这让很多社区成员不解,因为发布于 2016 年底的 4.9 版本都支持到 2023 年 1 月。

未延长前的 LTS 支持计划

面对疑问,Linux 内核维护者 Greg Kroah-Hartman 解释说,“我希望看到公司们将如何帮助我测试和维护该内核版本,以使支持它 6 年成为实际可能。”

前不久,我们看到了 Linux 内核社区发布的一则新消息,“在有足够多的公司加强帮助测试之后,Linux 5.10 LTS 现在将维护到 2026 年底。”

发生了什么?在偶然的一个机会,我得知了是谁为 5.10 LTS 承诺了支持。这其中有一家中国公司,这是一家将开源置于战略级高度的公司,我想,你也许已经猜到了,是华为

说实话,听到这个消息时,既有些意外也不意外。意外的是,我没想到中国开发者和 IT 企业已经在承担这样的重任了;不意外的是,毕竟华为已经是全球首屈一指的 Linux 内核贡献大厂了,就在 Linux 5.10 中,华为以提交 1434 个补丁而位列内核代码贡献第一名,同时以代码修改行数 41049 行位列第二名。

Linux 5.10 贡献排行榜,华为名列榜首

可能作为普通用户并不关心使用的是不是 Linux,更不关心使用的是什么版本和有多久的支持期,但作为一家专注于 Linux 与开源的技术社区,我深刻理解其中的含义,也更关心华为在做出这样的决定背后的考虑、付出和可持续性。于是,我和 Linux ARM64 ACPI Maintainer、openEuler Maintainer、华为工程师郭寒军约了一个访谈,现在将其中主要内容分享给诸位读者。

为 LTS 提供支持

杭州的梅雨季显得并不炎热,在一间很大的房间中,我和看起来比我年轻多了的受访者郭寒军同学进行了一段简短而精炼的对话。

郭寒军(左)接受老王(右)的专访

首先,我直奔主题问到了为什么华为会做出对 5.10 LTS 支持的承诺?从事了 Linux 内核开发十余年的郭寒军很有技术人员本色,他坦诚说,“华为将 Linux 内核用于各种各样的产品。我们在 Linux 内核上积累了很多经验,包括开发、测试和维护的能力。我们觉得可以做这些支持。”在华为内部进行了简单的讨论,讨论了需要投入的机器的资源、人的资源等等。在资源协调到位之后,“我们就公开地在邮件列表上向 Linux 内核社区与 Greg 表态说,我们愿意从公司的角度协助做维护和测试工作。”

据我所知,Linux 5.10 LTS 也将是 Debian 11 和安卓的下一个版本的内核,而在一众已经或即将采用 Linux 5.10 LTS 的软件或产品中,openEuler 发行版家族并不是最引人注目的一个,但是华为却是最主动站出来的一个。当然,在华为的表态带动之下,也有更多企业参与到了 LTS 的支持工作当中。

郭寒军还说,“其实我们提供支持的不仅仅是 Linux 5.10 LTS,而是会对目前较新的 4 个 LTS 内核都提供支持,并且会持续支持更多的 LTS 内核。”这又是一个令我意外的事情。作为一位从业互联网软件开发二十多年,眼看着 Linux 内核从一张低密度软盘即可承载的软件变成了世界上最大的软件项目,我深知要支持现在这么庞大的软件项目背后的代价有多大。其实,之所以 Greg 在一开始给 Linux 5.10 LTS 只计划了 2 年的支持期,就是因为 Linux 内核社区已经积累了 6 个 LTS 支持版本,在支持力量上有些力不从心了。目前,Linux 稳定内核的维护负责人只有两位 Greg Kroah-Hartman 和 Sasha Levin,可想而知,仅仅两人是很难照顾这么多的 LTS 内核维护工作的。

据我了解,华为对 Linux LTS 内核的测试用例已经有 8000 多项,而且还支持包括 x86\_64、ARM64 等多种架构,每个版本的测试就需要 7-8 个小时,这就需要投入大量的基础设施。

当然,我想华为在 Linux 内核方面的偌大投入,绝非是一时心血来潮,也不仅仅是技术极客们的热情奉献所致。这个支持决定不仅符合华为整体的开源战略,也给鲲鹏和 openEuler 等提供了一个坚实的底座。

内核能力对云原生社区的重要性

Linux 内核是整个系统的底座。所有的上层的技术,包括其上的一些应用软件都是构建在内核上面的。内核的稳定性、性能以及内核的后续的技术创新方向,都会对整个 Linux 生态和社区产生重要影响。这就是为什么我们要花这么多精力去保证它的稳定性,也是为什么要主动去承担 Linux LTS 支持的原因。

为了打造这样的一个底座,华为在内核方面进行了长期而卓有成效的投入,并把在内核方面的积累在 openEuler 社区开放。郭寒军认为 openEuler 在内核方面的能力主要体现在三个方面:兼容性、性能提升和创新。

从兼容性来说,这包括 CPU 架构和硬件的兼容性。除了支持 ARM64 架构的鲲鹏、飞腾处理器之外,openEuler 还可以支持 x86\_64 架构的兆芯、英特尔、AMD 等 CPU 架构,以及 RISC-V 家族。

从性能提升方面来说,openEuler 的多核并行等技术,针对调度机制、CPU 资源管控等来提升整个业务的线性度以提升性能。这些技术已经通过 openEuler 的下游发行版提供给了更多行业用户,真正使社区和行业用户受惠于软件技术带来的全新使用体验。

从创新方面来说,openEuler 内核的创新包括:

  • 第一个创新是文件系统方面的。文件系统是华为的强项之一,从可扩展只读文件系统 EROFS 到基于非易失性内存的新型文件系统,随着存储技术的发展,也需要有新型的文件系统做支撑。
  • 第二个创新是弹性软内存。这是指如何有效的利用不同速度和不同容量的存储系统,做一些分级控制,既能使用到大容量的存储,而又不降低性能。
  • 第三个是目前正在重点打造的云原生内核。在云原生内核方面,业界已经有了一些探索,而华为可以结合其硬件能力做全栈的云原生支持,从进程的调度,到内存、网络以及存储,再到最底层的硬件,提供一个 QoS 控制来支持高优先级任务。

openEuler 对 Linux 生态的意义

自 2019 年 12月 31 日 openEuler 开源以来,已有 70多家企业、机构和组织加入了 openEuler 社区,4700 多位社区开发者,成立了 83个 SIG,并有 8 家合作伙伴推出基于 openEuler 的商业发行版,在金融、政府、运营商和电力等各行业得到了广泛商用。而在去年,openEuler 社区理事会正式成立、技术委员会升级;今年,又新成立了用户委员会和品牌宣传委员会,社区治理逐步完善,走向“共建、共享、共治”。

对此,郭寒军认为,建立在 openEuler 下游的发行版天然会具备一些优势。华为一直坚持并倡导“上游优先”原则,积极地将其对 Linux 内核的改进推送到上游 Linux 内核主线,但是基于内核社区的运作机制,这个过程必然是较为漫长和复杂的。因此,openEuler 开源社区拥有的强大的 Linux 内核能力,对 openEuler 及下游的发行版来说,可以更快的响应一些特定的功能需求和硬件支持。这对于国内的一些硬件厂商来说尤为重要,可以统合更多的力量而做到更广泛的支持。

结语

作为一家迅速崛起的 Linux 生态开源社区,openEuler 所取得的进展令人侧目。一两年间,openEuler 及其背后的华为、麒麟、统信、联通数科、中科院软件所等一批企业,已经在整个 Linux 生态、云原生领域取得了长足发展。而在企业战略级的支持下, openEuler 社区所回哺给 Linux 社区的也足以令人赞叹,这让我对开源、对中国开源的未来有更多信心。

6 月 2 日晚上八点,鸿蒙召开了 2.0 的发布会,发布了鸿蒙 OS,以及一大批的新品。这两天想必大家也都看到了不少。这篇文章不想讨论鸿蒙系统本身的体验层面的变化,而是将会将精力更多的投放在鸿蒙的生态发展中。

鸿蒙想要的是什么?

从 2019 年鸿蒙发布,有几个关键词就是核心,分布式、全场景、自主研发,其中自主研发比较好理解,而分布式、全场景一直是我无法理解的,直到看了发布会,我才意识到鸿蒙真正想要的是什么。

由于我近几年来,使用的都是苹果的生态,使用 Macbook Pro 办公,使用 Homepod 听歌,出门会使用 Airpods Pro 来降噪。所以,在看鸿蒙发布会的时候,我时常有一个想法:这个功能苹果生态里已经有了啊? 或者是这个功能的 UI 交互确实是新的,但核心的体验我在苹果生态中也已经体验了啊?

也正是这一刻,我悟了,鸿蒙想要的分布式、全场景,其实就是过去我在苹果生态一直体验的那些东西,不同的是,鸿蒙的分布式、全场景,是超出了苹果生态所给予我的东西。

鸿蒙的 1 + 8 + N 战略

鸿蒙的产品架构是 1+8+N,1 指的是手机,8 指的是 PC、平板、智慧屏、手表、智能音箱、车机、耳机、AR/VR,N 则是更多的生态。

对比着我们来看苹果的生态,1 指的是 iPhone,8 指的是 Macbook Pro、iPad、Apple TV、Apple Watch、Homepod、Apple Car、AirPods 以及不知道有没有的 VR/AR 产品。

截止到这一步,鸿蒙和苹果看起来都很像,那为什么我又说华为超越了苹果生态?

原因在于 8 加的 N。

在鸿蒙的描述中,N 是指更多的 IoT 设备,他们可以通过鸿蒙系统借助 4G/5G/HiLink 等方式,和核心的 8 个产品进行连接,沟通,从而提升产品的智能性,让用户真正感受到产品的智能特性。

而在苹果生态中,苹果是不做 IoT 设备的操作系统的。鸿蒙既做了手机、核心设备的操作系统,还做了嵌入式的操作系统,确实可以让 IoT 设备的操作体验,如同 8 个核心设备的体验,这一点是只制定标准,不下场做事的苹果所无法达到的

可以说,鸿蒙生态假设真的铺设起来了,体验、易用性,可能都要超过苹果生态目前能够提供给我们的

鸿蒙生态之乱象

鸿蒙作为一个看起来还不错的产品,为何近几年来饱受争议?我觉得主要是在宣传策略上的混乱。

鸿蒙系统近几年的搜索关注度

提起鸿蒙,数码圈的人往往说的是鸿蒙 OS;而互联网/科技圈的人说的往往是 OpenHarmony 操作系统。二者在宣传的过程中,往往都是被人称作是鸿蒙系统。

但实际上,鸿蒙 OS 是真正的鸿蒙 OS,OpenHarmony 仅仅是鸿蒙生态的一个基座,如果你将之与 Android 对比,便是 Android 与 AOSP 的区别。

OpenHarmony 架构图

我们真正在使用的鸿蒙系统,是一个完整的、加入了各项系统设定的操作系统,而我们所看到的源码的部分,只是一个操作系统的基座,你真正在使用的过程中,还需要做大量的修改和剪裁的版本。

不过,这样的区分是一件好事。Android 当年之所以能够盛行,AOSP 功不可没。OpenHarmony 同样承载了鸿蒙系统发扬光大的路线。

不过,OpenHarmony 本身也在宣传上有硬伤。

一直以来,OpenHarmony 都被称之为 Android 套壳,在我看来,是不完全准确的。OpenHarmony 在手机/平板/智慧屏部分,使用的是兼容 Android 的机制,而且兼容 Android 的路线也是没有问题的;但在覆盖面更广的嵌入式设备中,产生的价值的是 2012 年就开发的 LiteOS;对于一些特定的场景下,OpenHarmony 可能会使用 Linux Kernel 来完成自己的工作。OpenHarmony 不是 Android 套壳,而是基于 Android /LiteOS/Linux Kernel 的土壤所诞生出来的操作系统。

操作系统的研发一直以来都不是技术问题,而是生态问题,用户不太会裸用操作系统提供的基础功能,能够留下用户的,必然是操作系统之上的应用生态,对于 OpenHarmony 这样的一个后来者,一个最为简单高效获得生态的方式,就是与原有生态的兼容,所以 OpenHarmony 兼容 Android 生态是在我意料之中的事情,倘若鸿蒙真的将整个系统完全重写,那我反而不看好 OpenHarmony。

相比于说 OpenHarmony 套壳 Android,我更倾向于 OpenHarmony 编写了一个抽象层,磨平了 LiteOS 和 Android 的系统 API,从而使得一些功能特性可以更加容易的在两种系统之上来实现。而这些,也正是鸿蒙所宣传的 1 + 8 + N战略下的核心体验的由来。

但不得不说,在宣传上,OpenHarmony 做的很一般,甚至可能没有起到好的作用,而是一个坏的作用。

鸿蒙生态的未来

说完了鸿蒙想要的东西和鸿蒙生态的乱象,最后,我想聊一聊关于鸿蒙的未来。

鸿蒙生态看起来非常的不错,但,能否达到所预想的水平,又是另外一个问题,对于鸿蒙来说,前路依然坎坷。

在国内方面,鸿蒙如果希望进行推广,就必须要考虑合作伙伴的问题,鸿蒙生态的建设不仅仅是华为的事情,华为可以完成 1+8 的建设,可后面的 N,是需要无数的中小 IoT 设备生产厂商共同建设而来的。

但,国内的厂商可能要面临的问题就是,面对曾经的对手,是否还要继续合作?如果合作了,未来是否会被华为卡脖子?华为又是否会在 OpenHarmony 中为自家系统添加单独的优化?这些问题都会让国内的厂商在面临选择时产生困惑。

此外,国内的厂商在完成了接入后, 鸿蒙想要扩大生态范围,就必然需要进行出海,出海时就要正面与 Android、iOS 所构建的生态进行竞争,在海外生态不足的情况下,如何取得竞争的胜利,也是一个需要研究和探讨的话题。

不过,说了这么多困难,我还是想说,鸿蒙看起来真的很好,或许,有朝一日我会面临这样的选择“花 15000 元,获得完整的苹果生态体验;花 10000 元,获得完整的鸿蒙生态体验,可以实现苹果生态 80% 甚至是 120% 的体验”,你会怎么选?

鸿蒙之路,道阻且长。

无论你是已经工作了几十年的还是刚开始从业的非工程型技术人,此建议都可以帮助你确定你的位置归属。

 title=

本系列第一篇文章 中 ,我解释了将人员和角色分为“技术”或“非技术”类别的问题。在 第二篇文章 中,我为不写代码的人分享了一些技术岗位角色。这一次,我将把这次探索总结为——“技术或非技术意味着什么”,并提供一些能够在职业发展上帮到你的建议。

无论你是已经从事技术工作数十年,或是刚刚起步,还是正在寻求职业变更,请考虑本文中来自非技术人员但在技术角色方面取得成功的人士的建议。

“不要把你的工作和身份捆绑起来 —— 把它们分开。”

—— Adam Gordon Bell,Earthly Technologies 开发者关系部

转换角色,并不意味着你的技能会消失且你不再具有价值。如果你担任了新角色,则需要专注于该角色的关键技能。培养技能是需要时间的。花点时间,找出新职位的重要技能。

如果你管理工程师们,请鼓励他们提升技术技能的同时发展非工程技能,这些技能往往能比编程能力和技术技能对职业发展和成功产生更显著的变化。

做你自己

“不要让其他人定义你是技术人员还是非技术人员。什么是技术人员,什么不是技术人员,以及这是否重要,是人们必须自己搞清楚的事情。”

—— Adam Gordon Bell

“永远不要用‘我不是技术人员’为开头进行对话。因为很可能让对方产生‘这点我需要提醒你’的想法,这在面试的时候可从来不会留下好印象,而且还有可能会让人觉得你对自己技能缺乏信心。”

—— Mary Thengvall,Camunda 开发者关系总监

避免刻板成见;不是所有的工程师都喜欢《星球大战》或《星际迷航》。不是所有工程师都穿连帽卫衣。工程师也可以和别人交流。

“单单就你的行为举止,旁人就有很多关于技术或非技术方面的看法。在办公室工作的时候,我会穿裙子,因为只有这样我才能舒服一点。”

—— Shailvi Wakhlu,Strava 高级数据总监

了解你的价值

正如我在第一篇文章中讨论的那样,被打上“非技术”的标签会导致 冒充者综合症。承认自己的价值,不要在自己身上贴上“非技术”标签,因为它会限制你的收入潜力和职业发展。

“人们之所以把我重新包装成其他东西,是因为他们认为我和工程师的刻板印象不一样。我很高兴我没有听这些人的话,因为他们本质上是在告诉我,在我拥有的技能之外,去找一份低薪的工作。”

—— Shailvi Wakhlu

“年轻的或者女性技术人,特别是刚接触技术的女性,更容易患上冒名综合症,认为自己技术不够好。比如,‘哦,我只会前端。’,什​​么叫你只会前端?前端也很难的好吧。”

—— Liz Harris

寻找那些可以提升价值并帮到人们的地方

你不需要创建 PR 就可以参与开源。

“当有人想为开源项目做点贡献时,我总是对他说,‘不要想着,得是一个提交才行、得提一个 PR 才可以。’这就好像,‘不行。怎么才能为那个项目贡献点价值呢?’ 如果你没时间提交 PR,那你是不是提个议题并把要点写下来?”

—— Eddie Jaoude,Jaoude Studios 开源程序员

思维的多样性有助于事业成功

看看所有角色和人员的价值和贡献。不要根据头衔将人归到同能力的一组。

“要认识到,所有人(包括自己在内),在任何时候,以及事情全貌的重要性。创造力这个事儿不应该由自我驱动。要知道,对于你所做的事情,你可以做的更好,也可以做的更糟。不要害怕寻求帮助,知道到我们在一起。”

—— Therese Eberhard,电影/广告和视频场景画师

“在我参加过的黑客马拉松中,我们都是技术人员,组建了一支四五个硬核程序员组成的强大团队,但我们输了。我不骗你,我们输了。在新冠疫情之前,我赢了前六次的黑客马拉松,而且当时团队中一半的人属于其他领域的专家。在我们赢过的比赛中,大多数人会认为团队一半人是非技术的,尽管我不喜欢这个术语,因为这像是给团队/项目贴金。我们之所以获胜,是因为我们对所构建的东西有很多不同的看法。”

—— Eddie Jaoude

“我们越能摆脱‘技术/非技术’、‘开发人员/非开发人员’的标签,并理解到一个连续统一的整体存在,我们就越能全力以赴地雇用到合适的人来做这项工作,只要不被你需要‘技术团队’的假设所困扰。”

—— Mary Thengvall

我们的社区和团队越多样化,它们的包容性就越大。

“老实说,无论是从社区角度还是从产品角度,我认为,总的来说,最重要的事情都是,我们应该确保我们建立的是一个包容性的社区,这不仅是为了我们的产品,也不仅是为了我们正在使用的技术,还为了整个人类社会,我想……我敢打赌,如果我们做到了这一点,那么作为人类,我们就比过去更进步了。”

—— Leon Stigter,Lightbend 高级产品经理

如果你以非程序员的技术身份工作,你会给那些认为自己“非技术”的人(或被他人认为是“非技术”的人)提供什么建议? 在评论中分享你的见解。


via: https://opensource.com/article/21/2/advice-non-technical

作者:Dawn Parzych 选题:lujun9972 译者:max27149 校对:wxy

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