


技術方面就這次參與到的部份簡單敘述一些比較有趣的: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 目前是唯一的開放平台,軟硬體都公開,所以仍然獲得許多專注目光,可惜專案公司本身似乎不太確定之後的腳步該怎麼走,跟社群的連繫也不佳,導致希望幫忙的人不得其門而入。



參加此類聚會,個人有一深刻感覺,就是談理論的不多,大部分都是談實作。這再次碰觸到經常被忽略的一點,即電腦科學與電腦工程師是相當不同的領域。電腦科學家偏向數學,事實上僅需要紙筆就可以發展,僅需要實作來證明。但對工程師來說,實作才是真正重點,因為理論僅發展一次,其後都是各種應用,這就需要工程師來填補。對科學家而言,理論是研究的目標,但對工程師而言,其在電腦科學的素養經常只是為了理解理論,進而應用。我們在學校所受的訓練,經常著重理論教育,對各種程式庫 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 可是比原來有趣多了。