奧推網

選單
科技

小米屢次違反GPL協議,疑成“慣犯”!

整理 | 彭慧中 責編 | 屠敏

出品 | CSDN(ID:CSDNnews)

繼一直不公佈各類裝置的 Android 12 核心原始碼引發網友不滿,有網友犀利指出:這怕是受到了一加的啟發!

圖源GitHub

歷史總是驚人的相似

2022年6月底,在一加遭開發者質疑其違反GPL協議後不到一個月,又有開發者在GitHub發表了對小米違反GPL協議的質疑。一名開發者率先在 GitHub 上發聲:“我們可以看到 venus-s-oss 的原始碼嗎?第一個 SKBMIXM 已經在2021年 10 月釋出,我們仍然在等待原始碼,包括其他已經得到 Android 12 更新的裝置。”

還有開發者憤怒地表示,他已經在 GPL 上報告了此事,同時忿忿不平地說道:“這簡直是恥辱!他們在賺錢,卻一次又一次地不公佈來源。透過抄襲別人的工作來獲利,卻不給任何回報,真是聰明的生意。他們已經有幾個月沒有更新大多數裝置了。”

釋出新產品不是延期開源的理由

事實上,早在 2015 年,XDA 開發者論壇專門發表了文章譴責小米多次違反 GPLv2 開源條例(https://www。xda-developers。com/gplv2-and-its-infringement-by-xiaomi/)。儘管Android系統採用的是 Apache 2。0 許可證,但是由於 Android 使用了遵守 GPLv2 許可的 Linux 核心,根據 GPLv2 許可證的授權要求,所有 Linux 衍生版本修改後的原始碼必須公開。

圖源XDA 開發者論壇

小米原本承諾在2014年10月承諾將會在數週內釋出小米3的核心原始碼,但到2015年1月小米仍然沒有公開。小米的解釋是核心原始碼包含了大量用於當時即將推出的兩款新裝置(即兩款小米Note)的程式碼,所以暫時不能公開。但XDA認為這個理由並不能證明他們延期釋出原始碼的行為是正當的。

主流開源許可證的區別

看到這裡,或許有人該問了,不是說 Android 系統採用的是 Apache 2。0 許可證,那為何違反的是 GPL 許可證呢?上述事件中涉及到的兩個許可證究竟有何差別?

近幾年來,開源呈現欣欣向榮之勢,然而據 CSDN《2021-2022 中國開發者調查報告》資料顯示,儘管目前已有 94% 的開發者使用開源軟體,但近 30% 開發者並不瞭解開源協議,60% 對於主流開源協議如 GPL 與 Apache 開源協議的區別並不清楚。

正如上文事件中所說,Android 作業系統使用的是更寬鬆的 Apache 許可而並非 GPL 許可。Apache 許可相對於 GPL 許可而言較為寬鬆,本身並不要求將修改後的程式碼再次開源,因此在傳遞性上並不像 GPL 一般具有“傳染性”,而僅僅要求必須在軟體中包含自己的許可證。

因此更自由的 Apache 可以允許許多廠商在原來的程式碼基礎上進行大量的調整、改進及功能增強,同時對這些改進不做開源處理。而這也是小米和其它 OEM 廠商所做的事情。但是要注意的是,Android 也是基於 Linux 核心開發,而 Linux 使用的是更為嚴格的 GPLv2 許可。因此只要使用到了 Linux 核心,就必須要讓軟體履行 GPLv2 許可下的要求。

近些年,違反開源許可而導致被起訴的案件可謂是屢見不鮮。去年 9 月,作為

由此看來,違反開源協議的負面影響不僅僅是引發負面輿論、影響公司形象這麼簡單。如若不加註意,可能還會帶來法律風險。所有使用者和開發者都有權力要求公開該核心的原始碼,截至目前,小米暫未對此事做出迴應。

參考資料:https://github。com/MiCode/Xiaomi_Kernel_OpenSource/issues/2506