有時網上一些十足荒謬的言論會讓我們無語。而且特別是當像Engadget這樣享有一定知名度的網站發出這樣的信息并當作圣經似的反復傳唱時。“Google抄襲了Oracle的java代碼,并把它們賦予新的許可證,當作產品發布,”今天早上他們就這樣說。很遺憾,這并不是實話。
事情起源于Florian Mueller 寫的一篇文章,事實上他既不是律師也不是懂開發的,盡管他在電視上想扮演這樣的角色。我下載并檢查了所有他提到的文件,以我一個專業開發人員的知識對這些代碼進行了分析,得出了跟Mueller的觀點完全不同的結論。下面就是我的發現:
有兩部分文件有問題。第一部分的七個文件(PolicyNodeImpl.java, AclEntryImpl.java, AclImpl.java, GroupImpl.java,OwnerImpl.java, PermissionImpl.java, and PrincipalImpl.java)位于源代碼樹的單元測試區域。任何做開發的都會告訴你,單元測試是不會和產品一起發布的。單元測試只是一種內部使用的、在產品發布之前確保軟件質量的工具而已。
第二部分的37個文件實際上是被打包成了一個叫 MMAPI.zip 的文件,放在某個目錄下專門為某種芯片組提供的本地音頻解碼驅動。Florian 該認真的研究一下這個。我復查了這些編譯文件,很顯然這些文件并沒有包含在Android的產品包里。有人把它們誤傳到了代碼庫里,其實都該直接把它們刪掉。
我在第一部分的7個文件里還發現了一個奇怪的事情。Sun把這些文件公布在網上是要幫助開發人員進行調試、測試他們的代碼。出于某種原 因,Android和Harmony開發者把它們反編譯了出來,然后再編譯回去,他們并沒有直接使用Sun提供的代碼。后來,有人錯誤的把Apache許 可信息錯誤的加到了這些文件的開始處,也許是用的某種自動腳本生成的。這就是所謂的大陰謀嗎?那把它們替換為Sun的帶有正確注釋的原始文件吧。或者直接 刪掉它們,畢竟它們是不跟Android一起打包發布的。
更新:我發現Google已經注意到了這些文件。 2010年10月30日 PolicyNodeImpl.java 這個文件已經從源代碼庫中刪除了,另外一些刪除于2011年1月14日。開發人員 Dan Bornstein 留下的操作提示是“刪除無用的測試”。但你仍然可以從歷史記錄里查看老的版本。
很遺憾,當 Engadget 和 Mueller 這樣聳人聽聞的文章中互聯網上瘋狂傳閱、被讀者留下了成百上千條評論時,乏味的事實真相卻無人問津。本文是從 Oops: No copied Java code or weapons of mass destruction found in Android 這篇文章翻譯而來。 編譯/外刊IT評論
進入論壇>>推薦閱讀
據國外媒體報道,微軟日前對其前任高管MattMiszewski提起訴訟,稱其涉嫌盜取公司云計算策略計劃等材料,并將其提供給新就職的公司Salesforce.com,而該公司正是微軟在CRM的最大競爭對手。 2月12日消息,據國外媒體報>>>詳細閱讀
本文標題:谷歌Android被指抄襲Oracle的Java引發爭議
地址:http://www.sdlzkt.com/a/xie/20111230/186692.html

網友點評
精彩導讀
科技快報
品牌展示