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

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

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

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

 

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

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


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

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

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

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

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

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