為甚麼Oracle可以拿九列程式碼的著作權,到處濫收「保護費 」?

我們想讓你知道的是
我在通識課裡每個學期都會考這個概念,因為這就像是每一位公民需要知道詐騙集團的手法或毒品的危害一樣重要。
Oracle對Google的Java API官司,Oracle勝訴,於是Oracle準備大舉開徵保護費,各行各業挫著等。身為程式設計師,我看了快吐血。
讓我做幾個比喻,你不需要會寫程式,也能理解何謂應用程式介面(API)。牆壁上的電源插座,就是電力供應的API。供電方與用電方同意: 接觸的兩隻腳距離要多遠、電壓是多少、頻率是多少。提款機的提款卡插入口,就是提款/查詢服務的API。提款卡的寬度、厚度、晶片的位置、傳遞的資訊、......這都有固定的數值,是業界大家共同遵守的共識。電腦跟電視之間、跟投影機之間的VGA接口或HDMI接口,就是影像傳輸的API。
API是一個共通的介面,是一種微型的語言,讓參與溝通的多家廠商可以交換資訊。相較於發電廠、相較於各種需要吃電的複雜電器設備、相較於提款機內部電路,API不過是一個小小個的接口,它的複雜度幾近於零。API不應該受到著作權保護。它既不屬於臺電、也不屬於任何一家家電業者、更不屬於任何一家銀行所獨有;它是大家溝通時共用的語言。
隨便找一個C語言或C++語言所寫的程式,比較一下*.h程式碼(API)的份量與*.c或*.cpp或*.c++程式碼(實作,implementation)的份量,你就可以具體地粗估我所說的「趨近於零」的那個數字。
自由軟體之父Richard M. Stallman在設計GPL的時候,還多設計了一個(約束力較小的)LGPL,就是要讓專屬軟體可以採用自由軟體的API而不需要跟著把自寫的專屬軟體的程式碼釋放出來。因為他知道支持GPL需要理念;但對於那些想佔自由軟體便宜但又不想付出的廠商來說,LGPL比較可以接受。
另一方面,即使是專屬軟體的著作權人之間,經常也需要靠API來溝通。例如W3C引發公憤的EME「標準」,就是一種DRM領域的API,沒有哪一家白癡公司主張對EME擁有著作權。從自由軟體到瀏覽器DRM,光譜上的這兩個極端,任何稱職的程式設計師都知道:API是一個溝通用的介面;它不該是智慧財產權保護的對象。
一旦API被列為智慧財產權保護的對象,開發應用程式就成為處處可能踏到法律地雷的高風險違法行業。這也是為什麼蘋果共同創辦人Steve Wozniak、C++之父 Bjarne Stroustrup、Unix 之父Ken Thompson、作業系統大師Andrew Tanenbaum、Linux之父 Linus Torvalds、(感嘆世人看不見的)Smalltalk之父Alan Kay……還有電腦界其他許多大咖,他們透過法庭之友機制在本案當中力挺Google,對法院解說為何API不該被著作權保護。
如果有程式設計師竟然還主張著作權可以保護(用來讓兩隻程式接口的)API,那我看他不如就乾脆加碼主張他嘴巴碰過的碗以及屁股坐過的馬桶等等任何跟他身上的洞口對接過的東西也通通都侵犯他的著作權吧!這位拒聽專家建言的白癡法官一定也會力排眾議跟他站在同一陣線的。
API不該被著作權保護、基於API的侵權判決是智障判決;但是Google在其他面向有沒有侵權?有,就只有九列程式碼:
if (fromIndex > toIndex)
throw new IllegalArgumentException("fromIndex(" + fromIndex +
") > toIndex(" + toIndex+")");
if (fromIndex < 0)
throw new ArrayIndexOutOfBoundsException(fromIndex);
if (toIndex > arrayLen)
throw new ArrayIndexOutOfBoundsException(toIndex);
}
從我們的角度來看,這就是Oracle勉強有立足點可以拿來坑殺顧客的「智慧」財產依據。第一審的法官William H. Alsup為了理解大家的說法,還認真地自學寫程式,最後判Google勝訴。但是上訴法庭的白癡法官就沒這麼認真做功課了。對於這種低能判決,我沒有力氣再幹譙或解釋更多了。有興趣了解此案來龍去脈的讀者,可以從EFF的Oracle vs Google專頁找到很多資料。除了上述電腦專家之外,還有微軟、紅帽、HP、App開發者聯盟、Mozilla、智慧財產權教授群、電腦與通訊工業協會等等團體也都透過法庭之友機制,在本案中力挺Google。
雖然這次的事件的受害者主要是Java用戶;但資料庫被Oracle綁架的公司更多。而仗著九行侵權程式碼向Google敲詐90億美元的Oracle是怎麼樣的一家公司呢?可參考以下文章︰
- Oracle的軟體稽核
- 經銷商: Oracle 毀了我們的事業(2011)
- 「我覺得好像被敲詐了」一位客戶解說如何被 Oracle 逼上雲端(2015)
- Oracle 殘暴的銷售戰術(2015)
- 採用 Oracle 應用軟體的隱藏代價(特別大推這份報告)
簡單講,Oracle的專長不是技術或服務品質而是簽合約;它採取的手段不是提供誘因,而是威脅。就是透過軟體稽核逼用戶越陷越深。但是客戶們通常因為自己授權不足、法律上自己理虧,所以人人心虛、沒人敢站出來大聲反抗,也因而無法彼此交流經驗,共同找出對抗Oracle的策略。和那些被黑道用毒品控制住的受害者有沒有像?跟Oracle的作風對照之下,現在回頭再看那些「只收你一次錢就滿足的勒贖軟體」,後者根本就是慈悲為懷的大善人。
所以,如果你們公司用到Oracle的任何一種產品,都應該覺醒了。最重要的第一步就是理解Scott McNealy所說的barrier of exit。他是 Sun Microsystems 創辦人,在Oracle買下Sun的時候,就給了這個超級重要、卻被主流資訊教育體系及資訊產業所忽略的六分鐘演講。對,他雖然是拿IBM的DB2作例子,但其實一樣適用於Oracle的資料庫,現在竟也出人意表地適用於被Oracle搞爛掉了的Java。
Tags:
綠能x數位,科技助攻水產養殖產業升級

