Linux 如何成为我的工作

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

Opensource.com

我使用开源软件的时间似乎可以追溯到史前时代。那时,还没有社交媒体这种东西。 没有 Firefox,没有 Google Chrome(甚至没有 Google),没有亚马逊,几乎没有互联网。事实上,当时的热门话题是新的 Linux 2.0 内核。那时的主要技术挑战是什么?嗯,ELF 格式正在取代二进制 Linux 发行版中旧的 a.out 格式,并且在某些 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 on 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)以及处理 时区数据库 的更改而做出了贡献,Arthur David Olson 在 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 集群。我有一份 Red Hat 6.1 的副本,附带 CD 和文档。

这是一个很棒的故事!而且由于您在 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。当时选择 Linux 是出于成本原因。长话短说,我当时就爱上了它,并随后决定在阿联酋创办一家 IT 咨询公司,我现在正准备在经历了二十五年多的乐趣和好运后关闭该公司,回到家乡!不用说,在 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 学习了计算机写作技能,因此发现继续使用相同的产品更容易,这对于秘书来说也是如此。Microsoft 赢得这场游戏不是因为软件质量,而是因为可以免费获得盗版副本!我今天称之为“巧妙的营销”!另一方面,IBM 多年来一直存在不同的营销问题。尽管该公司知道他们的产品是顶级的,但他们并没有充分地与客户分享这些信息!也许,我只能假设,IBM 始终只对大型企业客户感兴趣?当我退休时,无论我走到哪里,我都会带着我的 Lotus Notes Domino 服务器,因为我知道我有一个值得信赖的可靠合作伙伴,只要我需要它。请继续努力,永远不要放弃 Linux 和 Lotus Notes Domino!

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

© . All rights reserved.