Oracle最初告Android代碼里侵犯了他們旗下Java知識產權的時候,大多數不明真相的圍觀群眾都是站在Google這一邊的,畢竟Oracle蠻橫不講理慣了嘛. 但是,這次我們還真是當了不明真相的圍觀群眾了,美國專利博 ... Oracle最初告Android代碼里侵犯了他們旗下Java知識產權的時候,大多數不明真相的圍觀群眾都是站在Google這一邊的,畢竟Oracle蠻橫不講理慣了嘛.
但是,這次我們還真是當了不明真相的圍觀群眾了,美國專利博客網站FOSS Patents周五撰文稱,在Android 2.2的源代碼中發現了43個與Java代碼中完全相同的文件.FOSSpatents博客是專門研究分析科技侵權案件的,他們今天拋出了一枚重磅炸彈:他們發現至少有43個Android源文件是直接從Java的代碼里復制/粘帖過來的(如下圖)!
任何人都可以從網上下載到Android 2.2的代碼并對其檢測.該博客作者弗洛安.穆勒(Florian Mueller)稱,他發現Android中43份文件代碼與Java 2標準版第5版中的代碼完全相同.其中部分代碼甚至還清楚地被Sun表明為"專有/機密".
穆勒稱,"不管這些代碼屬于私有還是GPL協議,都不應該被甲骨文之外的第三方以Apache開源協議公布出來."
當你發現37個Android源文件里都有Oracle/Java標記為"私有/機密"以及"不要發布"字樣,而且至少有6個以上的 Android 2.2 Froyo和Android 2.3 Gingerbread代碼都是從Java 2 Standard Edition反編譯出來并在沒有得到授權的情況下重新通過Apache開源授權再發布出來的時候,你用腳趾頭也想的出到底Android是不是侵權了. 沒錯,Google就是直接復制了Oracle的Java代碼,粘帖上新的授權,發布出來.
不過這些復制的代碼似乎都是測試之用的,還談不上太嚴重,但是抄了還是抄了,Oracle應該不會大事化小的.
兩個疑點
關于Florian Mueller發布的關于Android抄襲Java代碼的文章里,存在兩個疑問.
首先是第一組的7個抄襲的java文件(PolicyNodeImpl.java, AclEntryImpl.java, AclImpl.java, GroupImpl.java, OwnerImpl.java, PermissionImpl.java 和PrincipalImpl.java)都屬于源代碼里的測試分支.任何程序員都不會將測試代碼放到最終發布的產品里.這些測試代碼都是內部測試之用,以確保軟件發布前的質量.
然后是另外一組的37個抄襲文件,他們確實被打包成一個叫做MMAPI.zip的文件里了,并為了對某個類型的芯片組進行支持而進入了音頻驅動原生代碼庫里.這其實是值得深入挖掘的部分,但仔細檢查之后你會發現這些文件也并未隨Android發布出來,Google里確實有人開始不小心將它們放進了最終代碼里,但后來都刪除了.
再說說第一組的7個文件,他們都是Sun發布在自己網站上的,幫助開發者測試自己的代碼debug之用.但有Android或Harmony開發者用他們反編譯并重建之,而不是直接用了Sun提供的代碼.之后還在文件頭部錯誤的粘帖上了Apache的授權,可能是自動的腳本吧.但畢竟他們沒有隨最終的Android發布出來.
PolicyNodeImpl.java這個文件在2010年10月30日從源代碼樹里刪除,另外6個Java文件則在2011年1月14日被刪除,刪除這些文件的開發者Dan Bornstein給出的注釋是"刪除無意義的測試".
是,Google確實在Android里抄襲了Java的代碼,但可能都屬于兩次錯誤的操作,而且這些抄襲代碼都沒進入最終發布的 Android里,所以怎么說呢?情節還不算嚴重吧.人民群眾可以理解所謂的"不小心"或"臨時工所為",但Oracle可不是善茬兒,它可能理解 Google嗎?
轉載于:https://www.cnblogs.com/521taobao/archive/2012/03/17/2402500.html