FreeBSD 創始人-Jordan Hubbard

Jordan Hubbard 曾是 FreeBSD 的創立者之一, 現任蘋果公司 Darwin 項目的負責人. Jordan 只擁有高中學歷, 但對計算世界做出了令人注目的貢獻. 在這篇訪談裏, Jordan 將談及他參與 Darwin, FreeBSD 和 386BSD 的情況,以及他決定離開 FreeBSD 核心團隊的背景.

問: 請簡單介紹一下你的個人情況.

答: 好的. 我現住在加州硅谷, 以前是在舊金山. 我實際出生在夏維夷, 在不同的時期到過世界上不同的地方. 我一生中不斷在移動, 並沒有固定在某一個地方, 我喜歡這樣. 我現在39歲, 只接受過高中教育, 因爲我當時想盡早結束我的學校教育以便有充足的時間來投身於工業界. 我的第一個工作是用 BASIC 寫一個會計軟件, 當時我十四歲. 後來還做過 清單管理軟件(inventory management software), 文字處理軟件, 大型機的系統管理等等. 在與UNIX 和各種古怪神祕的操作系統打交道的同時, 我多數情況是一個小型機和大型機的***. 直到486出現以後, 我纔開始接觸 PC, 並在上面運行 BSD.

問: 請談一談你參與蘋果公司 Darwin 項目的情況.

答: 我負責蘋果公司中專門於 Darwin 發佈 和 Mac OS X 中 Darwin 部分的維護工作的小組. 此外, 我們不停地在融和 Darwin, FreeBSD, 以及其他開源項目中共有的一些技術, 盡我們所能地把 Darwin 做成一個好的 UNIX.

問: Mac OS X 的 Darwin 部分是由那些部件組成的?

答: 幾乎所有與命令行界面有關的部分, 內核,以及相當一部分設備驅動程序. 你可以把 Darwin 看作是"圖形界面下的一切"(everything below the GUI).

問: 如果沒有 Mac OS X 的其他部分, 光 Darwin 本身有什麼用嗎?

答: Darwin 可以完全獨立地運行在 Power PC 和 X86 平臺上. 如果加上 XFree86 以及其他你所想要的東西(比如KDE 或 fvwm), 你可以得到一個和其他開源 UNIX 相當的桌面操作系統.

問: Darwin 和 FreeBSD 相似到什麼程度?

答: 從某些角度講, 它們非常相似. 不僅僅是人們熟知的 userland, 也包括大量的網絡支持代碼, 文件系統支持代碼, 以及幾個文件系統都是共享的. 但從微內核和能源管理的角度, 它們有很大的不同, 另外, 安全和認證(authenticat)模型也有相當的區別. 也就是說, 從某些方面做比較相對簡單, 但從其他的方面則相當困難.

問: Darwin 相對於 FreeBSD 有什麼優勢嗎?
答: 坦率地說, 我認爲 Darwin 有更大的創新自由度. 儘管是建立在大量的經過檢驗證明良好的技術之上, 但作爲一個操作系統而言 Darwin 還很"年輕", 並且它的目的是進入一大批 FreeBSD 可能永遠不會涉及的用戶羣. 這將有力地推動解決一些 FreeBSD 不可能投入資源去解決的老大難問題". 另外, 有一批全職的, 有薪水的工作人員也有助於實現這一的目標. 我實際上兩個系統都喜歡, 但是當桌面和服務器有了一個統一的 BSD 前端的時候, 很難講有什麼優勢和不足.

問: Darwin 於 1999 年作爲開源項目首次發佈, 那以後, 蘋果公司以外的社區參與情況如何呢?

答: 有過一些曲折. 我們花了一些時間來讓人們相信蘋果公司對開放源代碼是嚴肅的, 並且將一直參與開放源代碼運動, 現在這已是發生了的事實. 最近, 隨者 OpenDarwin 項目的建立, 情況有了新的進展, 人們可以更容易的參與. 我可以說, 到目前爲止, 蘋果公司以外的社區已貢獻了相當數量的代碼. 在開放源代碼社區和UNIX 社區, 對 Mac OS X 和 Darwin 都有很高的熱情.

