走近Linux开发者:John Linville
30 Linux Kernel Developers in 30 Weeks 是 Linux.com 网站在2012年开始的一系列专题文章,该专题访问了三十位 Linux Kernel 的开发者,其中包含了 Linus Torvalds 和 Greg Kroah-Hartman 等广为人知的人士。这些人士所受访的问题包括:负责的项目、任职的公司、居住地、喜好的工具甚至是工作时会听的音乐等等。
对于想要了解内核开发的人而言,这些文章值得一读,而且可以从中了解一些信息,例如多数的受访者习惯于使用命令行界面的工具来工作,在桌面环境下亦然。此外有不少人表示自己偏好在安静的环境下工作而不听任何音乐。这些受访者还分享了许多对于开发者新手的建议,例如可以从感兴趣或者比较小的项目着手,并专注在上面,以及不用惧怕与其他开发者交流等。
Linux Story 本周为大家带来 Red Hat Linux 内核维护者 John Linville 的访谈。
大家可以在 Linux Story 的 访谈 分类中查看本系列的所有文章。本系列文章将告诉大家他们是如何工作的,怎样与他们协同工作以及他们成功的原因。本周 John Linville 为我们分享了他目前所关注的领域和一些对新手的建议。John Linville 从2006年起负责维护内核的无线局域网子系统。
你的名字是?
John Linville
你在社区中扮演什么角色 / 负责哪个子系统的开发?
我从2006年起开始维护 Linux 内核的无线网子系统,我真希望这句话的意思是:看啊,这家伙写了一大堆很酷的代码。可实际上大多数时候我只是在审查代码,收集并合并补丁什么的。说实话,很多无线网开发者在技术上要比我厉害得多。我认为这给了我机会成为一个“中立玩家”来平衡各个贡献者之间的矛盾,但其实我一般都置身之外,因为核心开发者大多数时候都合作的很愉快。🙂
最近蓝牙以及 NFC 方面的开发者也将他们的补丁发送给我,在这些技术领域我或许不是一个专家,但我所扮演的角色分担了 Dave Miller 的一些任务,某种程度上使代码可以更顺畅的到达 Linus 那里。
你的收入来源是什么?
我是一名 Red Hat 的员工。
你在哪居住?为什么选择那里?
我住的地方差不多算是乡村地区了,距西北卡罗来纳州罗利市以西约45分钟。这个地方和我从小长大的环境很像,很适合在这里定居养家。通常情况下会在家办公,但也经常到罗利市的红帽办公室,这样就能跟我的同事有当面交流的机会。
你最喜爱的软件开发工具是什么?你通常使用什么?在桌面系统上一般运行哪些程序?
我崇尚简洁,所以钟爱命令行,我的桌面通常铺满了终端窗口,当我需要自动化工具的时候通常会选用 Bash,sed,awk等。
至于桌面环境嘛,我曾经是一名 KDE3.X 的用户,但从来没有接受过 KDE4.X,然后使用过 Gnome2。
你是如何参与进 Linux 内核开发的?
大约20年前,我不得不做一些研究以让我的以太网卡能够适用于当时的各种内核,但一直到1998年末我一直都没认真对待 Linux 开发。那时候恰好我的雇主在为客户提供的硬件演示平台上选用了 Linux 做操作系统。那个硬件演示平台是一个网络处理器,那时候 Linux 尚未占据嵌入式的最大份额,我完成了项目,当时的领导拍拍我的脑袋问到:你能不能再把这所有的一切移植到 VxWorks 上?幸好,之后其他雇主更看重的是我的 Linux 技能。
是什么让你对这份工作始终抱有热情?
Linux 和 open source 就是很合我的胃口,当时在大学的时候就用过类 Unix 的系统,Unix 的哲学深深的吸引着我,让我能够更好的使用电脑。所以到后来,Linux 自然是我的选择。进一步来说,作为一名电脑工程师,我可以根据自己的意愿从最底层了解、修复、提升电脑和软件。有了 Linux 的内核和各种发行版,我们就可以根据自己的需求定制最适合自己的系统。
在协作开发过程中你觉得好玩的是什么(嘴仗,愚蠢代码的提交,惊人的成就)?
当有人认为他们找到了唯一正确的方法并试图说服社区中的其他人都按照他们的要求来做的时候我就会觉得很好笑。
你对想进入该领域的开发者有什么建议?
最棒的方法就是挠自己的痒痒,当你遇到一个bug的时候,尝试自己去修复它。那时候你将不得不阅读大量的代码,跟其他开发者邮件来往,不停地追查各种信息等等。
这个过程会让你学到很多,也会充满乐趣!
你在编码的时候通常会听什么?
我是个很无聊的人,我一般会收听广播中的新闻或谈话类节目。
在哪个邮件列表或IRC频道或会议中可以找到你?
我时常关注 linux-wireless@vger.kernel.org, netdev@vger.kernel.org 和 (相对少一些) linux-kernel@vger.kernel.org。如果有人想私下里给我发电子邮件,我也并不难找到。
LinuxStory 翻译地址: http://www.linuxstory.org/linux-developers-john-linville/