走近Linux开发者:Alan Cox

By -

30 Linux Kernel Developers in 30 WeeksLinux.com 网站在2012年开始的一系列专题文章,该专题访问了三十位 Linux Kernel 的开发者,其中包含了 Linus Torvalds 和 Greg Kroah-Hartman 等广为人知的人士。这些人士所受访的问题包括:负责的项目、任职的公司、居住地、喜好的工具甚至是工作时会听的音乐等等。

对于想要了解内核开发的人而言,这些文章值得一读,而且可以从中了解一些信息,例如多数的受访者习惯于使用命令行界面的工具来工作,在桌面环境下亦然。此外有不少人表示自己偏好在安静的环境下工作而不听任何音乐。这些受访者还分享了许多对于开发者新手的建议,例如可以从感兴趣或者比较小的项目着手,并专注在上面,以及不用惧怕与其他开发者交流等。

Linux Story 本周为大家带来被誉为 Linux 二号功臣的 Alan Cox 的访谈。


alan cox

Alan Cox,英国程序员,自1991年开始投入Linux内核的开发工作,在开发者社群中有很高的地位。他是继 Linus 后 Linux 内核的另一个主要维护者。在著名的计算机作家 Nikolai Bezroukov 所著的《开源运动先驱》一书中,作者认为在 Linux 业内,Alan Cox 的贡献仅次于 Linus Torvalds,是 Linux 业内的二号人物。就连 Linus 本人也认为,Linux 能有今天,Alan Cox 功不可没,是他最应该感谢的人!

Alan Cox 曾在1999年到2009年之间为 Red Hat 工作,2011年加盟 Intel。并于2013年通过Google+ 宣布家庭原因离开英特尔,退出Linux开发。(退出或是因为他和 Linus 在工作上的分歧所致)

大家可以在 Linux Story 的 访谈 分类中查看本系列的所有文章。本系列文章将告诉大家他们是如何工作的,怎样与他们协同工作以及他们成功的原因。

你的名字是?

额……所有的问题都这么难吗?

你在社区中扮演什么角色 / 负责哪个子系统的开发?

在不同时期我的工作范畴涵盖了 Linux 内核中相当大的一部分。目前(访谈时间:2012年)我正在重写终端层,查找并修复其中的遗留 Bug。这基本上是一件无聊加可怕的纯技术工作,大概没有多少人会关心的。

除此之外我也正在努力使 Intel 的部分图形设备实现稳定的2D图像处理,以及独自清理内核的 bugzilla。

你的收入来源是什么?

在 Red Hat 任职10年后我于几年前加入了 Intel,并且非常享受在这里的工作。

你在哪居住?为什么选择那里?

南威尔士的斯旺西。当年上大学到了斯旺西,并在这里遇到了我太太,我们便就此定居下来。小城市相对大城市来说更让人放松也更宜居,坐在窗前抬头就能看到山脉和大海的感觉真的很棒。

你最喜爱的软件开发工具是什么?你通常使用什么?在桌面系统上一般运行哪些程序?

头脑、经验有时候纯靠运气。我使用的技术工具相当传统但是在编辑器方面品味非常。所以包括: bash shell, joe editor, gcc, make, git。

我的大部分设备会安装 Fedora,桌面选用就多种多样了,通常是随机的,或是当我想要尝试新玩意的时候会换上一个桌面。目前正在使用 Gnome3,其他情况下通常是 Xfce。

当我发现 Fedora bug 越来越多(当然它们技术上做的非常好,只是因为加入了太多新特性),偶尔也会尝试下其他的发行版。

你是如何参与进 Linux 内核开发的?

纯属意外,我一直在自己的 Amiga 上使用 Unix 来实现 email 和 userids 功能,当时我迫切需要一款新的系统来运行多用户游戏 AberMUD(最早在Internet上发布的 MUD 游戏,并在20世纪90年代初产生了重要的影响),要指望那时候的 Windows 简直是开玩笑。也考虑到了386BSD,但该操作系统需要一块浮点芯片。尽管BSD性能良好,但浮点芯片价格不菲,而这个时候 Linux 恰好满足我的需求。

但很快我就发现 Linux 存在很多 bug 有待修复,在最初解决几个问题后我用到了 Linux 网络方面的功能,并逐渐成为 Linux 网络代码的维护者。在这个过程中我与 Thomas Radke 合作使 Linux 支持 SMP,并也尝试参与过一些不健全的项目—— Linux Mac68K 和8086上的迷你 Linux。

是什么让你对这份工作始终抱有热情?

某种程度上是因为不断的变化。随着硬件、软件不停的更新换代,我们总会面临新的挑战。

其他方面便是我们所做的工作能够改变世界,直接的说我们的工作让那些买不起专利许可软件的人可以使用电脑。

在协作开发过程中你觉得好玩的是什么(嘴仗,愚蠢代码的提交,惊人的成就)?

我不太确信能够举出一个特定的例子,很高兴看到 Android 能如此普及,按照这个速度,Android 的使用量将会超过披头士上一张专辑的发售数量。

你对想进入该领域的开发者有什么建议?

对任何项目来说:你都应该选择自己喜欢的事情并且以正确的方式来做,这样说可能有些笼统:如果你的代码给你带来快乐,并且是按照你认为正确的方式实现的,那就可以了。

五年后当你回过头来重新审视的时候很可能会气的发抖,但这就是学习的过程。

初学者最好不要把精力过多放在内核项目上,因为它太大太出名了。很多因素导致这是一项很难的工作。

新的项目和技术就要开放灵活的多,如 HTML5,3D 打印,webgl 等,没有太多既定的东西,并且满是可以做的事情。

你在编码的时候听什么?

如果是在忙着复杂的编码,什么也不会听。如果是简单的工作,就要看工作有多无聊了,从民谣到摇滚。

在哪个邮件列表或IRC频道或会议中可以找到你?

相当多的内核列表,不过参加的会议并不是很多。我并不热衷于长途旅行,并且很讨厌坐飞机。

但我却很喜欢从斯旺西坐火车到布拉格,你在铁路模型展览上遇到我的几率要比在 Linux 会议上大的多,Linux 或许很有趣,但也只是工作而已。

原文链接:http://www.linux.com/news/special-feature/linux-developers/611198-30-linux-kernel-developers-in-30-weeks-alan-cox

LinuxStory 翻译地址: http://www.linuxstory.org/linux-developers-alan-cox/

1 Comment to 走近Linux开发者:Alan Cox

  1. 少译了一段:

    For inclusivity the Ubuntu VM I used for building Android bits is still running Unity, which seems to be a poor remake of Windowmaker without the style.

发表评论

电子邮件地址不会被公开。