Linux 如何成为我的工作

IBM 工程师 Phil Estes 分享了他的 Linux 爱好如何引导他成为开源领导者、贡献者和维护者。
396 位读者喜欢这篇文章。
How Linux became my job

Opensource.com

我使用开源软件的时间似乎可以追溯到史前时代。那时,没有所谓的社交媒体。没有 Firefox,没有 Google Chrome(甚至没有 Google),没有 Amazon,几乎没有互联网。事实上,当时的热门话题是新的 Linux 2.0 内核。当时的重大技术挑战是什么?嗯,ELF 格式正在取代旧的 a.out 格式,用于 Linux 发行版中的二进制文件,并且在某些 Linux 安装中,升级可能很棘手。

我如何将对这个新兴的年轻操作系统的个人兴趣转变为开源领域的职业,这是一个有趣的故事。

Linux 为了乐趣,而非利润

我于 1994 年从大学毕业,那时计算机实验室是由小型 UNIX 系统网络组成;如果你幸运的话,它们会连接到这个名为互联网的新事物。难以置信,我知道!“网络”(我们当时所知的)主要是手写的 HTML,而 cgi-bin 目录是启用动态 Web 交互的新乐园。我们中的许多人对这些新技术感到兴奋,我们自学了 shell 脚本、Perl、HTML 以及我们在父母的 Windows 3.1 PC 上从未见过的所有简洁的 UNIX 命令。

毕业后,我加入了 IBM,从事 PC 操作系统的工作,无法访问 UNIX 系统,不久我的大学就切断了我对工程实验室的远程访问。我该如何继续使用 vils 并通过 Pine 阅读我的电子邮件?我一直听说开源 Linux,但我一直没有时间去研究它。

1996 年,我即将开始在德克萨斯大学奥斯汀分校攻读硕士学位课程。我知道这将涉及编程和撰写论文,以及谁知道还有什么,而且我不想使用专有编辑器或编译器或文字处理器。我想要我的 UNIX 体验!

所以我拿了一台旧 PC,找到一个 Linux 发行版——Slackware 3.0——并在我的 IBM 办公室里,一张软盘接着一张软盘地下载了它。可以这么说,自从第一次安装 Linux 后,我就再也没有回头看过。在早期,我学到了很多关于 makefile 和 make 系统、关于构建软件以及关于补丁和源代码控制的知识。即使我最初是为了乐趣和个人知识而开始使用 Linux,但最终它改变了我的职业生涯。

当我还是一名快乐的 Linux 用户时,我认为开源开发仍然是其他人的工作;我设想了一个由神秘的 UNIX 极客组成的在线邮件列表。我感谢像 Linux HOWTO 项目这样的东西,它们帮助我解决了在尝试添加软件包、升级我的 Linux 发行版或为新硬件或新 PC 安装设备驱动程序时遇到的磕磕绊绊。但是使用源代码并进行修改或向上游提交它们……那是其他人的事,而不是我的事。

Linux 如何成为我的工作

1999 年,我终于有理由将我对 Linux 的个人兴趣与我在 IBM 的日常工作结合起来。我承担了一个秘密项目,将 IBM Java 虚拟机 (JVM) 移植到 Linux。为了确保我们在法律上是安全的,IBM 购买了一份收缩包装的盒装 Red Hat Linux 6.1 来完成这项工作。通过与编写我们的 JVM 即时 (JIT) 编译器的 IBM 东京研究实验室,以及 AIX JVM 源代码和 Windows & OS/2 JVM 源代码参考合作,我们在几周内就在 Linux 上拥有了一个可工作的 JVM,比 Sun 官方 Java 在 Linux 上的端口发布提前了几个月。现在我已经完成了在 Linux 平台上的开发,我被它征服了。

到 2000 年,IBM 对 Linux 的使用正在迅速增长。由于 Dan Frye 的远见和坚持,IBM 对 Linux 进行了“十亿美元的赌注”,于 1999 年创建了 Linux 技术中心 (LTC)。在 LTC 内部,有内核开发人员、开源贡献者、IBM 硬件的设备驱动程序作者以及各种以 Linux 为中心的开源工作。我不想再与 LTC 保持外围联系,我想成为 IBM 这个令人兴奋的新领域的一部分。

从 2003 年到 2013 年,我深入参与了 IBM 的 Linux 战略和 Linux 发行版的使用,最终我的团队成为了 IBM 每个部门约 60 种不同产品使用 Linux 的信息交换中心。我参与了收购,在收购中,人们期望每个设备、管理系统以及基于虚拟或物理设备的中间件都运行 Linux。我精通 Linux 发行版的构建,包括打包、选择上游来源、开发发行版维护的补丁集、进行自定义以及通过我们的发行版合作伙伴提供支持。

由于我们的下游提供商,我很少有机会向上游提交补丁,但我通过与 Ulrich Drepper 互动(包括将一个小补丁放入 glibc)以及处理 时区数据库 的更改做出了贡献,亚瑟·戴维·奥尔森在他在 NIH FTP 站点上维护它时接受了这些更改。但我仍然没有作为开源项目的常规贡献者参与工作。是时候改变这一切了。

在 2013 年底,我加入了 IBM 云组织的开源团队,并正在寻找一个可以参与的上游社区。会是我们对 Cloud Foundry 的工作,还是我会加入 IBM 庞大的 OpenStack 贡献者团队?都不是,因为在 2014 年,Docker 以风暴般的速度席卷全球,IBM 要求我们中的一些人参与这项热门的新技术。在接下来的几个月里,我经历了很多第一次:使用 GitHub,学习了很多关于 Git 的知识,而不仅仅是 git clone,让 pull request 得到审查,用 Go 编写代码等等。在接下来的一年里,我成为 Docker 引擎项目的维护者,与 Docker 合作创建下一代镜像规范(以支持多种架构),并参加关于容器技术的会议并发表演讲。

