Google Android 涉嫌違反 GNU GPL
我今天看到《Android source code, Java, and copyright infringement: what's going on?》(中譯版)的新聞。心頭一驚,這還真是個大新聞。於是多花了些時間把相關的討論文章都看過。內容很多,但法律焦點其實只有一個,我稍候解釋。我先說我的結論吧。我的結論是:Google 錯了。
Engadget 這篇新聞引述 Florian Mueller 發佈的《New evidence supports Oracle's case against Google》。文中指出 Google Android 有部份程式碼侵害了 Oracle 所擁有的專利與著作權。這新聞引起很多回應,連 ZDNet 也有作者發文《Oops: No copied Java code or weapons of mass destruction found in Android》為 Google 辯護。但是那些辯護內容,在我看來並不能支持 Google 的立場,頂多是作為 Google "減刑"的依據罷了。
在這整個事件中,我注意到的只有一點,也是以自由軟體的立場而言真正重要的法律焦點,即 Google took Oracle's code, replaced the GPL language with the incompatible Apache Open Source License, and distributed the code under that license publicly.
。不論 Google 嘴上如何說他們支持開放源碼軟體,僅憑這一點,Google Android 就違反 GNU GPL 的意旨,涉嫌侵害著作權所有人 Oracle 的權利。
在替 Google 辯護的回應內容中,論點主要有二:一、Java 是 GPL 的開放源碼軟體;二、那些程式碼只是測試用,不隨正式產品釋出。這類論點佔了絕大部份的回應內容。遺憾的是,他們對 GPL 一知半解,他們的看法錯了。許多人對自由軟體與開放源碼軟體的認知僅止於「我可以免費取得程式源碼,並且修改與使用」。他們不知道「自由軟體」(Free Software)與「開放源碼軟體(OpenSource Software)有什麼不同;更不知道 GPL, Apache License 的差異。也就不能理解為什麼 Google Android 錯了。
我摘錄一些對 GPL 理解錯誤的網友回應。
Simon's comment: 一部份是所謂的單元測試程式碼,這種程式碼僅供測試用,不會跟隨正式產品發佈出去。如果我想寫出確保跟 Sun Java 一樣功能的程式,直接採用 Sun Java 的單元測試程式碼來進行測試,應該是最快的測試及驗證的方式。雖然測試程式碼不屬於正式產品的一部份,但是在道德上還真的是有點瑕疵。
Ray's comment: 不明白耶,JAVA 不是早就以 GPL 授權釋出原始碼了嗎? 難道 GPL 授權還可以出爾反耳?
GNU GPL 的授權範圍係規範使用者對程式源碼的使用方式,而非目的用途。GPL 只管你怎麼使用程式源碼,而不管你要用程式幹什麼。GPL 要求「自由取得、修改程式源碼,並依 GPL 再散佈程式源碼」。你必能自由取得與修改程式源碼,且你也必須用 GPL 再散佈你修改過的程式(含源碼)。
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
GNU GENERAL PUBLIC LICENSE Version 2
你在使用程式源碼的過程中,不能違反上述內容。一但逾越,就是侵害著作權人的權利。至於你是拿源碼來做測試或是包在正式產品中賣,對 GPL 而言都沒有差別GPL 都不關心。並不是說因為我沒有包在產品中賣,所以我刪掉源碼的 GNU GPL 宣告的行為就不算過錯。
如果 Florian Mueller 敘述的內容屬實,那麼 Google 錯就錯在它把源碼中的 GNU GPL 宣告標頭刪掉了;換成 Apache license 也不行。此一舉措明顯違反 GNU GPL 的授權範圍。其他事不是重點。
按照 GNU GPL 宣告標頭的文字說明,一但你發現你拿到的屬於 GNU GPL 散佈的程式源碼沒有包含 GNU GPL 的文件時,你可以寫信通知 Free Software Foundation,FSF 將會提供著作權人相關的法律協助。不過此案的事主 Oracle 家大業大,而且他們的律師團已經出手了,我想 FSF 不會再插一腳。
在眾多回應中,我特別注意 Arash 的回應內容,他說:
And its funny that Apache is clearly disowning those codes, They need to, Because Android is the most harmful piece of software for Open Source Software community, ...
@Mike10010100 Nilay has been a copyright attorney and he made it clear why it doesn't matter if the code has been shipped in any sample handset or not.
Arash's comment
我曾說過我不喜歡 Google Android 嗎?我說的可不是手機介面的喜好問題。從一個自由軟體支持者立場來看,我不喜歡 Google Android 的作法。自從 Android 與 Linux 分家之後,我的態度就更堅定了。看到 Arash 的發言後,我知道世界上還有許多自由軟體與開放源碼軟體的支持者,抱持與我相同的態度看待 Google Android 。
樂多舊回應