自由/開源軟件開發者Joey Hess的採訪

很難有一種更好的方式就自由/開源軟件項目背後的開發者展開一些列的採訪,他們有着難以置信的思維,比如Joey Hess。對於他在自由軟件生態系統上的貢獻,特別是Debian上的貢獻,要用筆觸來寫的話,本身將是一部書。他的影響甚至超過了其項目——人們直接關 注他的博客文章來留意他在做什麼以及過得怎麼樣。一名來自小木屋的hacker。如果你真的需要對真正hacker有個印象,那麼Joey就是代表。由於 本文不是一部書,我將只提到他已經參與到背後的幾個項目——git-annex、ikiwiki、etckeeper、debian installer、部分dpkg、debhelper、devscripts和taskel。就這麼多吧。

我:給大家打個招呼?

Joeyh:我是Joey,個人網站是 https://joeyh.name/

我:你是如何開始編程的?

Joeyh:Atari 130XE電腦,裝有BASIC和一個無聊的字處理軟件,就沒有其它了。其他朋友都沒有電腦,因此得到軟件的唯一途徑就是手動在demo程序裏敲代碼,然後開始修改並編寫自己的軟件。這就是容易的學習方法。在學校也有一些這種logo。

我:你能給其他想學習編程的人什麼建議?

Joeyh:你給了我一道難題,這比我開始的時候去真正理解一些東西還要難,比沒有太多可用的資料時還被激勵學編程更難。或許裝備有真正交互的、簡單的Arduino【注1】裸機系統能夠回答你。

我最近有提到我的侄子,他正在學習Python,“ Python the Hard Way “網站已經讓他快速地掌握了很多東西。

我:說說你用來做開發的電腦配置?

Joeyh:卸載了間諜軟件的Lenovo筆記本,Debian非穩定版、xmonad、xfce、vim。

我:你是如何看待Purism的(開源硬件筆記本發起項目,最近得到了CrowdSupply的投資)?

Joeyh:我對此瞭解不多,不過貌似消費層次的硬件質量不高,因此關閉了、且不值得信賴,需要搞清楚開發或者挑選開源的替代軟件,做爲一個社區,它們應該是能夠滿足我們需求的東東,並專注於此。一些項目正在嘗試,我希望它們能夠成功。

我:你如何看待Debian開發的未來?

Joeyh:嗯,我差不多不再擔心它了。如果你回頭看看我在過去2-3次的DebConfs會上的演講,你就能找到關於它的最好的思考。

我:做爲Debian開發者,你退休了。那麼,你想過有一天重新回來,以及(或者)你計劃去加入一些其它社區嗎?

Joeyh:迴歸將是自豪的,不是嗎?但是我想我不會的。畢竟,人不能兩次踏進同一條河流。

相反,Debian可能將不得不容忍我這個讓人討厭的上游作者,我不會提交tar包,而是提交debian/directories,做爲一名bug報告人員,我樂於享受報告有意思的bug,比如 -0 NaN 。

自從我離開Debian後,我好像有更多的時間可以參與到其它在線社區了,不過是以更加擴散的方式。或許這只是本來的樣子,參與到自由軟件、但沒有擁抱像Debian之類的大型軟件。

我:關於Debian會議,都有哪些值得回憶的時刻?

Joeyh:太多了!在會場外面的波蘭農貿市場的野餐,吃的是漿果和玉米粉蒸肉;在瑞士忙碌一天後的虹鱒魚和篝火;在愛丁堡離奇夜晚的會場即興修 理管風琴;夜晚和Ian Murdock一起漫步在Porto Alegre,他對於即將從事的事業是多麼地謙虛;在西班牙整夜地hack;在芬蘭的午夜太陽和持續不斷的派對下無法入眠;呆在亞特蘭大的賓館大堂裏設計 Build-Depends。

我:你玩遊戲嗎?Valve Steam免費提供給Debian開發者,你使用Steam玩Valve遊戲嗎?

Joey:我玩過Half Life和Portal,但是攻略已經佔用了我太多時間。我通常喜歡時間短的獨立遊戲,或者能告訴我們一些新的遊戲玩法的遊戲,最近喜歡的遊戲是 A Dark Room 。