我們想讓你知道的是
水產養殖結合太陽光電是一種創新的經營模式,讓漁場除了既有的漁獲外,更能提供綠電創造額外收益,國內更有漁場順勢導入數位工具管理養殖環境,持續提升水產質量。我們可以看到,數位與能源的雙軸轉型正在養殖漁業發生。
糧食生產是農漁業的主要功能,順應環境選擇不同的作物與耕種策略,是農漁民智慧的累積,臺灣的農漁業實力更是享譽國際。然而,由於整體產業結構轉型、生活型態轉變,傳統看天吃飯的一級產業,較不容易成為新世代就業的優先選項,如何在現有產業基礎上創造新商機、吸引年輕人返鄉,是各界都在思考的課題。
近年來,各國政府致力推動再生能源以實踐減碳,在不同場域、建物等結合光電開發的複合式發展模式,成為兼顧空間利用效率、提高單位面積產值的創新解決方案,這樣的趨勢正在農漁業現場發生。
農漁業結合光電創造附加價值
農電共生可提供自給自足的再生能源,還能保護農作物免受極端天氣影響,提高生產韌性,多餘的電力也可以躉售,提升農民收入。著眼於光電帶來的附加價值,越來越多國家看好農業結合太陽光電的發展潛力,德國、日本已有多個果園結合太陽光電從事農電共生,法國也實驗在成列的葡萄藤上安裝太陽光電模組。
不只農業,國際也開始出現結合水產養殖與太陽光電的漁電共生。例如美國切薩皮克灣(Chesapeake Bay)發展出太陽能牡蠣生產系統,不僅實現綠電自發自用,漁產收穫量更高達傳統養殖場的45倍;而在養蝦大國越南,也開始執行養蝦場結合太陽能發電的漁電共生計畫,為養殖場提供穩定電力並帶來漁獲,一舉兩得。

數位轉型為漁電共生添助力
漁電共生是利用漁業養殖場域結合太陽光電設置,期能改善生產環境、增加漁民收益,創造土地多元利用,是臺灣積極推動的重要政策方向之一。不過其他國家與臺灣的漁電共生開發型態不太一樣,其他國家多以沿海鋪設水面型光電為主,臺灣的漁電共生則採用室內養殖場搭配屋頂型光電,或室外魚塭搭配立柱型/水面型/塭堤型光電設備,近年來在許多漁民與光電業者的努力合作下,這樣的複合式土地利用模式逐漸展現效益。
不同養殖物種的環境需求不一,漁電共生導入的過程須經磨合,運用魚塭上方架設太陽能板,冬天防寒害、夏天助降溫,並配合不同物種的習性調整投料策略,同時結合數位環境監控系統調節養殖環境,進而達到提高漁獲收益之積極目的。

光電開發帶來的效益,也讓原本衰頹的產業地景重現生機,例如位於臺南七股的日運案場,原本是高鹽度的廢棄魚塭地,在養殖專家與在地青年的協力下,透過微生物、益生菌來控制池水,搭配AI數位化儀器監控養殖過程,持續累積養殖數據建立資料庫,烏魚、虱目魚、白蝦的混養模式已多次收成;四鯤鯓漁電共生案場過去同樣是廢棄魚塭,改建為室內型漁電共生案場後,能精準控制環境變數以從事精緻養殖,已成功育成一尾重達30克以上的白蝦。
由於漁電共生帶來的效益逐漸獲得認同,有別於過去多為光電業者發起的開發模式,最近也出現由漁民發起的漁電共生規劃,例如茄萣區不少養殖戶視漁電共生為吸引青農返鄉的契機,積極爭取納入漁電共生先行區;目前採用塭堤型與立柱型的光電設施,養殖的虱目魚也已開始收成。

養殖漁業正在實現數位與能源的雙軸轉型
數十年來漁民的養殖專業與經營視野,讓臺灣水產養殖產業在國際上向來有一席之地,但近年來確實也面臨產業結構轉型、從業人口老化凋零的挑戰;如今結合光電的漁電共生模式,讓原本看似傳統的一級產業開始蛻變,養殖模式、經營模式、商業模式不斷創新,也吸引更多青年關注與投入;臺灣養殖王國的美名,相信在不久的未來,將藉由數位與能源的雙軸轉型,再次展現耀眼光芒。
(經濟部能源署廣告)