走近Linux開發者:Sarah Sharp
30 Linux Kernel Developers in 30 Weeks 是 Linux.com 網站在2012年開始的一系列專題文章,該專題訪問了三十位 Linux Kernel 的開發者,其中包含了 Linus Torvalds 和 Greg Kroah-Hartman 等廣為人知的人士。這些人士所受訪的問題包括:負責的項目、任職的公司、居住地、喜好的工具甚至是工作時會聽的音樂等等。
對於想要了解內核開發的人而言,這些文章值得一讀,而且可以從中了解一些信息,例如多數的受訪者習慣於使用命令行界面的工具來工作,在桌面環境下亦然。此外有不少人表示自己偏好在安靜的環境下工作而不聽任何音樂。這些受訪者還分享了許多對於開發者新手的建議,例如可以從感興趣或者比較小的項目著手,並專註在上面,以及不用懼怕與其他開發者交流等。
Linux Story 本周為大家帶來 Sarah Sharp 的訪談。
歡迎來到30周系列第三期,我們每周採訪一位 Linux 內核開發者,上周我們採訪的是 Thomas Gleixner。在餘下時間中本系列文章將告訴大家他們是如何工作的,怎樣與他們協同工作以及他們成功的原因。
你的名字是?
你在社區中扮演什麼角色 / 負責哪個子系統的開發?
我是 Linux 內核中 xHCI 驅動的維護者,我負責Linux USB 3.0的開發支持,我會把補丁包提交給 USB 子系統維護者Grep Kroah-Hartman。
你的收入來源是什麼?
我在英特爾開源技術中心與一群很酷的 Linux 內核開發者一起工作。
你在哪居住?為什麼選擇那裡?
我住在俄勒岡州的波特蘭市。
你最喜愛的軟體開發工具是什麼?你通常使用什麼?你在桌面系統上一般運行哪些程序?
呃,我差不多算是 Vim 和 Mutt 黨,喜歡在純命令行下進行軟體開發。當然我的桌面系統用的是 Linux。通常不是 Debian 就是 Ubuntu,我儘可能的在 Linux 下完成所有的工作。
你是如何參與進 Linux 內核開發的?
我的計算機科學教授 Bart Massey 和 Greg Kroah-Hartman (Linux 內核維護者)比較熟,他當時正想找學生來做 Linux USB 項目。Bart 是我「usbfs2」項目的指導教授,他認為我很合適。usbfs2 開始是我在波特蘭州立大學的高級選修課項目,後來變成英特爾大學生研究項目基金下的一個項目。
我第一次提交補丁的時候非常的緊張,但我當時的男友也就是現在的丈夫鼓勵我果斷提交。Linux USB 社區是一個開始內核開發的好地方,郵件列表上的人都會很耐心地回答新手們的問題。
在畢業前的幾個月我被推薦到 OSCON 2007 (開源大會)上做一個關於 usbfs2 項目的演講。OSCON 選拔委員會的 Kristen Accardi 在波特蘭 Linux 線下聚會中見過我幾次,她恰好了解到 英特爾開源技術中心正在招聘 Linux USB 開發者,便把我推薦給了他們,於是我獲得了那次難得的面試機會。今天為止我已經在英特爾開源技術中心做了5年的Linux USB 子系統開發。
如果沒有那些與其他開發者在線上及一些 線下會議中的交流,我今天是不會成為一名 Linux 內核開發者的。
是什麼讓你對這份工作始終抱有熱情?
那些促我進步的人,我喜歡和 Linux 內核社區的朋友以及我在英特爾的同事們,一起學習、討論新的想法。的確,我們時常會有一些激烈的討論,但大多數開發者都會很友好的花時間回答我的問題。
在協作開發過程中你覺得好玩的是什麼(嘴仗,愚蠢代碼的提交,驚人的成就)?
我覺得最有意思的是 Greg KH 對我 pull 請求的描述。這裡是他回復的片段:
Date: Thu, 26 May 2011 00:04:50 -0700
From: Greg KH
To: Sarah Sharp
Cc: linux-usb@vger.kernel.org
Subject: Re: [RFC 0/3] xhci: Remove useless debuggingOn Wed, May 25, 2011 at 04:28:51PM -0700, Sarah Sharp wrote:
The xHCI driver is what, two years old now? It's high time it put on
its big girl pants and stop crapping out useless debugging information.看到你的這條消息我把咖啡噴了一筆記本,你現在欠我一包面巾好讓我清理電腦!
你對想進入該領域的開發者有什麼建議?
在 Linux 內核社區相應的郵件列表中找一個中等規模的項目,不要把時間過多的浪費在一些拼寫錯誤的補丁上,做幾回足以讓你了解補丁提交流程就行了,到達一定程度後你就要試著去為內核開發做一些更有用,更大的貢獻。
尋找一個技術上的導師,不一定必須得是 Linux 子系統的維護者,只要這個人知道基本的 git 用法,可以 review 你的代碼,以及可以幫助你配置提交補丁包的郵件客戶端。和你的朋友互相 code review ,並且一起嘗試進行 Linux 內核子系統的學習。
你在編碼的時候聽什麼?
太吵鬧的音樂使我無法集中精神編碼,所以我傾向於電子音樂,慢節拍,古典電影的插曲。我常聽Daft Punk, Justice, Hans Zimmer, and Klaus Badelt。
在哪個郵件列表或IRC頻道或會議中可以找到你?
我在 linux-usb@vger.kernel.org 郵件列表。會議的話,我會參加 OSCON , 開源 Bridge,美國 Linux 會議,Linux Plumbers Conf, Linux 內核峰會以及澳大利亞 Linux 會議。今年我將代表開源中的女性參加華盛頓的 AdaCamp。
原文:http://www.linux.com/news/special-feature/linux-developers/593966-30-linux-kernel-developers-in-30-weeks-sarah-sharp