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