Merge pull request #8087 from ranchong/master

How Linux became my job
This commit is contained in:
Xingyu.Wang 2018-03-11 11:12:35 +08:00 committed by GitHub
commit 70997eb214
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 39 additions and 69 deletions

View File

@ -1,69 +0,0 @@
How Linux became my job translation by ranchong
======
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/linux_penguin_green.png?itok=ENdVzW22)
I've been using open source since what seems like prehistoric times. Back then, there was nothing called social media. There was no Firefox, no Google Chrome (not even a Google), no Amazon, barely an internet. In fact, the hot topic of the day was the new Linux 2.0 kernel. The big technical challenges in those days? Well, the [ELF format][1] was replacing the old [a.out][2] format in binary [Linux][3] distributions, and the upgrade could be tricky on some installs of Linux.
How I transformed a personal interest in this fledgling young operating system to a [career][4] in open source is an interesting story.
### Linux for fun, not profit
I graduated from college in 1994 when computer labs were small networks of UNIX systems; if you were lucky they connected to this new thing called the internet. Hard to believe, I know! The "web" (as we knew it) was mostly handwritten HTML, and the `cgi-bin` directory was a new playground for enabling dynamic web interactions. Many of us were excited about these new technologies, and we taught ourselves shell scripting, [Perl][5], HTML, and all the terse UNIX commands that we had never seen on our parents' Windows 3.1 PCs.
`vi` and `ls` and reading my email via
After graduation, I joined IBM, working on a PC operating system with no access to UNIX systems, and soon my university cut off my remote access to the engineering lab. How was I going to keep usingandand reading my email via [Pine][6] ? I kept hearing about open source Linux, but I hadn't had time to look into it.
In 1996, I was about to begin a master's degree program at the University of Texas at Austin. I knew it would involve programming and writing papers, and who knows what else, and I didn't want to use proprietary editors or compilers or word processors. I wanted my UNIX experience!
So I took an old PC, found a Linux distribution—Slackware 3.0—and downloaded it, diskette after diskette, in my IBM office. Let's just say I've never looked back after that first install of Linux. In those early days, I learned a lot about makefiles and the `make` system, about building software, and about patches and source code control. Even though I started working with Linux for fun and personal knowledge, it ended up transforming my career.
While I was a happy Linux user, I thought open source development was still other people's work; I imagined an online mailing list of mystical [UNIX][7] geeks. I appreciated things like the Linux HOWTO project for helping with the bumps and bruises I acquired trying to add packages, upgrade my Linux distribution, or install device drivers for new hardware or a new PC. But working with source code and making modifications or submitting them upstream … that was for other people, not me.
### How Linux became my job
In 1999, I finally had a reason to combine my personal interest in Linux with my day job at IBM. I took on a skunkworks project to port the IBM Java Virtual Machine (JVM) to Linux. To ensure we were legally safe, IBM purchased a shrink-wrapped, boxed copy of Red Hat Linux 6.1 to do this work. Working with the IBM Tokyo Research lab, which wrote our JVM just-in-time (JIT) compiler, and both the AIX JVM source code and the Windows & OS/2 JVM source code reference, we had a working JVM on Linux within a few weeks, beating the announcement of Sun's official Java on Linux port by several months. Now that I had done development on the Linux platform, I was sold on it.
By 2000, IBM's use of Linux was growing rapidly. Due to the vision and persistence of [Dan Frye][8], IBM made a "[billion dollar bet][9]" on Linux, creating the Linux Technology Center (LTC) in 1999. Inside the LTC were kernel developers, open source contributors, device driver authors for IBM hardware, and all manner of Linux-focused open source work. Instead of remaining tangentially connected to the LTC, I wanted to be part of this exciting new area at IBM.
From 2003 to 2013 I was deeply involved in IBM's Linux strategy and use of Linux distributions, culminating with having a team that became the clearinghouse for about 60 different product uses of Linux across every division of IBM. I was involved in acquisitions where it was an expectation that every appliance, management system, and virtual or physical appliance-based middleware ran Linux. I became well-versed in the construction of Linux distributions, including packaging, selecting upstream sources, developing distro-maintained patch sets, doing customizations, and offering support through our distro partners.
Due to our downstream providers, I rarely got to submit patches upstream, but I got to contribute by interacting with [Ulrich Drepper][10] (including getting a small patch into glibc) and working on changes to the [timezone database][11], which Arthur David Olson accepted while he was maintaining it on the NIH FTP site. But I still hadn't worked as a regular contributor on an open source project as part of my work. It was time for that to change.
In late 2013, I joined IBM's cloud organization in the open source group and was looking for an upstream community in which to get involved. Would it be our work on Cloud Foundry, or would I join IBM's large group of contributors to OpenStack? It was neither, because in 2014 Docker took the world by storm, and IBM asked a few of us to get involved with this hot new technology. I experienced many firsts in the next few months: using GitHub, [learning a lot more about Git][12] than just `git clone`, having pull requests reviewed, writing in Go, and more. Over the next year, I became a maintainer in the Docker engine project, working with Docker on creating the next version of the image specification (to support multiple architectures), and attending and speaking at conferences about container technology.
### Where I am today
Fast forward a few years, and I've become a maintainer of open source projects, including the Cloud Native Computing Foundation (CNCF) [containerd][13] project. I've also created projects (such as [manifest-tool][14] and [bucketbench][15]). I've gotten involved in open source governance via the Open Containers Initiative (OCI), where I'm now a member of the Technical Oversight Board, and the Moby Project, where I'm a member of the Technical Steering Committee. And I've had the pleasure of speaking about open source at conferences around the world, to meetup groups, and internally at IBM.
Open source is now part of the fiber of my career at IBM. The connections I've made to engineers, developers, and leaders across the industry may rival the number of people I know and work with inside IBM. While open source has many of the same challenges as proprietary development teams and vendor partnerships have, in my experience the relationships and connections with people around the globe in open source far outweigh the difficulties. The sharpening that occurs with differing opinions, perspectives, and experiences can generate a culture of learning and improvement for both the software and the people involved.
This journey—from my first use of Linux to becoming a leader, contributor, and maintainer in today's cloud-native open source world—has been extremely rewarding. I'm looking forward to many more years of open source collaboration and interactions with people around the globe.
--------------------------------------------------------------------------------
via: https://opensource.com/article/18/2/my-open-source-story-phil-estes
作者:[Phil Estes][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://opensource.com/users/estesp
[1]:https://en.wikipedia.org/wiki/Executable_and_Linkable_Format
[2]:https://en.wikipedia.org/wiki/A.out
[3]:https://opensource.com/node/19796
[4]:https://opensource.com/node/25456
[5]:https://opensource.com/node/35141
[6]:https://opensource.com/article/17/10/alpine-email-client
[7]:https://opensource.com/node/22781
[8]:https://www.linkedin.com/in/danieldfrye/
[9]:http://www-03.ibm.com/ibm/history/ibm100/us/en/icons/linux/
[10]:https://www.linkedin.com/in/ulrichdrepper/
[11]:https://en.wikipedia.org/wiki/Tz_database
[12]:https://opensource.com/article/18/1/step-step-guide-git
[13]:https://github.com/containerd/containerd
[14]:https://github.com/estesp/manifest-tool
[15]:https://github.com/estesp/bucketbench

View File

@ -0,0 +1,39 @@
Linux如何成为我的工作
从很早很早以前起我就一直使用开源软件。那个时候没有所谓的社交媒体。没有搜狐没有谷歌浏览器甚至连谷歌也没有没有亚马逊几乎没有一个互联网。事实上那个时候最热门的是最新的Linux 2.0内核。当时的技术挑战是什么是Linux发行版本中旧的a.out格式被ELF格式代替导致升级一些linux的安装可能有些棘手。
我如何将我自己对这个初出茅庐的年轻操作系统的兴趣转变为开源事业是一个有趣的故事。
Linux为乐趣而非利润
1994年我大学毕业时计算机实验室是UNIX系统的小型网络如果你幸运的话他们会连接到这个叫做互联网的新东西。难以置信我知道“网络”正如我们所知道的大多是手写的HTML,cgi-bin目录是启用动态web交互的一个新的平台。我们许多人对这些新技术感到兴奋我们还自学了shell脚本PerlHTML以及所有我们在父母的Windows3.1上从没有见过的简介的UNIX命令。通过vils和阅读我的邮件。
毕业后我加入IBM在一个没有UNIX系统的PC操作系统上工作不久我的大学切断了我通往工程实验室的远程通道。我如何继续用PinePine是以显示导向为主的处理程序读我的电子邮件我一直听说开源Linux但我没有时间去研究它。
1996年我在德克萨斯大学奥斯丁分校开始读硕士学位。我知道这将涉及编程和写论文不知道还有什么但我不想使用专有的编辑器编译器或者文字处理器。我想要的是我的UNIX经验!
所以我拿了一个旧电脑找到并下载了一个Slackware 3.0的Linux发行版本分配磁盘后放在了我的IBM办公室。可以说我在第一次安装Linux后就没有回过头了。在最初的那些日子里我学习了很多关于文件和系统关于建设软件和补丁还有源码控制的知识。虽然我只是开始使用Linux来获得乐趣和个人知识但他最终改变了我的职业生涯。
虽然我是一个愉快的Linux用户但我认为开源开发任然是其他人的工作我想到了一个神秘的UNIX极客的在线邮件列表。我很感激Linux HOWTO项目他帮助我尝试添加软件包升级Linux版本或者安装新硬件和新PC的设备驱动程序。但是要处理源代码并进行修改或提交到上游… …那是给别人的,不是我。
Linux如何成为我的工作
1999我终于有理由把我个人对Linux的兴趣与我在IBM的日常工作结合起来了。我带了一个研究项目接到JVM虚拟机的Linux上。为了确保我们在法律上是安全的IBM购买了一个压缩包创建Red Hat Linux 6.1副本来完成这项工作。在IBM东京研究实验室工作时写下了我们的JVM即时JIT编辑器AIX JAV源代码Windows和OS/2的JVM参考源代码我们有一个JVM的Linux工作在几周之内击败了SUNS公司官方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发行版的建设包括打包资源选择上游资源发展原有发行版的补丁集做定制并通过我们的合作伙伴提供支持的发行版。
由于我们的下游供应商我很少提交补丁到上游但我通过配合Ulrich Drepper包括一个小补丁到glibc去改变时区数据库的工作贡献自己的力量Arthur David Olson接受他在NIH的FTP站点的维护。但作为我工作的一部分我还没有作为开源项目的正式贡献者工作过。是该改变这种情况的时候了。
在2013年末我在开源集团加入了IBM的云组织并正在寻找一个上游社区参与进来。这将是我们在云上工作还是我会加入IBM的为OpenStack贡献的大组都不是是因为在2014年Docker开源的应用容器引擎席卷了全球IBM邀请我们几个参与这个热门的新技术。我在接下来的几个月里经历了许多的第一次使用GitHub比起只是git clone学习了更多关于Git有PR的复查在Go上写代码等等。在接下来的一年中我在Docker引擎项目上成为一个维修者以创造形象规范的下一版Docker支持多个架构出席和讲话在一个关于封装技术的会议上。
现在我在哪里
一晃几年过去我已经成为了一个开源项目的维护者包括云端原生计算基础的集中网络控制设备containerd一个控制runC的守护进程项目。我还创建项目如清单工具和比较容器运行时性能。我已经通过OCI为创造开放的行业标准容器格式和runtime明确目的开放的治理结构参与开源治理。我在世界会议Meetuo网站群IBM内部有过很高兴的关于开源的演讲。
开源现在是我在IBM职业生涯的一部分。我与工程师开发人员和行业领导的联系可能比我在IBM内认识的人的联系还要多。虽然开源与专有开发团队和供应商合作伙伴有许多相同的挑战但据我的经验开源与全球各地的人们的关系和联系远远超过困难。随着不同的意见、观点和经验的不断优化可以对软件和涉及的在其中的人产生一种不断学习和改进的文化。
这个旅程——从我第一次使用Linux到今天成为一个指导者贡献者和现在云本地开源世界的维护者——我获得了极大的收获。我期待着与全球各地的人们长久的进行开源协作和互动。