Android 究竟帶來甚麼

許多讀者大概已經觀察到,當初宣傳為 Google phone 的 Android,似乎不再只是”phone”而已了?它經常會跟另外一個關鍵字連在一起,那就是 netbook ,小筆電。

要稍微看懂這整個情況,需要一些背景知識。首先,Linux 到底是甚麼樣的東西?前文曾經述及,Linux 其實原指 Linux kernel,也就是作業系統的核心部份。而運行在這核心之上,有各式各樣的軟體,有的可以讓我們傳 MSN, Yahoo messenger、看網頁、收發 email 等等之類。在 Microsoft Windows 上我們有些熟悉的軟體來做這些事,在自由/開放軟體(Free and open source software,以下簡稱 FOSS)的世界同樣也有,例如許多人都聽過,而且也可以在 Windows 上使用的 Firefox

把現有一大堆的 FOSS 專案組合起來呈現給使用者,形成一套完整的作業系統,這樣的組合就稱作 “Linux distribution“(後簡稱 distro)。由於 FOSS 的世界大部分的程式碼都是公開的,所以取用現有的成果以及修改已有的程式也相對容易。這就產生了互相之間版本的依賴性,以及部份的功能不同等等情況。例如 A 取用了函式庫 B 的功能,而這功能是在 1.0.2 版之後的 B 才有的,那我們就會說 A 依賴大於 1.0.2 版的 B。種種這些互相依賴性以及提供的軟體種類、安裝/移除方式等等集合起來,導致不同的 distro 之間,某些功能經常有些微的差距,程式也經常不能直接互換使用。

套用 Windows 的概念來理解就是,通常 Windows 一次只存在一個當紅炸子雞,而且程式經常都可以互換使用。但 distro 同時間有好幾個,甚至同一個 distro 也有「穩定版」、「測試版」等等不同,而且互相之間還常不能互換程式執行。一般來說,這不構成甚麼問題。因為程式碼都公開,各 distro 只要自己管好自己,把夠多的專案編譯好提供給使用者就行了。雖然有些版本、功能差異之類,但在不同的 distro 上,只要知道名字,都可以取用到差不多的功能。

但現在問題來了:那不想公佈程式碼的人怎麼辦呢?該如何提供程式給不同的 distro 使用者讓他們都可以取用呢?其實是可行的,但說起來有點麻煩,一般只想趕快弄好的廠商除非剛好內行,大概也很少真的這樣做。

提了這一大堆,意思是甚麼?這就要把 Eee PC 等等嘗試裝載 Linux 出貨的 netbook 放進來一起看了。如果朋友介紹你一個好用的 Windows 新程式,而在 Nokia 手機上不能執行,大多數情況你並不介意,因為觀念上我們認為手機跟電腦是不同的。但如果今天它不能在你的筆記型電腦上執行呢?如果用 Windows 能跑的,在你花了一萬多買來的筆記型電腦上都不能跑,那你還會對這台電腦很滿意嗎?假如它也不能讓你容易的處理朋友寄來的文件檔跟簡報檔呢?

(有興趣的讀者,可以略為打聽預載 Linux 系統的小筆電退貨率…)

那麼我們不禁要問,為何要裝 Linux 呢?為何不裝 Win XP 就行了?那是因為與 XP 相比,Linux 有開放原始碼的優勢(當然啦,也有些作業系統技術上的優勢,但這裡就不引起筆戰了),能夠在便宜的硬體上做出更好的效能,而且還可以省下付給 Microsoft 的那一筆授權費用。這表示價格優勢,也部份說明了為何現在 netbook 回到預載 XP 後又掉入效能與價格競爭的窘況。況且,目前 netbook 以 Intel CPU 為主,但若考慮目前如 ARM 系列的功耗、效能,似乎建構在其他 CPU 上的 netbook 也不遠了(其實已經出現),這在以 Intel 為主的 Windows 作業系統來說,又是另一個有趣的變數。

而 Android 的加入,可以扮演甚麼角色,又將會造成甚麼改變?前文曾提及,Android 提供了只需發行程式而不需發行程式碼的方案,因為所有程式都是在虛擬機器上面執行,所以一份程式,大家通用。這就創造出 FOSS 常欠缺的 ecosystem,讓大家各取所需,有獲利方式。另一方面,Android 在硬體層也避開了 linux driver 的灰色地帶(這部份又有一些學問,也許日後再述吧),而讓廠商可以安心的不公開驅動程式的程式碼。更遑論 Android 對 ARM 的原生支援…

然而,儘管有這麼多好處,目前 android 仍然是不能執行 windows 程式的,只是它允許了廠商相對容易的「發行 Android 版」,而又不需公開程式碼。下一步,就是看使用者的習慣能否成功的改變。一是大家開始用雲端運算處理朋友寄來的簡報檔、文件檔,這是 Google 的如意算盤,再不就是 Microsoft 推出 Android 版的 Office,這似乎也不是不可能吧?

就筆者 FOSS 推廣者的角度來說,Android 不是甚麼好事,但無可否認它在商業模式很周到,而任何一個理想都需要不餓死才好推行。

喜歡這篇文章嗎? 分享出去給作者一點鼓勵吧!