Rasmus Lerdorf可能是格陵蘭最著名的電腦牛人,他1995年建立了PHP指令碼語言,並成功應用到他的網站中,在他的一手栽培下,PHP已變成一個強大的,完全成熟的語言,目前世界各地已有數百萬PHP應用案例。
PHP創始人Rasmus Lerdorf
Linux Format雜誌對Rasmus Lerdorf做了一次專訪,為我們揭開Rasmus Lerdorf現在在PHP社區的地位,以及早期他是如何決策的,才讓PHP實現了今天的巨大成功。
Linux Format(後面簡稱為LXF):你目前參與了多少PHP的開發?
Rasmus Lerdorf(後面簡稱為RL):現在比10或15年前少多了,但我現在每天仍堅持閱讀郵件清單,討論功能和偶爾修複一下BUG。我個人對安全和效能相關的問題更感興趣。
LXF:PHP團隊的組織圖是什麼樣的?現在看起來似乎不太清晰…
RL:沒有任何結構!
LXF:那麼誰做最後的決定呢?
RL:我們一起呀!我們內部有一個完全開放的郵件清單,任何人都可以訂閱它,閱讀它,在上面發表意見等,我一直堅持保持它的透明度,任何人都可以翻閱郵件清單,如果出現分歧,那麼誰先實現通常誰就贏了。
LXF:作為最終仲裁者,你是否有壓力?
RL:當然有壓力。我總是試圖淡化這一角色,因為我不希望對太多事情下最後決定,我希望項目能自給自足,我希望它是自我推進的,如果我深陷決策者角色,要做出每一個決定,那也是不太現實的。
老實說,有些事情我瞭解得還不夠,如Sybase,我還從來沒有使用過Sybase,那我如何能夠對Sybase擴充做出正確的決定呢?這時就需要團隊中熟悉Sybase的成員來做決定了。
LXF:PHP 6的開發速度放慢了嗎?已經開發了兩年半的時間了…
RL:並沒有決定放慢PHP 6的開發速度,因為人們對Unicode編程高度興趣,但Unicode編程不是那麼簡單的,有許多複雜的東西需要考慮。從商業角度來看,每個人都希望使用上Unicode,但是從日常的角度來看,很多人並不需要Unicode,因為他們構建的系統只會在一個地區使用。從理論上將,每個人都希望最終使用UTF-8,但這是我們後面要考慮的事情,它沒有PHP中其它功能那樣緊迫。
當有人說“我現在需要這個”時,那麼我們一般就會啟動開發了,開發人員會負責在他們自己的工作中,公司中使用,這並不是PHP 6的全部,許多大公司希望推廣Unicode,因為他們傾向於需要國際化。
LXF:在開發PHP早期哪個語言給了你靈感?
RL:C和Perl。當時我正在使用這兩種語言,因為最初我本來沒有想過要建立一種新的語言,我只需要一個方法來解決Web伺服器中的已知問題,我不需要Perl中的那麼多東西,也不想像C那樣對所有記憶體進行管理,因此我需要的是一個精簡版的C,也不能很Perl,我可以很容易嵌入到網頁中。
後來,我們研究了C++和Java,並找出需要在我們的項目中實現的功能,但這是其他人做的,我們一直對物件導向編程不是很感冒,只有當我認為是適當的時候我才會使用它,但我從來不是物件導向編程的粉絲。
我認為我主要要說的是“你必須放棄控制權”。如果你想建立一個開源項目,你不能太自戀了,你不能重寫每個人的補丁,必須給人們平等的控制權。
LXF:你曾經有過這樣的經曆嗎?
RL:肯定有過,那是1997年,我幾乎就想停掉這個項目,因為它成長得非常快,我的郵箱充滿了建議,投訴,補丁等所有東西,直到那時,我一直盡我最大的努力來處理這些事情,有人可能會提出一個建議,向我發送一個補丁,我可能會重寫這個補丁,當時我認為我應該這樣做。
如果我不同意某人的想法,需要一個來回交流,於是我越來越跟不上節奏,那時我變得很沮喪,並生了一場病。於是我開始思考,為什麼這些人希望我修正他們的代碼呢?他們又沒付我錢,我要怎麼做才能從這地獄般的工作中解救出來呢?
因此我認為是時候改革了,於是我將許可權放開,給那些一直抱怨的傢伙有許可權修改代碼,當他們感受到了主人般的感覺後,對我的抱怨一下子少了很多,並且積極性也更好了,整個氛圍發生了翻天覆地的變化,同時也帶來了許多的樂趣,現在我們是一個真正共同努力的團隊。
LXF:你會關注其它語言如Ruby嗎?
RL:我認為Ruby最近有點萎縮,也許新版本馬上會出來,速度也許真正會快一點(笑),到那時也許我會關注,但它一直存在效能問題,而且官方也承認了這一點,因為我認為新版本效能可能會好一點,我不是代碼產生的狂熱者。(51CTO記者近日對Programming Ruby的作者Dave Thomas進行了訪談,Dave也說到Ruby不是一個發展很快的語言。)
在一個示範視頻中,scaffold看起來似乎還比較好,但在現實世界中使用scaffold對我而言,我沒有什麼興趣,而且我認為許多人和我的想法是一樣的,scaffold確實可愛,但我更需要實際一點的東西。Ruby也是一門偉大的程式設計語言,我認為它是一個非常乾淨,漂亮的語言。
有許多人轉向Ruby on Rails是因為他們受到示範視頻和“嘿!你可以在10秒內構建一個應用程式”的引誘,但當他們真正需要幹點實際的事情時,他們會認為“哦,垃圾,我真的不瞭解Ruby!”