標榜 Java Inside 或者是徵大量Java 工程師的台灣企業要小心了!
Java 是免費的嗎?甲骨文(Oracle)公司控告 Google公司 Android 使用 Java API 侵權,從 2010 至今訴訟八年的時間,而在2018年3月中美國聯邦巡迴法院對此訴訟案作出最新的判決結果。
Oracle 上訴成功逆轉,美法院判定 Google 侵權。雖然 Google 認為 Android 以開源條款免費開放使用,不具任何商業目的,並沒有構成侵權。但Oracle 向 Google 開出了近 新台幣 2944 億元的天價賠償金。美國聯邦法院於 2016 年時認定 Google 符合著作權保護法下的「合理使用」原則,判決Oracle 敗訴。
敗訴後Oracle 又上訴,指 Google Android 所使用的 Java Class Librery 正是來自於 Java SE,且 Google 藉使用 Java API 使 Android 獲利豐厚。而 Google 的說法是 Android 以開源條款免費開放使用,並沒有商業成份,並且 Google 的營收主要來自搜尋引擎,而非作業系統 Android,因此不具備 Android 賺進營收的事實。
敗訴後Oracle 又上訴,指 Google Android 所使用的 Java Class Librery 正是來自於 Java SE,且 Google 藉使用 Java API 使 Android 獲利豐厚。而 Google 的說法是 Android 以開源條款免費開放使用,並沒有商業成份,並且 Google 的營收主要來自搜尋引擎,而非作業系統 Android,因此不具備 Android 賺進營收的事實。
做出最終判決的法官認為:Android 免費使用並不意謂著 Java API 非商業性的屬性,因為免費提供客戶原本得花錢買的東西,就構成 商業使用行為 。至於 Android 商業性與否,和 Google 營收來源為何無關。因此 Google 對 API 套件的商業使用,已經違反合理使用的原則。因此在2018年3月中作出扭轉局勢的判決: 判定Oracle 勝訴 。
Java 最初是由Sun 公司所研發的程式語言,當初是用來作為家電控制處理器的輔助用程式語言,擁有開源,在這些背景下 Java當初確實是以免費使用的程式語言被運用且發揚光大,僅有部分大公司需要付費。
而Oracle 在 2010 年收購Sun 時,一併獲得了 Java的擁有權,便開始重視這語言背後的專利權益,並將其納入盈利項目。
最容易讓人忽略的是 Java SE 版本(Standard Edition,標準版),雖然 Java SE 本身免費,但 Java SE Advanced Desktop、Java Advanced 和 Java Suite 都要收費。Oracle 也明確指出 Java SE 的免費只限用於「通用運算」(general purpose computing),像是用在桌電、筆電、智慧型手機、平版的授權;而如果是用於「智慧系統中的專門嵌入式電腦」(specialized embedded computers used in intelligent systems)就不能作為免費使用的工具了。
嚴格來說 當企業用Java 開發一應用程式,終端使用者(透過手機)可以使用,就不算「通用運算」了。
台灣很多家廠商恐將面臨這波授權金追討行動。尤其很多資訊公司利用 Java 建置系統營運,此行為是否涉及侵權,已被Oracle 鎖定列為清查重點。打開各家企業官網,只要在網頁上看到標榜 Java Inside 等字樣,或者產品提示需要安裝Java 虛擬機器 (JVM),或者是徵大量Java 工程師的公司都要注意小心了。都可能成為追討授權金的目標。
而Oracle 在 2010 年收購Sun 時,一併獲得了 Java的擁有權,便開始重視這語言背後的專利權益,並將其納入盈利項目。
最容易讓人忽略的是 Java SE 版本(Standard Edition,標準版),雖然 Java SE 本身免費,但 Java SE Advanced Desktop、Java Advanced 和 Java Suite 都要收費。Oracle 也明確指出 Java SE 的免費只限用於「通用運算」(general purpose computing),像是用在桌電、筆電、智慧型手機、平版的授權;而如果是用於「智慧系統中的專門嵌入式電腦」(specialized embedded computers used in intelligent systems)就不能作為免費使用的工具了。
嚴格來說 當企業用Java 開發一應用程式,終端使用者(透過手機)可以使用,就不算「通用運算」了。
台灣很多家廠商恐將面臨這波授權金追討行動。尤其很多資訊公司利用 Java 建置系統營運,此行為是否涉及侵權,已被Oracle 鎖定列為清查重點。打開各家企業官網,只要在網頁上看到標榜 Java Inside 等字樣,或者產品提示需要安裝Java 虛擬機器 (JVM),或者是徵大量Java 工程師的公司都要注意小心了。都可能成為追討授權金的目標。
自Oracle下載的JDK和JRE包含免費授權和商業授權的程式碼,這兩種程式碼是一體的,關鍵在於會不會 誤用 到需要Oracle 商業授權的商用程式碼,因此Oracle會發函要求審計是否有使用到商業授權程式碼。
據說某家企業 已遭 Oracle 催繳 100,000 美元,不過後來該企業通過上訴把這筆金額降到了 30,000美元。某公司創始人 向媒體透露,Oracle 可不會區分你是不是客戶。連合夥人都不放過。對 Java 業務諮詢愈多,Oracle 追得愈緊。長久以來只有取得付費的JAVA 企業授權情況下使用是合法的。
爭議的 Java 是指 Java SE,Oracle 對 Java SE 的收費標準有:40 ~ 300 美元的個人許可證(per named user licence)還要附加 66 美元的技術支持費。或者 5000 ~15000 美元的處理器許可證(per processor licence)外加 3,300 美元的技術支持費。
專家建議 換 OpenJDK 就沒事了,OpenJDK和Oracle JDK幾乎相同,Oracle JDK採用Oracle Binary Code License Agreement授權,而OpenJDK採用GPL with classpath exception授權,是 Oracle/SUN 公眾契約,無法撤銷。因此使用OpenJDK不會被Oracle告。或者如果你沒有啟用商業授權程式碼則不需付錢。不過記得版權所有權依附在 Oracle,企業不得宣告所有權是自己的。並且不得單獨做成可販賣的 Java 產品,不能下載相關程式或JDK 包成一項產生販賣。
至於 JavaScript 雖是免費開源,但名稱商標權屬Oracle 所有,產品上盡量不要宣稱使用Javascript,只要說網頁程式帶過便可。
一般企業趕緊置換成OpenJDK,不然就是刪除那些需授權的元件,不然就是不要用Java,不然就是乖乖付費。畢竟研發成本是高昂的,大家都想免費,那為何你開發的函式庫或程式想賺錢?
不要對那些.com公司開發出來的函式庫有太深的黏著會比較好。儘量用c/c++寫自己的函式庫。