Android在推出之後,尤其是2.X版本功能已經相當成熟,所以開始逐漸被許多廠商接受。然而Android的大受歡迎對開源軟體來說,卻是利弊各半。先從有利面來說:

1.提供了一個成熟可使用的主系統
對於中小型電子設備來說,Android可說是提供了一個成熟、且經過眾多產品驗證可靠的系統。舉凡多媒體播放器、導航機、電子字典、電子書、行動或桌上電話以及前幾年曾一小段時間紅過的電子相框等相關廠商,都出現有採用Android開發的產品。

由於Android的系統本身就已經相當穩定和成熟,所以也讓過去開發這些設備的廠商,在取用之後修改,省去了相當多從頭開發的人力資源和時間。

2.促成低價的硬體推出

在iOS和Android都採用ARM架構的產品之後,由於使用量大、加上嵌入式系統原先對效能的要求也較低。讓即使許多平板設備即使不是使用最高階的CPU,也能夠正常進行大多數基本上網的使用,以及滿足一些普通應用操作的需求。

之前七吋小筆電興起的時期,市售價格大約在267美元左右,後來螢幕逐漸拉大到9"以上,價格又更加提高。然而以一台7" A8 1Ghz配置的Android平板來說,一些平常需要使用到的應用都可以被滿足,而市售價位大約也在美金130元左右即可買到,是過去的一半。

所以可以說,因為Android開放讓其他廠商也得以採用並加入這個市場,促成低價硬體的出現。這也讓OLPC在第三代機器終於可以達成將成本壓在100美元的目標,或是能夠出現像是印度的Aakash 35美元平板這樣的產品,用更低的價格讓更多人接觸到網路。

3.潛在且豐富的應用資源

這部分應該不能說全是Android的功勞,而是要感謝Sun的Java。Android取用了JAVA開放的部分標準,以及其他自定的修改,加上自家的虛擬機技術。讓過去一些熟悉JAVA的開發者得以快速地進入到Android的開發環境當中。

而這樣快速累積,也促成Android平台上帶有豐富的應用資源。這讓其他開源硬體若是日後即使不想使用Android,而是想要採用其他系統運行,也可以採用相容APK的模式。至少可以在初期讓其他Android開發者,可以快速將應用發佈到新平台。

就像目前RIM Playbook就使用了這樣的策略,或許將來Oracle和Google的官司解決之後,在Java上也可以進行這樣的方式,雖然這會牽涉到暴露JVM和Dalvik之間的效能差距,不過若是能促進改善也是件好事。

然而雖然Android的推出,為開源軟體帶來許多益處。但是由於GOOGLE的一些態度,讓Android跟開源社群之間的互動關係,產生了一些阻礙,例如:

1.完全主導系統,缺乏與開放社群互動

由於Android是Google一手打造,關於當中的開發和未來路線都是由Google一手掌控。這和Linux的開發是由一整個社群來維護不同。另外雖然有XDA論壇、Cyanogen、MIUI這類第三方Rom團隊等開放社群。但是Google卻也不和他們互動,甚至GOOGLE還曾經因為第三方ROM包含自家軟體,而對Cyanogen團隊提出侵權警告。

這種缺乏與開放社群做良善互動的態度,基本上是與開源碼的精神相違背的。雖然開放社群是非官方的組織,但是若是能由GOOGLE出面與第三方組織互動並合作。讓Android更加好用,其實是很容易建立起互利關係的,但是GOOGLE卻選擇關起大門,就如同他們當初對Linux基金會的態度。反而是像Samsung或Sony這樣的硬體廠商,選擇開始與開放社群合作。

GOOGLE這種在對於Android上,不與開放社群互動溝通,導致開放社群只能自行努力、讓資源分化的方式。其實是對GOOGLE不利,也因此讓開源社群浪費必須自行摸索的時間和資源。事實上也讓Android只是一個符合開源授權的軟體,而非真正在開源模式下運作開發的系統。

2.驅動移至中間層,降低軟硬體的開放性

由於Android將驅動移到Linux核心之外的User Space中間層,這讓廠商可以保留許多在硬體驅動上的私有性,但是卻不利於軟硬體的開放性發展。尤其像ARM不同等級的產品,在驅動上就會有所差異。加上每一家晶片公司生產的ARM又有自己的修改,在驅動私有化的情況下,根本沒有辦法形成一個開放的使用環境。所以即使是Android號稱開放,但是在硬體上卻顯得相當封閉。

舉例來說,對於任何一台Android手機或平板,使用者根本無法輕易地嘗試像PC一樣,去更換它的使用系統。即使你想要使用同樣也是ARM環境的Meego系統,或是其他嵌入式Linux,甚至是任意使用不同版本的Android系統。在沒有能力對韌體做補丁,加上標準Linux與Android根本已經分歧的情況下,是根本是達不到的。

而用這種標準來看,現在最開放並且像Linux可以廣泛支援硬體的Android版本,其實是Cyanogen所開發的版本。然而卻又不被Google官方所支持,形成非官方系統反而讓使用者手上的硬體,能夠獲得到最大限度的支援的局面。

 

(這篇文章本來是在一月底的時候寫好的,但是因為三月底之後,Linux 3.3版重新納入Android的部份。所以之後Android帶給Linux方面的利弊也許就會在日後有所改變,這部份也是日後還需要再做觀察的。但是架構上所帶來的封閉性也還是有其影響性存在。)

 

3.顯示出開源軟體沒有GPL的COPY LEFT強制性,所欠缺的最後一哩

雖然過去有人說,就算當初Linux沒有崛起,BSD系統也會竄出。但是以Android採用與BSD同樣缺少Copy Left強制開源的Apache授權來說,一個可以任意取用的系統,但卻不像GPL授權那樣,必須強制開放分享的情況下。雖然也可以為眾人所使用,但是卻缺少了像是Linux發展過程中,集中資源並且統一規格的優勢。

雖然比起iOS,Windows Phone這些系統,Android是相對開放的。但是因為Android潛藏在開放之下的封閉性,雖然讓更多人可以無後顧之憂地取用。但是對於一些真正完全開源的系統,例如MeeGo這樣的系統來說。因為缺乏被關注的資源而提早夭折,反而對於開源界來說,其實是一種損失。

創作者介紹

droger的資訊心得整理

droger 發表在 痞客邦 PIXNET 留言(0) 人氣()