從首位 00 后 CEO 被指抄襲,聊聊開(kāi)源協(xié)議
近日,一位自稱『中國(guó)首位 00 后 CEO』的 17 歲少年,李昕澤因?yàn)橐欢螌TL短視頻,一下在 IT 界火了。
而在昨日,李昕澤 所在的 崇才網(wǎng)絡(luò)科技 發(fā)布的一款產(chǎn)品:貓桌面(智能電視桌面),被 CSDN 博客專家、Android 開(kāi)發(fā)者『墨鏡貓』所指抄襲。
原文地址在這里,大家有興趣可以看看:http://blog.csdn.net/rain_butterfly/article/details/77847643
事情簡(jiǎn)單來(lái)說(shuō),崇才網(wǎng)絡(luò)科技 發(fā)布的 TV端 App 產(chǎn)品 貓桌面,和『墨鏡貓』之前在 Github 上開(kāi)源的一款 AndroidTVLauncher (名稱也叫 貓桌面),從UI到實(shí)現(xiàn),都是一模一樣的,才引發(fā)了現(xiàn)在的抄襲問(wèn)題。
而在這件事情發(fā)生的當(dāng)晚,我去看了下『墨鏡貓』開(kāi)源的 AndroidTVLauncher ,它在昨天已經(jīng)將開(kāi)源協(xié)議從 Apache License 2.0 修改成了 GNU GPL v3,并且在 commit 里表達(dá)了作者的憤怒。

從 commit 的記錄來(lái)看,作者依然是在努力維護(hù)這個(gè)庫(kù)的,最近才增加了對(duì) kotlin 的支持。
而對(duì)于抄襲的事情,大多數(shù)同學(xué)都是聲援的態(tài)度,但是在看了作者的開(kāi)源協(xié)議之后,我有點(diǎn)犯難了。
從開(kāi)源協(xié)議來(lái)看,這里涉及到兩個(gè)協(xié)議:
- Apache License 2.0
- GNU GPL v3
下圖是從 @GcsSloop 的博客中 Copy 出來(lái)的,可以清晰的說(shuō)明這兩個(gè)協(xié)議的特點(diǎn)。
Apache License 2.0 本身是一個(gè)比較寬泛的協(xié)議,使用者可以在需要的時(shí)候修改代碼并且將它封裝成產(chǎn)品發(fā)布/銷(xiāo)售,而這只需要增加一個(gè)開(kāi)源說(shuō)明即可。
而 GNU GPL v3 就相對(duì)嚴(yán)格一些,它要求使用它的程序,也遵照 GNU GPL v3 協(xié)議。
說(shuō)說(shuō)我的看法
首先,代碼最初使用的是 Apache License 2.0 協(xié)議,本身就可以讓使用者修改并且商用,前提是在代碼中附帶一份原協(xié)議。
使用者不能打著作者的名號(hào)做商業(yè)宣傳,并且原作者在不承擔(dān)代碼使用后的風(fēng)險(xiǎn)的同時(shí),也放棄了這段代碼被商用后的收益。也就是說(shuō),別人在原本代碼的基礎(chǔ)上,修改的好或者推廣的好,那是別人能力的表現(xiàn),這部分收益是可以不和原作者相關(guān)的(不排除使用者獲益之后饋贈(zèng)原作者的)。
到現(xiàn)在來(lái)看,撇來(lái)需要附帶一份原協(xié)議這一點(diǎn)來(lái)看,使用者完全是遵循的 Apache License 2.0 的協(xié)議。(唯一可能有問(wèn)題的是應(yīng)該改改名稱和圖片資源,再上 PPT)
而原作者的代碼,也并非 100% 原創(chuàng)的,它是一款基于 android.support.v17.leanback 的庫(kù)來(lái)做的二次開(kāi)發(fā),而 Leanback 是 Google 為 Android TV 做的一款支持庫(kù),本身也是基于 Apache License 2.0 開(kāi)源協(xié)議的。
Leanback 我自己也用過(guò),并且用它開(kāi)發(fā)過(guò)商業(yè)產(chǎn)品,現(xiàn)在已經(jīng)上線盈利。AndroidTVLauncher 中的很多效果和實(shí)現(xiàn),都是 Leanback 原生 Api 支持的,并沒(méi)有做太多大的改動(dòng)。所以這里對(duì) AndroidTVLauncher 在原有庫(kù)的基礎(chǔ)上,改動(dòng)的價(jià)值,就不太好做評(píng)判(畢竟我沒(méi)有看過(guò) AndroidTVLauncher 的代碼)。
再來(lái)說(shuō)說(shuō),作者昨天緊急修改了一波協(xié)議,這其實(shí)并沒(méi)有什么實(shí)質(zhì)的作用。因?yàn)楸旧?GPL 只是要求使用者也需要開(kāi)源并且保持 GPL 協(xié)議,我想對(duì)于 崇才網(wǎng)絡(luò)科技 的人來(lái)說(shuō),開(kāi)源就開(kāi)源唄。而且他們也是可以在之前代碼的基礎(chǔ)上進(jìn)行修改,之前的代碼依然保持 Apache License 2.0 的協(xié)議,這是一旦授予,無(wú)法撤銷(xiāo)的。
做開(kāi)源,先擺好心態(tài)
很多人將自己的代碼放在 Github 上開(kāi)源,本身就是為了推廣自己,對(duì)于一些小而美的開(kāi)源代碼(例如:控件、動(dòng)畫(huà)等),其實(shí)心態(tài)還算平和,用就用了唄,而且應(yīng)該是越多商業(yè)應(yīng)用在用,作者就越高興,覺(jué)得是一種認(rèn)可。
可對(duì)于一些完整的 App 的開(kāi)源。當(dāng)發(fā)現(xiàn)別人使用自己的代碼進(jìn)行商用,并且推廣的還不錯(cuò),就心里有點(diǎn)不平衡了。
但是實(shí)際上,當(dāng)你把代碼放到 Github 上,等待被人 start 、fork 的時(shí)候,就應(yīng)該做好開(kāi)源的心態(tài)。而如果不想被商用,開(kāi)源的那一刻就應(yīng)該想清楚應(yīng)該采用的協(xié)議,否者事后跳出來(lái)說(shuō)使用者抄襲,這就有點(diǎn)不太厚道了。
正確的理解開(kāi)源協(xié)議
***還是在做開(kāi)源之前,理解一下開(kāi)源協(xié)議,選擇一個(gè)適合自己的。
下圖是 @阮一峰 博客里繪制的一個(gè)開(kāi)源協(xié)議的中文分析圖,供大家參考。
并且還有一個(gè)網(wǎng)站也非常的好,可以幫助開(kāi)發(fā)者了解應(yīng)該使用何種協(xié)議,推薦給大家。
***,還是說(shuō)一句,做開(kāi)源,心態(tài)一定要擺正。俗話說(shuō)的好:孩大不由娘。你發(fā)布出去的開(kāi)源代碼,最終衍生發(fā)展成什么,真的不是你能控制的了的。
【本文為51CTO專欄作者“張旸”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)微信公眾號(hào)聯(lián)系作者獲取授權(quán)】