如何評價 Xposed 作者指責 MIUI 使用其代碼而不提供 Licence 違反 Apache Licence? | 知乎問答精選

 

A-A+

如何評價 Xposed 作者指責 MIUI 使用其代碼而不提供 Licence 違反 Apache Licence?

2017年05月14日 知乎問答精選 暫無評論 閱讀 35 ℃ 次

【羅晟的回答(162票)】:

更新:

找到了 Xposed 的作者 rovo89 之前在小米論壇上發的帖子 Where does MIUI give credit for their Xposed fork? (防刪,已備份)

原來小米之前「fork」出來的項目叫 DexSpy,這個項目連源代碼也沒有注 Xposed 的署名。還將所有出現 Xposed 的地方替換成了 DexSpy。

這就近乎無恥了。

-----------------------------

原回答:

Apache License 2.0 裡 4.(d) 關於再分發的條款大意如下:

如果原作品中有 NOTICE 這個文本文件,那麼所有再分發的衍生作品中必須至少以下列形式之一包含 NOTICE 文件中所提到的署名:

  • 作為衍生作品的一部分,以 NOTICE 文本形式標明
  • 如果衍生作品帶源碼以及文檔,以源碼或者文檔的形式標明
  • 在衍生作品通常用來展示第三方通告的地方以畫面形式呈現(within a display)

署名(attribution)指的是對版權方身份(通常為作者名字)的 acknowledgement(「認可」,但也有人按「致謝」一意理解)。而衍生作品指的是所有基於原作品產生的作品,無論是源代碼形式還是對像形式。Xposed 從自第一個 commit 開始就帶了 NOTICE 文件。也就是說,MIUI 作為 Xposed 的一個對像形式(Object form)的衍生作品,需要以類似下圖的形式標注 Xposed 的署名:

上圖為 iBooks 所包含的 acknowledgements。上圖為 iBooks 所包含的 acknowledgements。

當然 MIUI 要說我就在發佈的操作系統裡扔一個 NOTICE 文件行不行,按 license 理解似乎也沒問題,可特麼誰看得到啊。再說,MIUI 這麼做了嗎?

僅把自己的修改放在 Github 上並表明是從 Xposed fork 而來是不夠的。代碼本身是 Xposed 的衍生作品,而包含 Xposed 的 MIUI 同樣也是 Xposed 的衍生作品。來,我們 4.(d) 再看一遍:

If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file…

就這樣你們也好意思說「請問哪裡不符合 Apache License」嗎?

還有噁心到我的一點是,小米公司的員工口口聲聲號稱自己把修改開源放在 Github 上,感覺自己一直很光明正大的樣子,事實上呢?

這個是他們 fork 出來的 repository: MiCode/Xposed · GitHub,圖中可以看出來的信息是自從 fork 以後只進行了一次 commit (1 commit ahead, 7 commits behind),並且 commit 的時間是今年的 4 月 29 號。

但實際上這個 commit 是 15 個小時前(現在是北京時間 2014.08.29 11:56)才 push 到 github 上的。

「我們將修改後的代碼開源」的真正含義是「我們在媒體報道後才將修改後的代碼開源」。

【rlei的回答(30票)】:

Apache License 2.0確實不要求衍生作品開源,但是有明確提到:

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

  1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
  2. You must cause any modified files to carry prominent notices stating that You changed the files; and
  3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
  4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

就是說不管你開不開源,你分發的產品裡都要保留Apache License文本(例如像Google在Android的About的Legal Information裡專門詳細列明的)。更進一步的,如果使用的原作品自帶了NOTICE文件,其內容也應該在分發時提供——這就是為啥Xposed作者要專門提到小米修改NOTICE——因為標準的APL文本裡面可能不包括作者的信息,因而有的作者選擇在NOTICE裡自豪的聲明自己的credit,專門把這個抹掉當然會激怒原作者(如果rovo89所說屬實)。

