走近Linux开发者:Johannes Berg
30 Linux Kernel Developers in 30 Weeks 是 Linux.com 网站在2012年开始的一系列专题文章,该专题访问了三十位 Linux Kernel 的开发者,其中包含了 Linus Torvalds 和 Greg Kroah-Hartman 等广为人知的人士。这些人士所受访的问题包括:负责的项目、任职的公司、居住地、喜好的工具甚至是工作时会听的音乐等等。
对于想要了解内核开发的人而言,这些文章值得一读,而且可以从中了解一些信息,例如多数的受访者习惯于使用命令行界面的工具来工作,在桌面环境下亦然。此外有不少人表示自己偏好在安静的环境下工作而不听任何音乐。这些受访者还分享了许多对于开发者新手的建议,例如可以从感兴趣或者比较小的项目着手,并专注在上面,以及不用惧怕与其他开发者交流等。
Linux Story 本周为大家带来内核无线网络部分及 iwlwifi 驱动维护者 Johannes Berg 的访谈。
大家可以在 Linux Story 的 访谈 分类中查看本系列的所有文章。本系列文章将告诉大家他们是如何工作的,怎样与他们协同工作以及他们成功的原因。本周 Johannes Berg 为我们分享了他目前所关注的领域和一些对新手的建议。Johannes Berg 负责维护内核中无线网络的代码以及 iwlwifi 驱动。和其他开发者一样,他致力于让 Linux 被更多硬件支持,并一往无前。
你的名字是?
Johannes Berg
你在社区中扮演什么角色 / 负责哪个子系统的开发?
在我“Linux 职业生涯”的大部分时间我一直从事着 Linux wireless (802.11)的开发,负责维护着内核中无线网络功能的大部分代码,除此之外也维护着 iwlwifi 驱动。有些时候我也会做一些其他子系统和无线网络相关的工作,之前也做过 powerpc 相关的工作(出于爱好),例如我实现了 Linux 在64位 powerpc 上的休眠功能。
你的收入来源是什么?
Intel。
你在哪居住?为什么选择那里?
我住在代特莫尔德(德国西北部城市)。我在这长大并且喜欢这的环境,不过更实际的原因是我和我的妻子在这里工作。
你最喜爱的软件开发工具是什么?你通常使用什么?在桌面系统上一般运行哪些程序?
我决定对桌面环境保密,以免被内核社区的其他人认为是异类。不过大多数时候我只会运行一个网络浏览器、email 客户端以及一大堆终端用来处理其他工作。至于生产工具的话,我不能离开最喜欢的编辑器“joe”,此外还有一些内核开发的标准工具:编辑器、 git、 sparse、 smatch 和 spatch;无线开发的工作也会用到 wireshark,最近几年我逐渐喜欢上了 trace-cmd,因为它允许人们收集大量的调试数据并在之后离线分析这些数据。
你是如何参与进 Linux 内核开发的?
这个说来话长,不过简单点说就是我有一款 2005年的 PowerBook ,但是系统不支持网卡驱动。
是什么让你对这份工作始终抱有热情?
每天都有新的挑战,并且解决办法并不是那么明显,这满足了我喜欢创造性工作的性格。另外,我喜欢能够影响很多人的工作。
在协作开发过程中你觉得好玩的是什么(嘴仗,愚蠢代码的提交,惊人的成就)?
一些在愚人节提交的补丁是我见到过最有意思的了。
你对想进入该领域的开发者有什么建议?
尝试对你感兴趣的领域持久的关注,了解社区中人们是如何相互协作的。如果有人因为某些原因跟你大呼小叫但其他大部分的人都不在意的话,你也可以完全不在意,但那个人若是你的上游子系统维护者的话,还是跟他好好沟通一下吧。开源社区有自己的行事风格,你可以尽量理解并融入,这样才能更愉快的工作。
在哪个邮件列表或IRC频道或会议中可以找到你?
我已经退订了许多列表,最近还在关注的大概只有 kernel wireless 的邮件列表了。线下会议的话就随意的多了。
LinuxStory 翻译地址: http://www.linuxstory.org/linux-developers-johannes-berg/