親愛(ài)的Oracle: Java API不是藝術(shù)品
Oracle曾經(jīng)說(shuō)Java API就像是優(yōu)美的畫(huà)作。Google卻說(shuō)API就是文件柜里的文件。***,William Alsup(負(fù)責(zé)審理Oracle和Google關(guān)于Java糾紛的法官)比較同意Google的觀點(diǎn),Java作為一門(mén)編程語(yǔ)言,其API就像是圖書(shū)館里的藏書(shū)一樣。
“Java里的包(package)就像是圖書(shū)館的書(shū)架一樣”,Alsup法官在他最近一周的所作出的廣受關(guān)注的裁定中這樣寫(xiě)道,該裁定正是針對(duì)Google和Oracle關(guān)于Java API的漫長(zhǎng)的法律訴訟所作出的,“每一個(gè)類(lèi)(Class)就像是書(shū)架上的一本書(shū),類(lèi)中的每一個(gè)方法(Method)就像是書(shū)中的‘閱讀指南’章節(jié)。程序員的工作,就是前往正確的書(shū)架,選擇正確的書(shū),打開(kāi)這本書(shū),找到所需要的章節(jié)。”
 
Image: twechy/Flickr
Alsup法官的基本觀點(diǎn)是:庫(kù)文件的組織形式并不受制于版權(quán)。是的!他明確地表達(dá)了這個(gè)觀點(diǎn):書(shū)是有版權(quán)的,但是你在書(shū)架上怎么放書(shū),按什么順序放,這跟版權(quán)一點(diǎn)兒關(guān)系都沒(méi)有。
換句話說(shuō),Google復(fù)制了37個(gè)Java API,用以構(gòu)建其Android手機(jī)操作系統(tǒng),這一行為并不侵犯Oracle的版權(quán)。盡管Google照搬了這些API的組織形式,但Google自行構(gòu)建了代碼,至少是絕大多數(shù)自行構(gòu)建的。“Java和Android的類(lèi)庫(kù)在組成形式上大致相同,基本上提供了相同的功能,解決相同的問(wèn)題,不過(guò)Google對(duì)這些功能函數(shù)都做了自己的實(shí)現(xiàn),這些實(shí)現(xiàn)和Oracle所屬的Java是不一樣的。”
Google和Oracle關(guān)于Android是否侵犯Java版權(quán)開(kāi)展訴訟
根據(jù)這一裁定,Alsup法官終結(jié)了這場(chǎng)關(guān)于Google Android系統(tǒng)侵權(quán)使用Java的訴訟,該訴訟長(zhǎng)達(dá)六周之久。Oracle于2010年控告Google非法侵占了Java的版權(quán)和專(zhuān)利權(quán),并企圖通過(guò)該訴訟在Google Android系統(tǒng)的巨額利潤(rùn)中分得一杯羹。不過(guò),依照Alsup法官的裁決,數(shù)據(jù)庫(kù)巨頭Oracle這次要一無(wú)所獲了。Oralce已經(jīng)表明了對(duì)此案上訴的態(tài)度。
如果Alsup做出相反的判決,那么Oracle很可能會(huì)引發(fā)一場(chǎng)‘令人難以想象’的災(zāi)難,還好法官?zèng)]有這么做。Bret Bocchieri表達(dá)了這樣的觀點(diǎn),他是來(lái)自一家名為Seyfarth Shaw LLP的國(guó)際法律公司的知識(shí)產(chǎn)權(quán)專(zhuān)家律師。
更重要的是,Alsup法官的裁決讓全世界范圍內(nèi)的軟件公司和獨(dú)立開(kāi)發(fā)者們都松了一口氣。在軟件世界里,復(fù)用API是非常普遍的行為。例如,一些云計(jì)算平臺(tái),就模仿了Amazon所擁有的著名的云計(jì)算架構(gòu)ECC(Elastic Compute Cloud)的API形式。API是應(yīng)用程序的可編程接口,是不同軟件之間交互的重要方式,行業(yè)內(nèi)普遍默認(rèn)對(duì)接口的組織和使用并不會(huì)觸犯到版權(quán)保護(hù)法律。Oracle對(duì)這個(gè)默認(rèn)規(guī)則的挑釁,至少在業(yè)界引發(fā)了巨大的爭(zhēng)議。周四,Alsup法官的裁定結(jié)束了這些紛爭(zhēng)。
“如果Oracle的觀點(diǎn)得到認(rèn)同,那么著就意味著任何人都能給自己實(shí)現(xiàn)的系統(tǒng)或功能加上版權(quán),同時(shí),他還能夠根據(jù)版權(quán)的保護(hù)條例禁止其他任何人用他們自己的方式實(shí)現(xiàn)跟你的系統(tǒng)和功能相同的軟件。(也就是說(shuō),這種軟件只能有版權(quán)的人做,其他人會(huì)做都不能做——譯者注)”在法官的41頁(yè)的簡(jiǎn)報(bào)里,他寫(xiě)到:“沒(méi)有任何理由可以支持這種極端的提議。”
Alsup法官 為了審案甚至親自學(xué)習(xí)了Java編程
Ed Walsh,一位來(lái)自于Wolf Greenfield國(guó)際法公司的律師,表示他對(duì)這樣的裁定并不感到驚訝。但是他同時(shí)也指出,這個(gè)裁定并不意味著從此以后API就不受版權(quán)的約束了。Walsh認(rèn)為,Alsup法官部分出于Sun公司的原因,幫了Google一把,允許Google復(fù)制API。Sun公司才是Java真正的***,后被Oracle收購(gòu),而后Oracle才取得了Java的版權(quán)并起訴Google.
“我認(rèn)為有一些因素對(duì)裁定結(jié)果產(chǎn)生了影響,那就是Sun公司原先是允許人們隨意使用Java的”,Walsh說(shuō),“所以O(shè)racle不能用版權(quán)去限制這些本來(lái)就已經(jīng)開(kāi)放的事物。”
Catherine Lacavera, Google的訴訟代表,也表達(dá)了同樣的觀點(diǎn)。“這個(gè)判決重申了我們長(zhǎng)期以來(lái)對(duì)法律的理解,這些API是可以被所有人自由使用的,正如我們使用它一樣,我們采用了這些功能的聲明,并自己獨(dú)立實(shí)現(xiàn)這些聲明所包含的功能代碼。”,她說(shuō),“這就是開(kāi)發(fā)者使用Java的正常模式,你不能說(shuō),一種語(yǔ)言是可以自由使用的,然后又禁止人們使用這種語(yǔ)言的名詞或者動(dòng)詞。”
Alsup法官則考慮得更細(xì),他使用了大量的細(xì)節(jié)來(lái)描述什么是Java API以及在法律范圍內(nèi)這些API應(yīng)當(dāng)如何對(duì)待。他所提出的圖書(shū)館的比喻非常經(jīng)典。但是他可不是僅僅停留在比喻的層面上。他似乎真的理解什么是API.他也很清楚復(fù)制一個(gè)接口(Interface)和復(fù)制實(shí)現(xiàn)接口的代碼,這兩個(gè)概念是有區(qū)別的。
“每個(gè)成員方法(Method)和類(lèi)(Class)都是用來(lái)實(shí)現(xiàn)特定的功能的,因此,‘聲明’(或者說(shuō)‘頭文件’)所包含的代碼必須和實(shí)現(xiàn)功能的代碼一致”,Alsup法官在做出圖書(shū)館的比喻后還這樣說(shuō)過(guò)。
2008年時(shí),Java共包括166個(gè)API, 涉及到該600個(gè)類(lèi),6000多個(gè)方法。 Google復(fù)制37個(gè)API包(package)的名稱(chēng)和操作方式,但是Google用自己的代碼對(duì)這些方法和類(lèi)進(jìn)行了實(shí)現(xiàn)。
在訴訟中,Oracle的法律顧問(wèn)Mike Jacobs常說(shuō),構(gòu)建API就像是進(jìn)行交響樂(lè)創(chuàng)作,或者是,是的,就像是繪制一幅優(yōu)美的畫(huà)作一樣。Alsup法官當(dāng)然意識(shí)到了開(kāi)發(fā)API是一種創(chuàng)作性行為。但是他也為這種行為加上了概念性的級(jí)別,API這樣的發(fā)明只能由專(zhuān)利權(quán)來(lái)保護(hù)(而不是知識(shí)產(chǎn)權(quán))。Oralce當(dāng)然也從專(zhuān)利權(quán)的角度進(jìn)行過(guò)訴訟,但是同樣沒(méi)有成功。
Java依賴一種特殊的“詞匯表”一樣的組織形式,稱(chēng)之為“方法規(guī)格說(shuō)明書(shū)(method specification)”,程序員這通過(guò)這個(gè)說(shuō)明書(shū)告訴計(jì)算機(jī)需要做什么事情。Alsup法官表示,根據(jù)美國(guó)版權(quán)法案,無(wú)論“方法規(guī)格說(shuō)明書(shū)”是如何地有創(chuàng)意,任何人——包括Google——都有權(quán)利使用相同的“方法規(guī)格說(shuō)明書(shū)”,只要他們對(duì)“方法規(guī)格說(shuō)明書(shū)”中定義的方法的實(shí)現(xiàn)代碼不同。“方法規(guī)格說(shuō)明只是一種‘概念’,方法本身的實(shí)現(xiàn)才是具體的表達(dá)。法律不能讓任何人對(duì)‘概念’進(jìn)行壟斷”。Alsup法官如此寫(xiě)道。
法官說(shuō),目前還沒(méi)有哪個(gè)上訴法庭或者地區(qū)法院對(duì)API受版權(quán)保護(hù)一事做出裁決。但是他也的確參照了其他的案例進(jìn)行判決,包括1879年***法院裁定Baker針對(duì)Seldon的訴訟——這是一場(chǎng)討論關(guān)于會(huì)計(jì)技能是否受版權(quán)限制的官司。法院***裁定會(huì)計(jì)記賬方法學(xué)只受專(zhuān)利權(quán)的約束,而不受版權(quán)的約束,因?yàn)橐坏┡袥Q其受版權(quán)法約束,將會(huì)“極大挫傷出版業(yè)的積極性”。
“Baker的案例已經(jīng)很久遠(yuǎn)了,但是這個(gè)案例并不過(guò)時(shí)。相反,即便是在當(dāng)代,Baker案也會(huì)被告到上訴法庭才能有最終裁定。”
他還引證了1994年蘋(píng)果公司針對(duì)微軟公司的訴訟案,1992年冠群電腦國(guó)際有限公司(Computer Associates International)針對(duì)Atari的官司,以及1985年Whelan Associates, Inc. 針對(duì) Jaslow Dental Laboratory, Inc.的訴訟案,所有的這些案件都是關(guān)于計(jì)算的各個(gè)方面是否違反版權(quán)的。Alsup得出結(jié)論:如果一個(gè)概念有不只一種表達(dá)方式,那么沒(méi)有人可以申請(qǐng)對(duì)概念本身的版權(quán)。
名稱(chēng)和短語(yǔ)都是不受版權(quán)保護(hù)的,他說(shuō),版權(quán)保護(hù)的范圍不會(huì)延伸到任何概念,過(guò)程、進(jìn)程、系統(tǒng)、操作方法,或者觀念——無(wú)論以任何形式。他還說(shuō),對(duì)實(shí)現(xiàn)互用性所必要的功能性元素不受版權(quán)限制。這里就包括了Java API.
從很多方面來(lái)說(shuō),Google和Oracle的官司的結(jié)果并不讓人激動(dòng)。但是從某些方面來(lái)講,這個(gè)案子又遠(yuǎn)遠(yuǎn)超傳統(tǒng)的意義。該案的亮點(diǎn)在于,Alsup法官告訴法庭,他自己為了審案而學(xué)習(xí)了Java編程,這給了Oralce一記響亮的耳光,別想用技術(shù)蒙蔽法官的雙眼?;仡欉@長(zhǎng)達(dá)6周的訴訟,在法庭上,Alsup法官多次向雙方的律師和技術(shù)證人提出各種專(zhuān)業(yè)而尖銳的問(wèn)題,這真是非常精彩的表現(xiàn)!我們信任這樣的法官!在他的裁決書(shū)里,他甚至自己寫(xiě)出了各種代碼,來(lái)演示方法(method)、類(lèi)(class)和包(package)的具體概念。并且,***,他做出了正確的判決!
英文原文:Caleb Garling
本文來(lái)自:http://blog.jobbole.com/21190/















 
 
 





 
 
 
 