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

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

我:給你們打個招呼?linux

Joeyh:我是Joey,我的網站是 https://joeyh.name/git

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

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

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

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

我最近有提到個人侄子,他正在學習Python,「 Python the Hard Way 「網站已經讓他快速地掌握了不少東西。網站

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

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
相關文章
相關標籤/搜索