問: 在93年, 你是 FreeBSD 的創始人之一. 我也在FreeBSD手冊中讀到過一些關於 FreeBSD 早期的情況. 其中你提到 FreeBSD 始於對Bill Jolitz's 386BSD 的補丁盒(patchkit). 當時你是怎樣參與到這個項目中的?

答: 當 386BSD 0.0 出來的時候, 我實際上已經在我的 486 PC 上運行 4.3 BSD. 當時是作爲一個在真正的微內核模式(true microkernel mode) Mach 3.0 之上的單獨服務(single server), 其中信息(messages)在 BSD server 部分和 Mach 部分之間傳遞, 地址空間(address spaces) 實現了真正的分離. 我很喜歡這種架構設計. 由於我當時擁有的代碼是 AT&T 許可的, 我很幸運地成爲當時少數能爲有 OS 許可證並且能合法運行 AT&T 軟件的公司工作的人. 這給更開放地和他人合作以改進代碼帶來很大障礙. 當 386BSD 0.1 出來的時候, 我發現它基本上是可用的而且是自由許可的(FREE), 就立即發生興趣而再也沒有回頭. 自然而然, 我們可以開始相互合作, 我們中的一些人已經着手解決我們所發現的問題. 這些努力導致了 386BSD 補丁盒(patchkit), 其他的都已經基本是歷史了. 我是最後幾個 386BSD 補丁盒(patchkit) 維護者之一, 直到我們發現與 Bill 已經無法合作下去, 我們組成了 FreeBSD.

問: 在 FreeBSD 手冊中, 你提到 " Bill Jolitz 沒有任何暗示而突然決定從項目中拿走他的那部分". 他爲什麼那樣做呢?

答: 坦率地說, 我們中間沒有人真正理解 Bill 和他那古怪的思維模式. Bill 絕對是一個聰明的傢伙, 能夠完成很多難度很高的代碼. 但他也是這樣一種人, 他們如果爲你的公司工作的話, 將把自己和一臺工作站鎖在一個屋子裏, 吃着比薩餅這樣的食品, 不開門而把所有的東西都塞到門下面. 這簡直是一種恥辱, 實際上在 BSDi 打算進入和 AT&T 的愚蠢的法律糾紛的時候, 在一個出現了領導真空, BSD 社區充滿恐懼,不確定和懷疑的關鍵時刻, 它導致了喪失大量領地給 Linux 的結局. 我們都有相當的技術背景和不錯的頭腦, 但缺乏足夠的法律安全意識和有效的, 能在那樣一個困難時刻團結不同的 BSD 部落的領導能力, 來帶領大家走出給BSD 社區帶來重大損害的這場風暴. 我們中的一些人後來奮身而起, 撿起了殘渣碎片而重新開始, 並取得了不錯的成就. 但在嘗試與 Bill 合作下去的消耗中, 在努力使BSD 社區確信, AT&T 並不能夠把 BSD 象蟲子一樣地捏死的過程中, 我們失去了非常重要的戰略性的兩年.

問: 386BSD 後來怎麼樣了?

答: 坦率地說, 我不知道. 它就象杜杜鳥那樣地消失了. 也許 Bill 設法把最後一個支持者趕走以後, 項目本身失去了發展動力而最後消沉了. 沒有人可以如孤島般存在(No man is an island), 沒有比一個大型軟件項目的組織和開發更符合這句話了. 人際交往能力(People skills)是工程組織管理的基本要素. 386BSD 的領導方式簡直不值一提, 於是它只能走上杜杜鳥那樣的下場.

問: 是什麼因素使你們選擇了現在的 FreeBSD 許可? 有沒有考慮過 GPL?

