說到開源協(xié)議辩涝,必須先簡單介紹一下自由軟件這個詞。根據(jù)百科的解釋勘天,自由軟件是一種可以不受限制地自由使用怔揩、復(fù)制、研究脯丝、修改和分發(fā)的軟件商膊。注意,自由并不代表著免費(fèi)宠进。正是這種開放晕拆、開源的精神,計算機(jī)軟件才得以如此飛快地發(fā)展。
而開源協(xié)議实幕,或者叫開源許可證吝镣,就是為保護(hù)自由軟件原作者的相關(guān)知識產(chǎn)權(quán),在作者與用戶之間設(shè)立的一種虛擬合同昆庇,或者稱之為授權(quán)方式末贾。其中的條款內(nèi)容,就是用來限制軟件使用者的使用方式等整吆。他人如有違反協(xié)議拱撵,作者有權(quán)利發(fā)起訴訟,維護(hù)自身權(quán)益表蝙。
開源屆定義有幾百種不同的開源協(xié)議拴测,寬松程度不一,用以滿足開源項(xiàng)目的各種使用場景府蛇。比如集索,是否允許商用,是否允許修改汇跨,修改后是否需要繼續(xù)開源抄谐,開源是否必須繼續(xù)使用相同協(xié)議授權(quán)等。
不過扰法,作為普通用戶,無論你是作為開源作者造輪子毅厚,還是作為普通用戶借輪子塞颁,我們只需要知道比較流行的那幾種,并能夠加以區(qū)分即可吸耿。否則祠锣,上百種協(xié)議真要細(xì)分的話,絕非易事咽安。
早期一名烏克蘭程序員畫有一張分析圖伴网,簡單明了地描述出六種流行開源協(xié)議的使用區(qū)分。阮一峰老師翻譯如下:
更簡單點(diǎn)的話妆棒,也可以參考來自 GcsSloop 博文的這張圖澡腾,更加通俗易懂:
更多的開源協(xié)議,我們還可以參考這張圖:
不難發(fā)現(xiàn)糕珊,基本上出名的開源項(xiàng)目根目錄中都有一個協(xié)議文件:LICENSE.txt动分,而在 README.me 說明文件底部伴隨著 License 內(nèi)容。這就是你需要留意的地方红选,使用任意開源項(xiàng)目之前澜公,記得閱讀一下該項(xiàng)目的開源協(xié)議。
市場上部分 App 也會在應(yīng)用中增加第三方開源項(xiàng)目時的使用版權(quán)說明喇肋,比如支付寶安卓版坟乾。這也是一種查看優(yōu)秀 App 都使用哪些開源項(xiàng)目的途徑之一迹辐。
比如,大名鼎鼎的 Linux 系統(tǒng)采用便是 GPL 協(xié)議甚侣;作為安卓程序員明吩,我們當(dāng)然知道,我們賴以生存的 Android 開源系統(tǒng)渺绒,其內(nèi)核采用的就是 Linux 內(nèi)核贺喝。