不過我更喜歡有趣的、現實中的桌面遊戲,和朋友一起玩,比如Carcassanne Discovery和Hive。

三月份,爲了參與“ Seven Day Roguelike Challenge ”,我將試着在一週內用Haskell編寫一個rouguelike遊戲【注2】,每天在博客寫我的進展。

我:當前你是一名Haskell***(git-annex),你是如何評價這門語言的,它和Python、C、JavaScript、Ruby和Perl相比,你又作何評論?

Joeyh:不只是git-annex項目;我當前的所有項目都是用Haskell語言寫的。

我認爲,我們期望程序員在寫代碼時腦子裏存多少東西,這是讓人驚奇的。緩衝會溢出嗎?修改全部變量的值將破壞代碼的其它地方嗎?輸入已經被過濾了 嗎?接口改變了嗎?Haskell馬上解決了當中的一些問題,但更多的是,它讓你開始注意到這種無處不在的問題,它提供了完全消除你代碼中的一類問題的方 法。

比如 http://joeyh.name/blog/entry/making_propellor_safer_with_GADTs_and_type_families/ 。我避免的這類bug從來沒有影響過我的代碼,但是阻止這類bug仍然是值得做的,因此我不必再擔心它們了。

我:你建議把Haskell做爲學習的首選語言嗎,尤其是那些對於數學躍躍欲試的人?

Joeyh:我認爲這個建議不錯。或者它可以是另外的方式——在我年輕的時候,我就喜歡數學,但是數學把我淘汰了,這種方式在很多人身上都發生過,我想學習更多的關於高階數學時,像Perl和C之類的語言不能提供太多幫助。我在Haskell裏卻能處處碰到一些。

我:相比於你使用Perl的時光,你是如何比較Haskell效率的?

Joehy:這很難比較;我現在是一個非常不同的程序員了。當我用Perl時,我很可能將更加迅速地發現了一些快速hack。但是,它們更像是保 持快速hack。現在,或許我要花更長的時間才能達到這一步,但是代碼好像更牢靠了,在擴展成更大的或不同程序上變得更有延展性。

還有,我對編寫軟件資源庫感到非常疲憊了。

我:你能描述下你的生活哲學嗎(你生活在森林裏的小木屋,大量使用太陽能,包括我在內的很多人都很好奇,是什麼在驅使着你嚮往這種生活,它又是如 何影響着你的總體生活質量和幸福的。看看當今掠奪性的資本主義社會,你能夠在一個月之內輕鬆賺取$10,000,貌似你是一名無政府主義者,且非常謙 虛)?

Joeyh:我想開發一些或許可持續的、有價值的東東。這對於軟件世界,難度是非常大的,因爲很難過於超前考慮,也因爲大部分工作沒有強調這種真正價值。我非常幸運,能夠找到一個點,在自由軟件上投入這麼多年的全部時間,我願意爲之放棄很多東西。

捨棄現代便利性,生活在小木屋裏是非常棒的,因爲這裏安靜,你可以儘可能多地思考;互聯網隨處都有,沒有私密空間(或許有點兒慢);當你用太多時間靜靜地思考時,你將需要根據季節去砍木柴、挑水、跳到河裏去避暑。

(謙虛?和大多數程序員一樣,我內心深處有着飄飄然的自負……)

  • 注1:Arduino,是一個開放源代碼的單芯片微控制器,它使用了Atmel AVR單片機,採用了基於開放源代碼的軟硬件平臺,建構於簡易輸出/輸入(simple I/O)接口板,並且具有使用類似Java、C語言的Processing/Wiring開發環境。http://zh.wikipedia.org/wiki/Arduino

  • 注2:《Rogue》是迷宮探索式電子遊戲,最早由邁克爾·託依和格倫·韋科曼在1980年左右開發。部分因爲遊戲內容的過程生成,遊戲在1980年代中 期大學Unix系統上很流行。《Rogue》使迷宮探索在電子遊戲領域普及,其他開發者製作了諸多統稱爲“類rogue”(Roguelike)的派生作 品。比如它直接給與了《Hack》靈感,此遊戲之後又衍生出《NetHack》。類rouge還影響了其他類型的商業遊戲,如《暗黑破壞神》。 http://zh.wikipedia.org/wiki/Rogue


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章