答: 從來沒有考慮過GPL! 我們喜歡 BSD 許可, 喜歡它的簡短和靈活. 他對工程人員和律師一樣通俗易讀, 這達到了我們的目的, 儘管它限制了我們的責任(liability), 但同時使代碼爲儘可能多的人使用. GPL 不是我們所認爲的許可認同, 而是一種政治宣言. 純粹就我而言, 我更原意把我的代碼許可和我的政治分開. 我認爲如果代碼沒能在能用他的地方得到應用, 那麼代碼的價值就沒有得到充分發揮(code which isn't being used in a situation where it COULD be used is code which isn't achieving its full potential), 而 GPL 嚇跑了很多潛在用戶, 這在我看來是不利(counter-productive)的. 我不介意用戶是否反饋回他們對代碼的修改, 如果這發生了, 是錦上添花(an added bonus), 但我不會特意做什麼來讓它發生, 如用槍指着對方迫其就範(enforce at the point of a gun).

問: 這些年來, 你在 FreeBSD 項目中擔任什麼角色?

答: 我雖然是創立者之一, 但做過各種職務, 包括發言人, 發佈工程師, 程序員, 系統管理員(有一陣我睡在機房隔壁),公司宣傳員(corporate evangelist), 送貨員(倒弄 CDs)等等. 我的哲學基本上是什麼需要就幹什麼, 不管它是給商業公司打電話, 還是找司機幫忙, 在貿易展覽上做宣傳(evangelizing), 或者是寫一個安裝程序使 FreeBSD 變得更易於接受. 在過去 9 年中我幹過任何事情.

問: 在過去十年中, FreeBSD 的發展有怎樣的變化?

答: 當然它變得越來越大而越來越難於管理. 我過去認識項目中所有的成員, 我們定期舉行電話會議來安排各種事務. 已經好幾年不能這麼幹了. 現在我們只是在貿易展覽和一些大型活動上碰面. 在這幾年裏大家做出了令人驚歎的工作, 但是, 毫無疑問, 現在是一個大的多的家庭. 如果能認識其中百分之十的人, 我會感到很幸運. 我想這就是進步的代價吧.

問: 你最近宣佈逐步推出 FreeBSD 核心團隊. 是什麼導致這一決定的呢?

答: 我想我的辭職信已經說的比較清楚了, 但最主要的(if there was anything which stands out above all else), 僅僅是由於我缺乏足夠的時間和精力. 我到蘋果公司已有一年, 新工作富有挑戰和也給予我回報. 我已不能再想過去那樣投時間到 FreeBSD 上. 我也認爲, 在一件事變得乏味而失去樂趣之前, 應該留出一定的時間和空間來脫身而出, 而不是死鑽牛角尖而變成一個討人嫌的傢伙(rather than sticking around and just becoming a nuisance). 我發現自己變得越來越失去耐心而愛發脾氣. 這不是個好兆頭. FreeBSD 現在做的非常棒, 我想我最好是功成身退(to leave on a high note). 另外我也感到, 我們這些"老傢伙"阻礙了 FreeBSD 重新塑造自我以適應幾年來計算行業的快速變化. 年輕人的全新視野, 精力 和熱心代表着 FreeBSD 的未來. 於是我對他們說 "繼續向前!", 並把自己的位置騰出來.

問: 你還打算參與 FreeBSD 的開發嗎?

答: 我當然這樣希望如此. 我還沒有發現自己新的"寵物項目", 但我在睜大眼睛, 看看有沒有能讓我眼前一亮的東西. 如果我一旦發現, 我就會"撥弄"它的源代碼, 我總是能從中得到作爲工程人員的最大樂趣.

問: 有什麼會使你考慮重新成爲 FreeBSD 核心團隊的一員呢?

答: (笑), 這可是個棘手的問題. 我猜想如果以下幾種情況之一發生的話, 我可能會考慮. 一是, 關於什麼是核心這一概念的重新定義. 另一個是核心總體上應和額外的領導真空的分離. 在這種情況下, 如果我被問及是否原意承擔什麼角色的話, 我會成爲這種"臨時政府"(interim goverment)的一員. 但我更希望這樣事情不要發生. 而是由核心團隊中的新鮮血液來激發 FreeBSD 去探索新的方向, 在從中得到樂趣.

問: 你能對 FreeBSD 的未來說點什麼?

