繼一加疑似違反 GPL 協(xié)議,遲遲不公布 OxygenOS 12 源代碼惹怒網(wǎng)友后,小米也因一直不公布各類設(shè)備的 Android 12 內(nèi)核源代碼引發(fā)網(wǎng)友不滿,有網(wǎng)友犀利指出:這怕是受到了一加的啟發(fā)!
歷史總是驚人的相似
2022年6月底,在一加遭開發(fā)者質(zhì)疑其違反GPL協(xié)議后不到一個月,又有開發(fā)者在GitHub發(fā)表了對小米違反GPL協(xié)議的質(zhì)疑。一名開發(fā)者率先在 GitHub 上發(fā)聲:“我們可以看到 venus-s-oss 的源代碼嗎?第一個 SKBMIXM 已經(jīng)在2021年 10 月發(fā)布,我們?nèi)匀辉诘却创a,包括其他已經(jīng)得到 Android 12 更新的設(shè)備?!?/p>
還有開發(fā)者憤怒地表示,他已經(jīng)在 GPL 上報告了此事,同時忿忿不平地說道:“這簡直是恥辱!他們在賺錢,卻一次又一次地不公布來源。通過抄襲別人的工作來獲利,卻不給任何回報,真是聰明的生意。他們已經(jīng)有幾個月沒有更新大多數(shù)設(shè)備了?!?/p>
發(fā)布新產(chǎn)品不是延期開源的理由
事實上,早在 2015 年,XDA 開發(fā)者論壇專門發(fā)表了文章譴責(zé)小米多次違反 GPLv2 開源條例(https://www.xda-developers.com/gplv2-and-its-infringement-by-xiaomi/)。盡管Android系統(tǒng)采用的是 Apache 2.0 許可證,但是由于 Android 使用了遵守 GPLv2 許可的 Linux 內(nèi)核,根據(jù) GPLv2 許可證的授權(quán)要求,所有 Linux 衍生版本修改后的源代碼必須公開。
小米原本承諾在2014年10月承諾將會在數(shù)周內(nèi)釋出小米3的內(nèi)核源代碼,但到2015年1月小米仍然沒有公開。小米的解釋是內(nèi)核源代碼包含了大量用于當(dāng)時即將推出的兩款新設(shè)備(即兩款小米Note)的代碼,所以暫時不能公開。但XDA認(rèn)為這個理由并不能證明他們延期釋出源代碼的行為是正當(dāng)?shù)摹?/p>
主流開源許可證的區(qū)別
看到這里,或許有人該問了,不是說 Android 系統(tǒng)采用的是 Apache 2.0 許可證,那為何違反的是 GPL 許可證呢?上述事件中涉及到的兩個許可證究竟有何差別?
近幾年來,開源呈現(xiàn)欣欣向榮之勢,然而據(jù) CSDN《2021-2022 中國開發(fā)者調(diào)查報告》數(shù)據(jù)顯示,盡管目前已有 94% 的開發(fā)者使用開源軟件,但近 30% 開發(fā)者并不了解開源協(xié)議,60% 對于主流開源協(xié)議如 GPL 與 Apache 開源協(xié)議的區(qū)別并不清楚。
正如上文事件中所說,Android 操作系統(tǒng)使用的是更寬松的 Apache 許可而并非 GPL 許可。Apache 許可相對于 GPL 許可而言較為寬松,本身并不要求將修改后的代碼再次開源,因此在傳遞性上并不像 GPL 一般具有“傳染性”,而僅僅要求必須在軟件中包含自己的許可證。
因此更自由的 Apache 可以允許許多廠商在原來的代碼基礎(chǔ)上進(jìn)行大量的調(diào)整、改進(jìn)及功能增強(qiáng),同時對這些改進(jìn)不做開源處理。而這也是小米和其它 OEM 廠商所做的事情。但是要注意的是,Android 也是基于 Linux 內(nèi)核開發(fā),而 Linux 使用的是更為嚴(yán)格的 GPLv2 許可。因此只要使用到了 Linux 內(nèi)核,就必須要讓軟件履行 GPLv2 許可下的要求。
近些年,違反開源許可而導(dǎo)致被起訴的案件可謂是屢見不鮮。去年 9 月,作為我國首個明確 GPL3.0 協(xié)議法律效力的“羅盒風(fēng)靈案”,法院指出 GPL 3.0 協(xié)議是一種民事法律行為,具有合同性質(zhì),屬于我國《合同法》調(diào)整的范圍。而今年 5 月,軟件自由保護(hù)協(xié)會(SFC)起訴智能電視生產(chǎn)商 Vizio 違反 GPL 協(xié)議,美國法院的判決同樣明確了 GPL 協(xié)議既作為自由軟件許可,同時具有合同效用。
由此看來,違反開源協(xié)議的負(fù)面影響不僅僅是引發(fā)負(fù)面輿論、影響公司形象這么簡單。如若不加注意,可能還會帶來法律風(fēng)險。所有用戶和開發(fā)者都有權(quán)力要求公開該內(nèi)核的源代碼,截至目前,小米暫未對此事做出回應(yīng)。