我现在的状况

快进几年,我已经成为包括云原生计算基金会 (CNCF) containerd 项目在内的开源项目的维护者。我还创建了项目(例如 manifest-toolbucketbench)。我通过开放容器倡议 (OCI) 参与了开源治理,我现在是该倡议的技术监督委员会成员,并且在 Moby 项目中,我是技术指导委员会成员。并且我很荣幸能在世界各地的会议、聚会小组以及 IBM 内部就开源发表演讲。

开源现在已成为我在 IBM 职业生涯的一部分。我与整个行业的工程师、开发人员和领导者建立的联系可能与我在 IBM 内部认识和共事的人数不相上下。虽然开源与专有开发团队和供应商合作伙伴关系有许多相同的挑战,但在我的经验中,与全球开源社区的人们建立的关系和联系远远超过了困难。不同意见、观点和经验的碰撞可以为软件和参与人员创造学习和改进的文化。

这段旅程——从我第一次使用 Linux 到成为当今云原生开源世界的领导者、贡献者和维护者——是非常有益的。我期待着未来更多年的开源协作以及与世界各地的人们互动。

User profile image.
Phil 是 IBM Watson 和云平台部门的杰出工程师兼容器和 Linux 操作系统架构战略首席技术官。Phil 目前是 Docker(现在的 Moby)引擎项目、CNCF containerd 项目的 OSS 维护者,并且是开放容器倡议 (OCI) 技术监督委员会和 Moby 技术指导委员会的成员。

6 条评论

很棒的故事,我笑了你的大学时代经历,因为我们有 Vax VT100 大型机服务器和一台 Windows 3.1,实验室助理(仅限)可以使用。我也是 1994 年毕业的,但走了不同的路线。我直到 2000 年代才进入 IT 或 Linux,但现在有点在工作中使用 Linux。

很棒的故事!我喜欢看到人们如何到达他们现在的位置!

很棒的故事!我记得 1990 年代初研究生院的一些事情。我们可以访问 Vax 集群。我有一份带有 CD 和文档的 Red Hat 6.1 副本。

这是一个很棒的故事!并且由于您在 IBM 的 Java for Linux 上的工作,我得以将 Linux 引入我们的企业。我去年在 OpenSource 上写过这篇文章,我们无法让我们的大学课程注册系统在 AIX 上的 Java 上运行 - 但一旦 IBM 的 Java for Linux 可用,我们就能够将整个系统迁移到 Linux。
https://open-source.net.cn/article/17/7/how-introduced-organization-linux

因此,感谢您在 Java for Linux 上的工作!

感谢您撰写关于您如何迷上 Linux 的精彩文章。我快 67 岁了,职业是机械工程师。我从 1976 年到 1993 年在一家大型美国石油服务公司工作,以支持和在东南亚建立 JVC。在那时在中国工作了将近五年,我参与了我的第一个 JVC 行政软件需求的安装和维护,这使我第一次接触到 Linux。当时选择它是出于成本原因。长话短说,我当时就爱上了它,随后决定在阿联酋开始一家 IT 咨询业务,我现在正处于关闭过程的最后阶段,在经历了超过 25 年的乐趣和好运后,我要回家了!不用说,IT 行业的这些年比我在最疯狂的梦想中想象的还要有回报。我迷上了 Linux,随后在 IBM 收购该公司并创建了 Linux 版本的 Lotus Notes Domino 应用程序后,我又迷上了 Lotus Notes for Linux。我至今仍相信它是迄今为止创建的最稳定的通信软件。在我所有自雇的岁月里,我从未丢失过任何 Linux/Domino 安装中的数据,即使在致命的硬件崩溃之后,数据恢复和重建也从未成为问题。然而,我经历过无数次 Exchange 安装,这些安装多年来让我白发苍苍。然而,当时和今天最大的问题是/仍然是找到合格的年轻 IT 工程师,他们了解 Linux 并且像我一样充满热情。不幸的是,多年来,我不得不了解到,来自印度的大多数 IT 工程师(对于世界这一地区而言)都是在复制的 Microsoft 产品上长大的,并且发现这些产品更容易处理,因此认为最好更多地习惯他们已经知道的东西,以便找到一份工作。我还了解到,当时的典型秘书宁愿使用 Microsoft Word 和 Outlook,而不是 Wordstar、WordPerfect 或 Lotus Symphony 和 Lotus Notes Domino。他们中的大多数人无论如何都不知道这两者的功能,但他们通过复制 Microsoft Word 学习了他们的计算机写作技能,因此发现继续使用相同的东西更容易,就像秘书一样。微软赢得这场游戏不是因为软件质量,而是因为免费提供的副本!我今天称之为“聪明的营销”!另一方面,IBM 多年来一直面临不同的营销问题。虽然公司知道他们的产品是一流的,但他们没有做足够的努力与他们的客户分享这些信息!也许,我只能假设,IBM 一直只对大型企业客户感兴趣?当我退休时,无论我走到哪里,我都会带着我的 Lotus Notes Domino 服务器,因为我知道只要我需要,我就会有一个值得信赖的可靠合作伙伴。请继续努力,永远不要放弃 Linux 和 Lotus Notes Domino!

酷。感谢分享您的故事。我记得当 IBM 宣布他们对 Linux 的十亿美元支持时,感觉很棒。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.