答: 我想, 對 FreeBSD 以及類似的系統來說, 現在是一個有趣的時刻. 我們已經翻越了象 "可移植性"(portability) 和 "安全性" 這些爲人所知的小山包. 更高, 更陡的尖峯還留在前面, 比如 "集羣"(clustering), "分佈式文件系統"(distributed file system), "無處不在的計算"(ubiquitous computing). 並不是說這些"山頭"有多麼新, 而是現有的解決方案需要相當的發展. 我認爲這是 BSD 社區可以使自己與衆不同的地方, 通過吸引一些老的, 富有經驗的***, 他們目睹了過去幾十年中發生的各種傳統錯誤, 並且原意再試身手. 打個比方, 沒有人知道我們是否已有比 NFS 更好的東西, 或者說所有的 server farm 已能夠用更好的方法 去管理, 實現和擴展應用程序到不同的機器上去. 我有時在想, 解決這些問題的最好例子可能在我們的過去. 六十年代和七十年代是操作系統研究的黃金時期. 我們只需要翻回去研究其中的一些例子, 搞明白如何讓他們"與時俱進", 並完成其中從未完成 "最後的百分之十"(常言說的好(as the adage goes), 百分之十的部分往往會花掉百分之九十的時間).

問: 你多次用過 Linux 嗎?

答: 談率地講, 不是這樣. 老實說這不是由於偏見, 我確信我可能在過去十年中安裝過的 Linux 已經是今非昔比了, 我只不過是沒有時間(去再看一看).

問: 除了與計算機打交道, 你還喜歡做什麼呢?

答: 閱讀科幻小說, 上網搜尋一些有趣的信息(google 是我的最新好友), 在當地山區公路上飆車, 偶爾也去做"帶水肺潛水"(scuba diving) 和射擊等等. 我也喜歡航空駕駛, 但在拿到我的單引擎執照之前, 實在沒有時間和金錢投入了. 這也是我需要回頭去完成的事情之一, 也許在今年吧.

問: 我也是一個科幻迷. 你有最喜歡的書或作者嗎?

答: 我有很多最愛. 最喜歡的作者包括 Ray Bradbury(who's a god), Ian M Banks, David Brin 和 Vernor Vinge. 我也比較喜歡 Orson Scott Card, Poul Anderson, John Varley 和 Piers Anthony 等人的作品. 我敢肯定我這個名單漏掉了很多重要的名字, 只不過他們恰好沒能進入我的大腦罷了. 在非科幻小說方面, Terry Pratchett 和 Dave Barry 的作品總能帶給我樂趣, 當然, 說到好的另類歷史小說, 你不能漏掉 Harry Turtledove.

問: 有什麼"訣竅"要告訴給年輕的內核***們嗎?

答: 持之以恆, 實踐, 實踐, 再實踐. 就象演奏音樂或這修理汽車發動機一樣, 沒有比利用何可能的機會把兩手弄髒和抓住機會去實踐的辦法了. 沒有什麼捷徑, 魔彈, 或"傻瓜系列"能夠取代整小時地盯着代碼, 用已麻木的大腦對着問題不斷進功, 直到它徹底投降而向你展示出最後答案. 我也希望有這樣的東西, 特別是當最後一滴咖啡被喝完的時候. 但恐怕我能給的唯一"啓發"還是百分之一百的真實和誠實.

問: 還有什麼要補充的嗎?

答: 還有一點, 記住永遠要充滿樂趣地去做一名***. 沒有其它原因去犧牲這樣的時間和精力到你生命中的任何事情.( There's really no other reason to sacrifice this kind of time and energy to anything in your life.

問: 你的新工作有什麼有意思的地方嗎?

答: 當然首先是工作環境和朝夕相處的同事們. 但我認爲最酷的還是能夠從事於一個真正"棒" 的桌面操作系統的開發, 而沒有象程序員們描述和 Windows 打交道的感受那樣, "把蓋子捂起來", 即做出過分的妥協來實現用戶界面友好.(此處不大好翻: There's a real Unix under there and on the desktop, I can blast Wintel PC users over the net in Return to Castle Wolfenstein! How much better than that does it get? ).

問: 非常感謝在百忙中抽時間來回答我的問題. 您對計算事業的長期貢獻將永遠激勵着人們!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章