Google Android 採用 Apache License: 為什麼不是 GPL?

jollen 發表於 December 2, 2007 7:43 PM

Google 讓基於 Android 技術平臺的「應用程式」採用 [Apache License, Version 2] 的授權條款。許多 Free & Open Source Software(FOSS)採取 GPL 的授權條款,目前 OpenMoko 的架構,也都是選用基於 GPL 授權條款的 FOSS。

Android 與 OpenMoko 一個是開放手機平臺,另一個則是開放源碼手機平臺;前幾日對二個平臺做了差異比較,並且製作了一份 [OpenMoko vs. Android 主要差異比較表],可透過此表約略了解二個手機平臺之間的不同。

為什麼 Android 的應用程式要採取 Apache License 的授權方式?由 [Apache Software Foundation] 所發展的軟體,也都改採 Apache License 授權的故事來看,我想 Android 平臺的應用程式選擇 Apache License 的授權條款,也是很合理的。這要由 Apache License 與 GPL 之間的二個大差異講起。

第一、GPL 要求程式碼在重新散佈或修改時,必須提供原始程式碼(source code),並且也要基於 GPL 條款進行授權。因此,我們無法由原始授權者取得 GPL 軟體後,就無法再做「再授權」的動作。Apache License 則不然。如果軟體是基於 Apache License 授權,我們在重新散佈或進行程式碼修改時,就不會被要求必須要提供原始程式碼;同時,Apache License 授權也允許他人對軟體做「再授權」的動作。

第二、若是程式包含專利技術,使用 Apache License 時,表示授權者願意將程式的專利技術授權出來(Patent License)。但是,GPL 授權則不允許專利授權,因此在某些情況下,使用 GPL 授權的軟體可能會有侵害專利權的問題。

另外,Apache License 也對商標(trademarks)做保護,「不」允許他人使用原始授權人的 trademark、product name 與 service mark,除非是基於「合理」用途,並且附上 Apache License 的 NOTICE 聲明檔案。在 Android 的 SDK 裡,隨處可見 NOTICE 聲明檔。

Android vs. OpenMoko

Android 的授權方式,以及 OHA 的成立,代表著 Google 對未來手機市場的策略將會是一個建構舞台者的角色。Android 的出現對 OpenMoko 是否構成威脅,我倒覺得不必將 Android 當成是 OpenMoko 的假想敵,因為OpenMoko 未來潛在的競爭對手,恐怕不是 Android,而是使用者。走好自己路,是目前比較穩健的做法。

對開放或開源的手機平臺來說,最大的受益者是開發者以及使用者。就現況而言,顯然開發者對 Android 還沒有產生太大的興趣,OpenMoko 在開發者這個族群做得還算不錯。不過,OpenMoko 要能吸引真正使用者,還有努力的空間,所以 OpenMoko 真正要搞定的應該是使用者,倒不必太在意 Android 對他的影響。

至少就開發者族群來講,Android 還在起步階段;Google 現階段也很努力地在經營開發者族群。開發者的確是開放手機業者的兵家必爭之地。當然,最後還是必須在使用者族群裡分出高下。

總結來看,目前 Android 還沒有一個真正的商業模式。Terrence Russell 在他的 blog [Google: Android Has No Built-in Business Model] 提到,Android 的主要開發者之一 Richard Miner 告訴他:"For Android, there is no built-in business model"。至少就我目前的觀察來說,我是相信這個說法的。

也別忘記,Google 總是喜歡做實驗,任何新的 Google 服務都要在 Lab 裡育成,也會被掛上 Lab 的 logo。Android 是 Google 的新服務,或許現在他還是個「Android Lab」,只是沒有被掛上 Lab 字眼。Google 正在對開放手機平臺做大規模的實驗。

讀者留言 (2)

  • molazia 於 December 26, 2007 10:19:

    個人以為,没有內建商業營運( Business Model) 不代表没有商業模式, 只是Google尚未了解所有手機與電信業者(network operator)之間運作關係因為:
    1)手機款式大多: 以目前台灣市場來看, 可以用手機來上網的手機超過千款
    2)手機作業系統及Firware多: 就連同一款的手機,不同時期的Fireware在下載過程也會有不同的結果
    3)手機的雖有標準, 但在成本因素下, 不同手機雖支援同一規格,如:wap2.0, wap1.2, Java等,但手機內部的軟體不見得會有相同的標準
    4)它不是Wintel:没有標準作業平台就無法確認誰的手機有Bug!誰是市場中的老大,誰說了算!
    5)以上談了很多, 最重要的是Carrier(network operator), 這是一個大C, 在很多手機製造業中, 最大的利益的控制者, 有誰能的撼動呢?
    ....

    我相信他們早有式商業模式,只是尚未可以對外發佈!看到你在openmoko與Android的比較表中, 的API部分, Android只有map及data嗎?

    從我的觀點來看:在openmoko 是想達到硬體的獨佔性及軟體的開放, 但在Android的想法是把硬軟體的標準平台創造出來,再從硬軟體量化的市場中慢慢把API釋出!讓所有人為Google的網路世界抬轎!

    再者, WEB2.0與Mobile2.0之間應該有很大的不同, 因為兩者所用的載具不同,所以在文章中放在一起比較有點奇怪!

    單單把電腦上網的想法放在手機上網, 應該不能這樣做,從閱讀及操作方式,就有很大的不同!從這篇文章的內容,我會了解Google未來的企圖:mobile2.0! 因為它已經掌握住手機產業中的重點了!

  • fcamel 於 February 16, 2009 16:30:

    多謝分享。

    我剛接觸 open source 和 GPL, 關於 patent 和 GPL 部份有些疑惑,

    從 Wikipedia 的介紹來看, GPL 允許使用者延用 code 裡的 patents?
    http://en.wikipedia.org/wiki/GPL

    The GPL additionally states that a distributor may not impose "further restrictions on the rights granted by the GPL". This forbids activities such as distributing of the software under a non-disclosure agreement or contract. Distributors under the GPL also grant a license for any of their patents practiced by the software, to practice those patents in GPL software.

    這和文中這段意思有所抵觸:
    "第二、若是程式包含專利技術,使用 Apache License 時,表示授權者願意將程式的專利技術授權出來(Patent License)。但是,GPL 授權則不允許專利授權,因此在某些情況下,使用 GPL 授權的軟體可能會有侵害專利權的問題。"

    或是你指的是「GPL 授權使得專利限制失效, 所以專利擁有者不願意把專利實作以 GPL 授權放佈」?

    可以多說明一下, 或分享上段論點的相關文獻嗎? 謝謝 :)

留言功能維護中。將於近日重新開放。

連絡作者

Jollen Chen,Moko365(仕橙3G教室)講師,熱愛研究 Linux 與 Android 技術。曾為 Motorola、HTC、Foxconn、LG、OPPO、騰迅、廣達電腦、緯創、仁寶等超過 50 家企業講授課程。目前在 MokoVersity 擔任軟體工程師,撰寫 Node.js 程式,也在幾家科技廠兼任 Android Framework 研發顧問。您可透過電子郵件 <jollen (at) jollen (dot) org> 或這裡與我連絡。