43個(gè)證據(jù)顯示Android代碼抄襲Java

2011/1/22 9:16:29    編輯:谷奧     字體:【

Win7之家airtaxifl.com):43個(gè)證據(jù)顯示Android代碼抄襲Java

Oracle最初告Android代碼里侵犯了他們旗下Java知識(shí)產(chǎn)權(quán)的時(shí)候,大多數(shù)不明真相的圍觀群眾都是站在Google這一邊的,畢竟Oracle蠻橫不講理慣了嘛。但是,這次我們還真是當(dāng)了不明真相的圍觀群眾了,F(xiàn)OSSpatents博客是專門研究分析科技侵權(quán)案件的,他們拋出了一枚重磅炸彈:發(fā)現(xiàn)至少有43個(gè)Android源文件是直接從Java的代碼里復(fù)制/粘帖過(guò)來(lái)的(如圖)!

 

當(dāng)你發(fā)現(xiàn)37個(gè)Android源文件里都有Oracle/Java標(biāo)記為“私有/機(jī)密”以及“不要發(fā)布”字樣,而且至少有6個(gè)以上的Android 2.2 Froyo和Android 2.3 Gingerbread代碼都是從Java 2 Standard Edition反編譯出來(lái)并在沒(méi)有得到授權(quán)的情況下重新通過(guò)Apache開源授權(quán)再發(fā)布出來(lái)的時(shí)候,你用腳趾頭也想的出到底Android是不是侵權(quán)了。 沒(méi)錯(cuò),Google就是直接復(fù)制了Oracle的Java代碼,粘帖上新的授權(quán),發(fā)布出來(lái)。

不過(guò)這些復(fù)制的代碼似乎都是測(cè)試之用的,還談不上太嚴(yán)重,你可以看看我們的深入分析,但是抄了還是抄了,Oracle應(yīng)該不會(huì)大事化小的。


關(guān)于Florian Mueller發(fā)布的關(guān)于Android抄襲Java代碼的文章里,存在兩個(gè)疑問(wèn)。

首先是第一組的7個(gè)抄襲的java文件(PolicyNodeImpl.java, AclEntryImpl.java, AclImpl.java, GroupImpl.java, OwnerImpl.java, PermissionImpl.java 和 PrincipalImpl.java)都屬于源代碼里的測(cè)試分支。任何程序員都不會(huì)將測(cè)試代碼放到最終發(fā)布的產(chǎn)品里。這些測(cè)試代碼都是內(nèi)部測(cè)試之用,以確保軟件發(fā)布前的質(zhì)量。

然后是另外一組的37個(gè)抄襲文件,他們確實(shí)被打包成一個(gè)叫做MMAPI.zip的文件里了,并為了對(duì)某個(gè)類型的芯片組進(jìn)行支持而進(jìn)入了音頻驅(qū)動(dòng)原生代碼庫(kù)里。這其實(shí)是值得深入挖掘的部分,但仔細(xì)檢查之后你會(huì)發(fā)現(xiàn)這些文件也并未隨Android發(fā)布出來(lái),Google里確實(shí)有人開始不小心將它們放進(jìn)了最終代碼里,但后來(lái)都刪除了。

再說(shuō)說(shuō)第一組的7個(gè)文件,他們都是Sun發(fā)布在自己網(wǎng)站上的,幫助開發(fā)者測(cè)試自己的代碼debug之用。但有Android或Harmony開發(fā)者用他們反編譯并重建之,而不是直接用了Sun提供的代碼。之后還在文件頭部錯(cuò)誤的粘帖上了Apache的授權(quán),可能是自動(dòng)的腳本吧。但畢竟他們沒(méi)有隨最終的Android發(fā)布出來(lái)。

PolicyNodeImpl.java這個(gè)文件在2010年10月30日從源代碼樹里刪除,另外6個(gè)Java文件則在2011年1月14日被刪除,刪除這些文件的開發(fā)者Dan Bornstein給出的注釋是“刪除無(wú)意義的測(cè)試”。

是,Google確實(shí)在Android里抄襲了Java的代碼,但可能都屬于兩次錯(cuò)誤的操作,而且這些抄襲代碼都沒(méi)進(jìn)入最終發(fā)布的Android里,所以怎么說(shuō)呢?情節(jié)還不算嚴(yán)重吧。人民群眾可以理解所謂的“不小心”或“臨時(shí)工所為”,但Oracle可不是善茬兒,它可能理解Google嗎?