今年 FOSDEM 是在比利時布魯塞爾舉行。當地英文不是主要語言,而是以法語、德語為主。一出機場,英文就看不見了,只在旅館等屬於觀光客的地方才有。好在大眾運輸系統標示相當清楚,就算是文盲,憑著拼字以及圖示猜測,還是正確地火車轉捷運抵達旅館。年會歷時一個週末,從周五晚上開始,到周日下午結束。周五晚開場的活動是Beer event,「啤酒聚會」,在 Delirium Café 舉行,20歐元的費用就隨你喝到爽。比利時啤酒天下第一,吧台光是新鮮的加壓啤酒大概就有20多種,景象頗為壯觀,啤酒們口味濃淡各自不同,不過酒精濃度都比普通的高些,一般在7%甚至到15%左右。經過親身試驗,忙著聊天的結果只嘗試了五六種,全都很好喝。在這暖身活動就見到不少人物,除了之前幾位合作的舊識之外,也看到一些名人,總之就是些大鬍子、光頭,不是很胖就是很瘦,諸如此類。不過由於 FOSDEM 已經屬於比較商業的活動,許多人都是公司付錢來參加,據同事說,氣味比較不像之前他去過的 CCC 那麼嬉皮,大部分人看起來都正常多了。
例如席間跟新認識的 Mark Brown 聊天,此人自我介紹是 Debian zlib 以及其他幾個 package 的維護者,類似如此的小驚奇層出不窮,很容易就會認識到原本在某某專案中看過的名字。這可說是開源碼相當令人興奮的特色之一,就是個人名譽。這對於做開源碼的個人生涯有非常大的相關,只要你有顯著貢獻,財務上會有穩定保障,可繼續專心發展軟體。聊著聊著,話題不知怎麼的,帶到開源碼的工程師待遇問題,我說在臺灣這邊的公司,有許多人是放棄了更加高薪的職位,為了想發展開源碼而加入的。他的反應頗大,指出其實這問題很普遍,他個人也是同樣情況。當然為了這種信仰,人們會願意放棄一些金錢上的好處,但我想繼續尋求更佳的開源碼獲利方式,才是皆大歡喜的策略。
FOSDEM 正式舉行的場地當然不是酒吧,而是 Université Libre de Bruxelles (ULB),布魯塞爾自由大學。接下來兩天正式的活動大概分成兩大類,其一是演講類,其中又分在大間教室舉辦的較一般性的大演講,以及所謂的 lightening talk,每人15分鐘的時間發揮。還有在各小間教室舉行,針對比較特定族群的演講,例如 Mozilla, gnome, kde, x.org 以及 embedded 等等。另一類是專案攤位,例如耗去我大部分時間的 OpenEmbedded 攤位,旁邊就是 PostgreSQL,另一邊則是 Debian 等等不同專案的地盤。這些攤位主要目的是公關,海報、傳單、紀念品,以及向有興趣的人介紹、推廣自身 project。會場氣氛相當熱烈,不論是在演講中提出的問題,以及在各攤位、走廊間,四處都可見到三五成群的各色人等,操著不同口音的各種語言,討論充滿奇怪名詞以及縮寫字的議題。雖說各類網路溝通工具都已經相當發達,但目前這種面對面討論以及演講等等所傳達的訊息濃度,仍是無法取代的。原本只是網路上暱稱的人們聚集一處,互相認識,對於日後合作也會有相當助益。
技術方面就這次參與到的部份簡單敘述一些比較有趣的:OpenEmbedded(OE)的發展看來仍然很不錯,最近的技術 package staging 如果能夠發展成熟,將能顯著減少系統編譯的時間。一般來說,嵌入式系統困難的部份在於軟硬體的整合,這部份搞定之後,就是系統其他部份要添加血肉。而一般開發者要進入嵌入式領域,cross compiling (抱歉,此專有名詞不翻譯比較好)通常是個門檻,而且經常在重新創造輪子,解決已經有人解掉的問題。OE 原本做得最好的就是這部份,但相對的,動輒數十 GB 的磁碟消耗量以及編譯消耗的時間,還有陡峭的學習曲線等,都是問題。這次修改應該對磁碟消耗量以及編譯時間有相當的幫助,但在學習曲線部份,就沒什麼助益。希望隨著專案日益穩定,以往由於本身瑕疵造成的學習困難可以日漸減少。
另外在系統安全的部份,SELinux 或許已經可以決定是個失敗的嘗試,因為實在太難用了。這次聽到的 Tomoyo Linux 至少很容易懂,但相對來說比較新,還有不少功能沒做進去。等到都進去之後是不是還這麼好懂,以及由於是日本人做的專案,宣傳上沒有西方人這麼強,日後的發展,拭目以待。Tomoyo Linux 的演講者 Toshiharu Harada 相當有趣,日本腔很重,一開始就很有禮貌的給每個人名片及測試光碟,讓大家可以直接拿來開機嘗試。首張投影片就說 FOSDEM 是歐洲人的聚會,但他是日本人,為了要推廣 Tomoyo,公司花了很多錢讓他飛了很遠來到這裡介紹。我好像也飛了很遠,而且當時整個 FOSDEM 裡頭只有我跟他兩張亞洲面孔,真是心有戚戚焉哪。
我想 embedded 系統很值得關注的部份,應該是手持裝置的領域。之前我不知道 smartphone 以及 pda 在歐洲極度普及,歐洲朋友告訴我,如果是白領階級,使用 smartphone 且隨時收發 email 已經成為常態。這跟臺灣的狀況明顯不同,所以很容易忽略這塊是多麼可怕的市場。由於手持式裝置的天性,許多組織,包括公家機關、企業等等,會希望能夠對軟體取得更多的控制,做出組織專屬的客製化手機。而一般使用者也會希望對應用軟體有更多選擇,這點可由 iPhone installer[1] 的成功看出。此類需求隱約與自由精神相合,故開源碼在這應該是很有機會的。OpenMoko 目前是唯一的開放平台,軟硬體都公開,所以仍然獲得許多專注目光,可惜專案公司本身似乎不太確定之後的腳步該怎麼走,跟社群的連繫也不佳,導致希望幫忙的人不得其門而入。
iRex 所出產的裝置之前只聞其名,這次真正見識,令人印象深刻。撇開裝置本身輕薄不談,最驚人的是螢幕,僅有黑白兩色,顯示細緻、清晰,在陽光下的表現更加清楚,品質已經直追紙張,真正達到易讀的目的。螢幕上的字母不像一般液晶顯示器,反而有紙張印刷的質感。另外有專用的觸控筆,除了專用筆以外的東西接觸螢幕,就不會感應,行為與筆記本相同,避免此類裝置在背包或口袋中胡亂感應的問題。或許在將來的大學,會人手一本也說不定。
參加此類聚會,個人有一深刻感覺,就是談理論的不多,大部分都是談實作。這再次碰觸到經常被忽略的一點,即電腦科學與電腦工程師是相當不同的領域。電腦科學家偏向數學,事實上僅需要紙筆就可以發展,僅需要實作來證明。但對工程師來說,實作才是真正重點,因為理論僅發展一次,其後都是各種應用,這就需要工程師來填補。對科學家而言,理論是研究的目標,但對工程師而言,其在電腦科學的素養經常只是為了理解理論,進而應用。我們在學校所受的訓練,經常著重理論教育,對各種程式庫 API 熟悉、對通訊協定熟悉、對現有軟體架構熟悉,往往不會被視為真正的成就。但一旦真正進入業界,才會知道這些才是真正把東西做出來的能力,反而理論方面,只要熟習現有的東西,並且靈活運用,就已經非常足夠。我認為在現今電腦教育中,加入更多專案,以開源碼、Google summer of code 等等為目標,由真正會寫程式的助教或老師來帶領,對學生們會是非常有用的。
在會議將近結束時,發生一件有趣的小插曲。一位看起來非常熱血模樣的年輕人,操著歐洲口音很重的英文,衝向我們詢問有沒有 Debian 的使用者。我回答有,他立刻抽出一台華碩 Eee PC,開機,嘴巴喃喃念著說他有個問題不知道怎麼解決,希望我能幫忙。開機開到一半,他激動的指著一行錯誤訊息說,他的電腦在這裡發生問題,會停頓兩秒鐘才繼續開機。他不能容許他的機器在開機的時候停下來兩秒,他一定要把他修好!我問他有沒有試過直接開到 shell 下執行相關的 init scripts 來找出問題出在哪個 script,進而找出是哪個指令,然後再追蹤下去就行了。他嘴中唸唸有詞,手中打字打個不停,然後指著螢幕說,哈,找到了,這個我可以修!
我正以為可以開始打包閃人的時候,他繼續發問。我無辜的開始念一些我只是剛好坐在這其實不是 Debian 攤位的人之類的話,他才不管,他說他希望得到 Debian 同伴們的支持。好吧。這次是有關 tty1 的問題,看來他不喜歡 tty1 的 login,但卻不知道該在哪裡控制,upstart 的地方他又找不到。看來他是從 Ubuntu 開始轉到 Debian 的。我把 /etc/inittab 列給他看,他高興得很,謝了大家就愉快的走了。這時我有點傻眼,同伴說,他記得以前第一次參加這類開源碼會議的時候,他請一位不認識的人幫他安裝 Linux,那人先設定了網路安裝,幾個命令就開始動了。他說他當時覺得那人真是太神奇了,好想知道自己什麼時候才能做一樣的事情。真是值得回憶的熱血年代啊。
在法蘭克福到香港的飛機上敲著鍵盤,此時若要對 FOSDEM 做個總結,那就是覺得自己實在太過渺小,對太多東西都還不懂,寫程式的量也實在太少了。臺灣受限於語言與地理位置,要跟上世界發展的腳步,只有充分利用 Internet,訓練英文,直接參與最上游的互動以及吸取資訊才最有效。
p.s.非認真的小心得:
- 歐洲正妹輕軟的說著法語... 很棒。
- Brussels 漂亮的不像話,不過生活費用也貴的不像話。我三天的時間花掉一萬臺幣左右,還不包括旅館錢!
- 歐洲服務業的態度很冷淡,台灣好多了。
- Lufthansa 德國航空的椅子難坐到爆炸。
[1] iPhone 是被一個升大學的男生利用暑假破解的。他把第一支破解的 iPhone 拿上網拍賣,最後交換了一台 Nissan 350Z 和好幾隻全新的 iPhone,還有幾間公司的顧問職務。很不錯吧?他在硬體方面先破解之後,軟體方面就簡單很多,最後由社群力量做出 installer,一個可以自由安裝各種社群開發程式的軟體。有 installer 之後,iPhone 可是比原來有趣多了。