登入  |  English
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。

Amazon Kindle 部份原始碼公開 非關 Kindle 完全開放

Amazon 近來釋出 Kindle 部份元件原始碼的新聞,在網路上四處流傳,外界誤以為 Amazon 開放了此一電子書 (e-book) 閱讀機。錯了,這次的程式碼釋出,只不過是單純為了符合 GPL 的規定,而 Kindle 的電子書功能仍然是私有軟體。

因為將其知名的 Kindle 閱讀機中使用的部份元件程式碼公開,Amazon 最近成為了眾多媒體的焦點。開始有人想像,藉由下載 Amazon 提供的 Kindle 原始碼,就能夠以其功能為基礎,做出超越 Kindle 的裝置。有關這一次程式碼釋出的炒作完全是故弄玄虛且毫無必要,一切都是有關此次程式碼揭露範圍與本質的廣泛誤解所造成。

相對於許多媒體頭條模糊地宣稱 Amazon 正在開放 Kindle,事實是,Amazon 並沒有釋出多少新的程式碼,競爭對手也不可能藉此複製此一成功產品。從 2007 年開始,Amazon 為了履行授權義務,就已經釋出過許多 Kindle 元件的原始碼,最近的釋出只是 Kindle DX 的更新程式碼,以及 Kindle 的新版軟體平台。

正如許多新的消費者電子裝置一樣,Kindle 的作業系統也是以 Linux 核心為基礎,並運用 Linux 平台體系中的許多程式庫與框架。這些元件由其原始創作者以開放源碼授權釋出,廣泛地允許其他人學習、修改與重新散佈該程式碼。就連 Linux 核心本身都是以 GPL 第 2 版加以散佈。相同方式共享 (share-alike) 條款是 GPL 的重要特質之一。當硬體製造商推出包含 GPL 授權程式碼的產品,廠商必須告知使用者其 GPL 下的權利,並公開程式碼。

很重要的一點是,廠商們通常會在產品中同時運用私有和開放源碼元件。納入 GPL 授權程式,或者在 Linux 核心上建立自己的平台,不表示就得公開產品上所有軟體的程式碼。在許多的例子中,硬體廠商使用開放源碼核心與框架,但產品最主要之處能維持私有軟體。

Amazon 的 Kindle 很明顯地屬於此一模式。除了 Linux 核心外,底層的 Kindle 軟體平台使用了其他現有的開放源碼軟體元件如 GStreamer 多媒體程式庫和 BusyBox shell。為了遵守授權要求,Amazon 僅公開了對現有開放源碼元件的修改版本。在 Amazon 之外的其他廠商身上,也常見此類型的程式碼揭露,如 Palm Pre、Roku 機上盒與 TiVo DVR,提供核心使用者體驗的軟體元件並未公開,也就是說,這些廠商公開的程式碼不足以用來複製其產品的獨特功能。

或許是由於 Amazon 執行長 Jeff Bezos 近來透露在 Kindle 上支援其他電子書格式,以及允許更多裝置讀取 Kindle 電子書格式的可能性,部份部落客將此一消息和程式碼釋出的新聞銜接在一起,誤以為 Amazon 提供整個 Kindle 平台讓競爭者使用。雖然 Amazon 並未公開其軟體的最重要部份,然而該公司釋出的程式碼也並非毫無價值。至少開放源碼開發者可以從中找出值得整合至上游版本的程式碼改善。此外,核心程式碼在某種程度上,也可能透露出 Kindle 背後的部份設計。例如,從程式碼中或許可看出 Amazon 用以節省電耗,或是因應此裝置特有硬體的技巧。

對於某些硬體裝置,開發者可以取得其底層原始碼,並建構開放源碼版本加以完全取代,甚至提供比原始軟體更為豐富的功能,可攜式媒體播放器的開放源碼 Rockbox 韌體就是一個很好的例子,另外一個例子是 DD-WRT,這是一套客製化的韌體,可載入到某些以 Linux 為基礎的路由器上,加強其功能。

然而,有越來越多硬體製造商利用程式碼簽章和其他技術,防止使用者替換掉裝置上的軟體,例如 Kindle 就是其中之一。這表示 Kindle 雖然運用了部份開放源碼軟體,基本上還是一個封閉裝置。此一趨勢被認為妨礙使用者行使其 GPL 權利,而讓開放源碼軟體社群部份成員感到憂心。這股趨勢因為最著名的案例 TiVo DVR,而被稱之為 Tivoization。自由軟件基金會 (Free Software Foundation,FSF) 將 Tivoization 視為 GPL 的一個漏洞,並嘗試在 GPL 第 3 版 (GPLv3) 中禁止此一行為。然而 GPLv3 的反 Tivoization 條款具有高度爭議性,且遭到開放源碼軟體社群中 GPLv3 批評者的反對,其中包括 Linus Torvalds,也就是 Linux 核心創作者與首席開發者。Linux 核心還是以 GPL 第 2 版授權,允許自由地運用在封閉裝置上。

Kindle 的封閉特質使得第三方開發者難以為閱讀機軟體,打造不同的使用者介面與更多功能。不像傳統的桌上電腦,可以重新格式化並載入全然不同的軟體,Kindle 與其他封閉裝置的功能,完全操控在製造商手中,減少了使用者的自由並減損了產品的價值。宣稱 Amazon 開放 Kindle,雖然令人屏息卻只是個不正確的消息。Amazon 只是和其他運用 Linux 核心製造產品的廠商一樣地遵守 GPL,該產品最主要的軟體元件仍然是私有軟體,而該裝置依舊完全封閉,反對修改。


相關網址:
1.Amazon 程式碼釋出無關緊要,Kindle 依然封閉
2.Amazon Kindle 程式碼該怎麼用?
3.Amazon 為何開放 Kindle 軟體?




自由軟體鑄造場電子報 : 第 129 期 淺談使用自由軟體時所應注意的商標授權問題

分類: 源碼新聞