小米在這種事情上的作為給人的感覺是:

  1. 公司缺乏從上到下形成共識的知識產權觀念(這筆賬隨著小米往外走總是要還的),可能有的人知道,有的人不知道;有的人care,有的人完全不care
  2. 拋開法律不談,有些程序員本身也缺乏對自己同行和自己職業的最起碼的尊重——你用了別人的東西,又不要你給錢,又不要你公開衍生產品的源碼,就保留個別人的名字都辦不到?
  3. 不管是個別人的行為還是系統性的行為,出這種事都是影響小米作為一個公司的整體形象。

【知乎用戶的回答(41票)】:

小米繼不肯提供linux內核源碼後的另一個作死舉動

@輕颺 所說,按照Apache2.0許可提供原作者署名

但是它在海外有業務,會被迫做出正確的反饋的

【曹一聰的回答(12票)】:

喜歡折騰Android的同學應該對Xposed並不陌生,套用貼吧裡的一句話,就是:Xposed 框架是一款可以在不修改APK的情況下影響程序運行(修改系統)的框架服務,基於它可以製作出許多功能強大的模塊,且在功能不衝突的情況下同時運作。

這次MIUI犯的錯並不新鮮,國內的商業軟件默不作聲地使用開源代碼這種事情發生的還少嗎?

  • QQ影音涉嫌違反開源協議背後深思:誰來保護開源
  • 迅雷斷臂上市:盜版紅利消失 仍存在版權風險
  • 「綠壩」被曝盜用國外開源技術
  • 麒麟官方承認非獨立研發 採用FreeBSD代碼

【這裡明明是一個暴漫表情的,知乎總提示上傳失敗外鏈也不行,表怪我,親們自行腦補吧】

你?在逗我

不,我不是在吐槽,其實舉例之前我也不確定,不過我用Google百度了一下之後發現原來真!的!有!這!麼!多!啊……然後呢,然後你以為我就會把這個問題歸罪於國內版權立法不完善然後譴責一下國人的版權意識不足就把自己置於道德的制高點上了嗎?不你錯了,我不僅僅是來吐槽的~ ~ ~ ~

我想有不少同行跟我一樣(說的就好像我已經畢業了23333333),從小就立志做一名能夠用雙手改變世界的程序員(為什麼我感受到了一絲猥瑣),然後當我們入行已久,發現距離自己兒時的期待卻越來越遠。我們每天敲打著鍵盤,卻不知這些代碼能給這個世界帶來什麼,每個產品都會漸漸老去,即便經典如同Windows XP。但XP為這世界創造出無數美好,而我們寫過的代碼,過去這麼多年留下了啥呢?為什麼我們編寫的程序每個功能點技術點都要符合客戶變態的要求,為什麼我們為公司裡龐大的系統構建一個小小的齒輪卻看不見這輛大車行駛的方向?其實在大學時代(好像我本來就還在大學時代哎╮(╯▽╰)╭),當我們為了參加比賽苦苦的思索能博得指導老師和評委老師喜愛的題目時,當我們為了符合某某比賽的各種要求添加一些無病呻吟的功能時,當我們為了趕上Deadline不惜在編程的時候偷工減料犧牲代碼的美感甚至Copy別人的代碼時——咦,我們終於繞回今天的主題了,為什麼大公司的軟件紛紛默不作聲的抄襲開源呢?難道實際上把代碼Copy過來的是公司而不是我們自己嗎?

回想起來,的確有不少時候我們(請不要帶上「們」字)為了解決問題時直接把Stackoverflow上的代碼直接粘貼到我們的工程裡,的確有時我們會學習和借鑒別人的代碼。但這並沒有錯啊,錯的是當我們習慣了粘貼、習慣了借鑒、習慣了以最低的成本完成上面交代的任務的時候,我們已經違背了我們選擇用編程來改變命運的初心了。而討論MIUI抄襲Xposed到底錯在哪裡,我覺得並不會為我們日後的工作和生活帶來什麼改變,否則如果早在我們譴責龍芯所做的工作就是打磨掉摩托羅拉的Logo的時候就能做出改變,現在還輪得到這事兒發生?

我們為什麼要編程(咦,好像終於繞回標題了耶,終於快寫完了,可以吃 早午飯 咯)呢?懷著對C、對Linux、對開源世界的崇拜の種種,我們當初難道不是想去創造出更有價值、甚至能流芳幾年的東西嗎?

但生活壓力,為了養活一家幾口,我們不得不這麼做,提早完成任務趕上Deadline,作為被壓搾的苦命程序員,在每天因為趕不上Deadline而挨批的時候,抄幾句開源的程序有錯嗎?我們倒是想在程序裡致謝了,可是作為一名渺小的碼農,你們有理會過我們的請求嗎?為什麼要怪罪於碼農(剛才是誰說「實際上完成Copy」的人是我們自己來著)?

有人說,當我們無力去改變這個社會的時候,不如就改變自己來適應這個社會吧。的確,生活所迫我們有時不得不做出一些掉節操的事情,但我想只要我們不要忘記初心,並且在虔誠祈禱的同時不忘去不斷實現我們當初所立下的誓言,上蒼是會原諒我們的。

其實,學生時代遠遠犯不上為了競賽而選擇自己不喜歡的題目,為什麼不為了自己做一個產品呢,然後拿去參加比賽,不為獲獎,只為當你在答辯時能驕傲的面對台下評委說「我們的產品,不是老師分配的題目、也沒有在學校立項,更沒有照抄別人的產品,它是我們懷著最大的誠意,為我們自己製作的一款產品」。如果學生時代真有這麼一款為了自己而開發的產品,我想也值了。如果面試的時候哪家公司還是更看重於你所獲的獎項,那我覺得,不如放棄這家公司,你還有更好的選擇。

至於,工作以後會怎麼樣,開學後剛剛讀大三的我,是做不出像樣的預言的。在這裡,只能為工作了的親們送出最大的祝福,祝你們所做的工作也恰好是你們當初的理想,你們所開發的產品即便是放到公司之外也能發揮它最大的價值。

就醬。

圖片來源:數字尾巴、暴走漫畫

其實這也是我的一篇博文,看到知乎也在討論這個問題就直接粘過來啦,雖然有點跑題,但這不妨你們用郵箱來訂閱我的博客Yicong.me 不是嘛?

【林小小的回答(0票)】:

開源系統肯定100%也有版權。

【知乎用戶的回答(0票)】:

小米又不是第一次幹這種事了。人家偷竊習慣了的。

按照協議,小米還必須公開MIUI的內核源碼呢,看看有幾個機型公開了?

【孫勝傑的回答(7票)】:

這是miui的一貫作風,早期不就是這麼幹的嗎?

【潑墨的回答(2票)】:

以前我認為開源就是免費的,沒有版權限制的。

為了這個問題我又去百度了一下,才知道開源系統貌似也有版權。

開源系統_百度百科

開源軟件也是有版權的 違規同樣要受罰_Linux新聞_Linux公社-Linux系統門戶網站

另外附上:

自由軟件_百度百科

免費軟件_百度百科

【知乎用戶的回答(2票)】:

我說小米的對齊喚醒怎麼實現的,原來是這樣

【徐潔雲的回答(25票)】:

Apache License是開源中最松的License,並沒有要求使用者將修改後的代碼開源,我們將修改後的代碼開源在github.com/micode上了,裡面也包含了明確的license說明是從xposed修改而來的。

另,miui 6之後都不會使用xposed框架。

怎麼說呢,回答問題前認真研究下先嘛……

利益相關: 小米職員,MIUI喉舌。

標籤:-小米科技 -米柚(MIUI) -XposedFramework


相關資源:





給我留言