【這是 ZY 第 12 篇原創(chuàng)技術(shù)文章】
身為程序員,我們不可避免的要和開源項(xiàng)目打交道,不管是我們自己做了些開源項(xiàng)目,還是使用開源項(xiàng)目,對各種開源協(xié)議的了解是必要的。
這篇文章旨在短時間內(nèi)讓讀者朋友們對常見的開源協(xié)議有了了解開源協(xié)議可以轉(zhuǎn)換嗎,在創(chuàng)建自己開源項(xiàng)目時可以靈活選用協(xié)議,在使用開源項(xiàng)目時也可以避免踩到開源協(xié)議的坑。
基于上述目的,文章篇幅不長,如果感覺不過癮,建議多讀幾遍~
文章概覽
一、OSI(Open )
OSI,開發(fā)源代碼組織,是一個旨在推動開源軟件發(fā)展的非盈利組織。目前受到 OSI 承認(rèn)的開源協(xié)議一共 83 種,具體協(xié)議可以在 OSI 官網(wǎng) 查看。
二、在 上如何添加開源協(xié)議
我們在 上創(chuàng)建一個開源項(xiàng)目時,新建一個名為 的文件時,就會彈出選擇開源協(xié)議的按鈕,我們點(diǎn)進(jìn)去就可以看到, 默認(rèn)支持的協(xié)議模板。點(diǎn)擊協(xié)議會有詳細(xì)的介紹。
我們下面就看看這幾種協(xié)議的內(nèi)容,以及在這幾種協(xié)議中如何去選擇。協(xié)議的具體內(nèi)容在這里不做解讀,因?yàn)閷?shí)在是篇幅不短,先聊聊其中的重點(diǎn)。
三、 2.03.1 關(guān)鍵詞
修改代碼需要說明
3.2 關(guān)鍵點(diǎn)需要保留原有作者的聲明如果修改了代碼,需要進(jìn)行說明不承擔(dān)責(zé)任可以新增許可,但不能對 協(xié)議造成更改3.3 商業(yè)化
可用于商業(yè)
3.4 舉個栗子
小益使用 協(xié)議開源了一個 類庫,只要小張引用類庫時保留了原作者的聲明,并對修改的源碼進(jìn)行說明,那后續(xù)項(xiàng)目開源與否,都是符合協(xié)議的。
3.5 使用此協(xié)議的開源項(xiàng)目
,
四、BSD 24.1 關(guān)鍵詞
聲明協(xié)議
4.2 關(guān)鍵點(diǎn)再發(fā)布的產(chǎn)品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協(xié)議如果再發(fā)布的只是二進(jìn)制類庫/軟件,則需要在類庫/軟件的文檔那個和版權(quán)聲明中包含原來代碼中的BSD協(xié)議4.3 商業(yè)化
允許閉源商業(yè)軟件的發(fā)布和銷售
4.4 使用此協(xié)議的開源項(xiàng)目
brew
五、BSD 35.1 關(guān)鍵詞
聲明協(xié)議
5.2 關(guān)鍵點(diǎn)
相比 BSD 2.0 新增協(xié)議如下:
不可以用開源代碼的“作者/機(jī)構(gòu)的名字”或“原來產(chǎn)品的名字”做市場推廣
5.3 商業(yè)化
允許閉源商業(yè)軟件的發(fā)布和銷售
5.4 舉個栗子
小益使用 BSD 協(xié)議開源了一個 類庫,只要小張引用類庫時保留了原作者的聲明,并對修改的源碼進(jìn)行說明,那后續(xù)項(xiàng)目開源與否,都是符合協(xié)議的。
5.5 使用此協(xié)議的開源項(xiàng)目
flask,redis,numpy
六、MIT6.1 關(guān)鍵詞
許可聲明
6.2 關(guān)鍵點(diǎn)軟件中必須包含許可聲明6.3 商業(yè)化
允許商業(yè)化
6.4 舉個栗子
小益使用 MIT 協(xié)議開源了一個 類庫,只要小張引用類庫時保留包含了許可聲明,那后續(xù)項(xiàng)目開源與否,都是符合協(xié)議的。
6.5 使用此協(xié)議的開源項(xiàng)目
vue,react,,,,axios,
七、GPL 2.07.1 關(guān)鍵詞
感染
7.2 關(guān)鍵點(diǎn)使用 / 修改 / 衍生 GPL 類庫的代碼或軟件,必須也采用 GPL 協(xié)議進(jìn)行開源項(xiàng)目開源后可以再增加其他開源協(xié)議,但是協(xié)議必須比 GPL 寬泛不提供品質(zhì)擔(dān)保,使用采用此協(xié)議的軟件產(chǎn)生的任何后果都不會負(fù)責(zé)7.3 商業(yè)化
可以用于商業(yè),但是必須開放源碼
7.4 舉個栗子
小益使用 GPL 協(xié)議開源了一個 類庫,這個時候小張做開發(fā)時,本著不重復(fù)造輪子的想法,在項(xiàng)目中引用了小益的類庫。項(xiàng)目開發(fā)完成以后,小張想把項(xiàng)目上架到 ,但是不想開源,這個時候就違反了 GPL 協(xié)議。
為了不違反協(xié)議,小張索性將項(xiàng)目開源,而在選擇開源協(xié)議的時候,小張必須選擇 GPL 協(xié)議。
GPL 的本質(zhì)就是生生不息,不斷衍生。
7.5 使用此協(xié)議的的開源項(xiàng)目
Linux,GCC,scapy
八、GPL 3.0
GPL 3.0 相比 2.0 新增了一些條例:
任何向 GPL 項(xiàng)目貢獻(xiàn)的成果將永遠(yuǎn)以 GPL 協(xié)議發(fā)行GPL 軟件設(shè)備的用戶有權(quán)更改軟件使用此協(xié)議的的開源項(xiàng)目
GIMP,Bash,
九、LGPL9.1 關(guān)鍵詞
引用類庫無需開源
9.2 關(guān)鍵點(diǎn)LGPL 允許商業(yè)軟件通過引用(link)的方式使用 LGPL 類庫,而不需要開放源代碼但是如果修改或衍生 LGPL 協(xié)議代碼,則必須采用 LGPL 協(xié)議9.3 商業(yè)化
適合商業(yè)軟件
9.4 舉個栗子
小益使用 LGPL 協(xié)議開源了一個 類庫,小張做開發(fā)時引用了此類庫。之后小張將項(xiàng)目上架到 而不開源,是沒有違反協(xié)議的。但是小張引用類庫時,是以源碼的形式引用的,那就必須要將項(xiàng)目開源了。
9.5 使用此協(xié)議的的開源項(xiàng)目
/jvm-
十、AGPL 3.010.1 關(guān)鍵詞
網(wǎng)絡(luò)交互
10.2 關(guān)鍵點(diǎn)
AGPL 在 GPL 的基礎(chǔ)上,增加了一條限制,通過網(wǎng)絡(luò)與用戶交互,也需要提供源代碼
10.3 商業(yè)化
可以用于商業(yè),但是必須開放源碼
10.4 使用此協(xié)議的開源項(xiàng)目
十一、EPL 2.011.1 關(guān)鍵詞
修改源碼需要開源
11.2 關(guān)鍵點(diǎn)修改源碼后發(fā)布需要開源軟件貢獻(xiàn)者再次將源碼開源發(fā)布時,需要使用 EPL 協(xié)議,除非得到作者授權(quán)項(xiàng)目中引用了 EPL 協(xié)議的代碼,項(xiàng)目開源時可以使用其他協(xié)議,但是引用的那部分代碼仍然需要使用 EPL 協(xié)議11.3 商業(yè)化
允許閉源商業(yè)軟件的發(fā)布和銷售
11.4 使用此協(xié)議的開源項(xiàng)目
che
十二、MPL12.1 關(guān)鍵詞
版權(quán)集中
12.2 關(guān)鍵點(diǎn)修改后的代碼版權(quán)歸軟件的發(fā)起者,可以免費(fèi)使用12.3 商業(yè)化
允許閉源商業(yè)軟件的發(fā)布和銷售
12.4 舉個栗子
小益使用 MPL 協(xié)議開源了一個 類庫,小張對源碼進(jìn)行修改以后重新發(fā)布,修改后的源碼版權(quán)也屬于小益。
12.5 使用此協(xié)議的開源項(xiàng)目
,-ios
十三、如何選擇開源協(xié)議如果想省事,不關(guān)系別人用自己的代碼去做什么,直接選 MIT 或者 BSD 就好如果想代碼修改以后做出聲明,選擇 協(xié)議如果想“繁衍”后代,那么使用 GPL 協(xié)議
其實(shí)看了上述介紹,了解了各個協(xié)議之間的區(qū)別,我們基本上也就清楚項(xiàng)目該選哪種協(xié)議了。如果還不清楚,可參照此 網(wǎng)站。
總結(jié)
參考
通用公共許可證
后續(xù)會不l定期更新五分鐘系列,內(nèi)容主要集中在一些不太需要深入的技術(shù)點(diǎn),旨在讓讀者朋友們快速了解一些技術(shù)概念,
關(guān)于我
【這是 ZY 第 12 篇原創(chuàng)技術(shù)文章】
身為程序員,我們不可避免的要和開源項(xiàng)目打交道,不管是我們自己做了些開源項(xiàng)目,還是使用開源項(xiàng)目,對各種開源協(xié)議的了解是必要的。
這篇文章旨在短時間內(nèi)讓讀者朋友們對常見的開源協(xié)議有了了解,在創(chuàng)建自己開源項(xiàng)目時可以靈活選用協(xié)議,在使用開源項(xiàng)目時也可以避免踩到開源協(xié)議的坑。
基于上述目的,文章篇幅不長,如果感覺不過癮,建議多讀幾遍~
文章概覽
一、OSI(Open )
OSI,開發(fā)源代碼組織,是一個旨在推動開源軟件發(fā)展的非盈利組織。目前受到 OSI 承認(rèn)的開源協(xié)議一共 83 種,具體協(xié)議可以在 OSI 官網(wǎng) 查看。
二、在 上如何添加開源協(xié)議
我們在 上創(chuàng)建一個開源項(xiàng)目時,新建一個名為 的文件時,就會彈出選擇開源協(xié)議的按鈕,我們點(diǎn)進(jìn)去就可以看到, 默認(rèn)支持的協(xié)議模板。點(diǎn)擊協(xié)議會有詳細(xì)的介紹。
我們下面就看看這幾種協(xié)議的內(nèi)容,以及在這幾種協(xié)議中如何去選擇。協(xié)議的具體內(nèi)容在這里不做解讀,因?yàn)閷?shí)在是篇幅不短,先聊聊其中的重點(diǎn)。
三、 2.03.1 關(guān)鍵詞
修改代碼需要說明
3.2 關(guān)鍵點(diǎn)需要保留原有作者的聲明如果修改了代碼,需要進(jìn)行說明不承擔(dān)責(zé)任可以新增許可,但不能對 協(xié)議造成更改3.3 商業(yè)化
可用于商業(yè)
3.4 舉個栗子
小益使用 協(xié)議開源了一個 類庫,只要小張引用類庫時保留了原作者的聲明,并對修改的源碼進(jìn)行說明,那后續(xù)項(xiàng)目開源與否,都是符合協(xié)議的。
3.5 使用此協(xié)議的開源項(xiàng)目
,
四、BSD 24.1 關(guān)鍵詞
聲明協(xié)議
4.2 關(guān)鍵點(diǎn)再發(fā)布的產(chǎn)品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協(xié)議如果再發(fā)布的只是二進(jìn)制類庫/軟件,則需要在類庫/軟件的文檔那個和版權(quán)聲明中包含原來代碼中的BSD協(xié)議4.3 商業(yè)化
允許閉源商業(yè)軟件的發(fā)布和銷售
4.4 使用此協(xié)議的開源項(xiàng)目
brew
五、BSD 35.1 關(guān)鍵詞
聲明協(xié)議
5.2 關(guān)鍵點(diǎn)
相比 BSD 2.0 新增協(xié)議如下:
不可以用開源代碼的“作者/機(jī)構(gòu)的名字”或“原來產(chǎn)品的名字”做市場推廣
5.3 商業(yè)化
允許閉源商業(yè)軟件的發(fā)布和銷售
5.4 舉個栗子
小益使用 BSD 協(xié)議開源了一個 類庫,只要小張引用類庫時保留了原作者的聲明,并對修改的源碼進(jìn)行說明,那后續(xù)項(xiàng)目開源與否,都是符合協(xié)議的。
5.5 使用此協(xié)議的開源項(xiàng)目
flask,redis,numpy
六、MIT6.1 關(guān)鍵詞
許可聲明
6.2 關(guān)鍵點(diǎn)軟件中必須包含許可聲明6.3 商業(yè)化
允許商業(yè)化
6.4 舉個栗子
小益使用 MIT 協(xié)議開源了一個 類庫,只要小張引用類庫時保留包含了許可聲明,那后續(xù)項(xiàng)目開源與否,都是符合協(xié)議的。
6.5 使用此協(xié)議的開源項(xiàng)目
vue,react,,,,axios,
七、GPL 2.07.1 關(guān)鍵詞
感染
7.2 關(guān)鍵點(diǎn)使用 / 修改 / 衍生 GPL 類庫的代碼或軟件,必須也采用 GPL 協(xié)議進(jìn)行開源項(xiàng)目開源后可以再增加其他開源協(xié)議,但是協(xié)議必須比 GPL 寬泛不提供品質(zhì)擔(dān)保,使用采用此協(xié)議的軟件產(chǎn)生的任何后果都不會負(fù)責(zé)7.3 商業(yè)化
可以用于商業(yè),但是必須開放源碼
7.4 舉個栗子
小益使用 GPL 協(xié)議開源了一個 類庫,這個時候小張做開發(fā)時,本著不重復(fù)造輪子的想法,在項(xiàng)目中引用了小益的類庫。項(xiàng)目開發(fā)完成以后,小張想把項(xiàng)目上架到 ,但是不想開源,這個時候就違反了 GPL 協(xié)議。
為了不違反協(xié)議開源協(xié)議可以轉(zhuǎn)換嗎,小張索性將項(xiàng)目開源,而在選擇開源協(xié)議的時候,小張必須選擇 GPL 協(xié)議。
GPL 的本質(zhì)就是生生不息,不斷衍生。
7.5 使用此協(xié)議的的開源項(xiàng)目
Linux,GCC,scapy
八、GPL 3.0
GPL 3.0 相比 2.0 新增了一些條例:
任何向 GPL 項(xiàng)目貢獻(xiàn)的成果將永遠(yuǎn)以 GPL 協(xié)議發(fā)行GPL 軟件設(shè)備的用戶有權(quán)更改軟件使用此協(xié)議的的開源項(xiàng)目
GIMP,Bash,
九、LGPL9.1 關(guān)鍵詞
引用類庫無需開源
9.2 關(guān)鍵點(diǎn)LGPL 允許商業(yè)軟件通過引用(link)的方式使用 LGPL 類庫,而不需要開放源代碼但是如果修改或衍生 LGPL 協(xié)議代碼,則必須采用 LGPL 協(xié)議9.3 商業(yè)化
適合商業(yè)軟件
9.4 舉個栗子
小益使用 LGPL 協(xié)議開源了一個 類庫,小張做開發(fā)時引用了此類庫。之后小張將項(xiàng)目上架到 而不開源,是沒有違反協(xié)議的。但是小張引用類庫時,是以源碼的形式引用的,那就必須要將項(xiàng)目開源了。
9.5 使用此協(xié)議的的開源項(xiàng)目
/jvm-
十、AGPL 3.010.1 關(guān)鍵詞
網(wǎng)絡(luò)交互
10.2 關(guān)鍵點(diǎn)
AGPL 在 GPL 的基礎(chǔ)上,增加了一條限制,通過網(wǎng)絡(luò)與用戶交互,也需要提供源代碼
10.3 商業(yè)化
可以用于商業(yè),但是必須開放源碼
10.4 使用此協(xié)議的開源項(xiàng)目
十一、EPL 2.011.1 關(guān)鍵詞
修改源碼需要開源
11.2 關(guān)鍵點(diǎn)修改源碼后發(fā)布需要開源軟件貢獻(xiàn)者再次將源碼開源發(fā)布時,需要使用 EPL 協(xié)議,除非得到作者授權(quán)項(xiàng)目中引用了 EPL 協(xié)議的代碼,項(xiàng)目開源時可以使用其他協(xié)議,但是引用的那部分代碼仍然需要使用 EPL 協(xié)議11.3 商業(yè)化
允許閉源商業(yè)軟件的發(fā)布和銷售
11.4 使用此協(xié)議的開源項(xiàng)目
che
十二、MPL12.1 關(guān)鍵詞
版權(quán)集中
12.2 關(guān)鍵點(diǎn)修改后的代碼版權(quán)歸軟件的發(fā)起者,可以免費(fèi)使用12.3 商業(yè)化
允許閉源商業(yè)軟件的發(fā)布和銷售
12.4 舉個栗子
小益使用 MPL 協(xié)議開源了一個 類庫,小張對源碼進(jìn)行修改以后重新發(fā)布,修改后的源碼版權(quán)也屬于小益。
12.5 使用此協(xié)議的開源項(xiàng)目
,-ios
十三、如何選擇開源協(xié)議如果想省事,不關(guān)系別人用自己的代碼去做什么,直接選 MIT 或者 BSD 就好如果想代碼修改以后做出聲明,選擇 協(xié)議如果想“繁衍”后代,那么使用 GPL 協(xié)議
其實(shí)看了上述介紹,了解了各個協(xié)議之間的區(qū)別,我們基本上也就清楚項(xiàng)目該選哪種協(xié)議了。如果還不清楚,可參照此 網(wǎng)站。
總結(jié)
參考
通用公共許可證
后續(xù)會不l定期更新五分鐘系列,內(nèi)容主要集中在一些不太需要深入的技術(shù)點(diǎn),旨在讓讀者朋友們快速了解一些技術(shù)概念,
關(guān)于我
【這是 ZY 第 12 篇原創(chuàng)技術(shù)文章】
身為程序員,我們不可避免的要和開源項(xiàng)目打交道,不管是我們自己做了些開源項(xiàng)目,還是使用開源項(xiàng)目,對各種開源協(xié)議的了解是必要的。
這篇文章旨在短時間內(nèi)讓讀者朋友們對常見的開源協(xié)議有了了解,在創(chuàng)建自己開源項(xiàng)目時可以靈活選用協(xié)議,在使用開源項(xiàng)目時也可以避免踩到開源協(xié)議的坑。
基于上述目的,文章篇幅不長,如果感覺不過癮,建議多讀幾遍~
文章概覽
一、OSI(Open )
OSI,開發(fā)源代碼組織,是一個旨在推動開源軟件發(fā)展的非盈利組織。目前受到 OSI 承認(rèn)的開源協(xié)議一共 83 種,具體協(xié)議可以在 OSI 官網(wǎng) 查看。
二、在 上如何添加開源協(xié)議
我們在 上創(chuàng)建一個開源項(xiàng)目時,新建一個名為 的文件時,就會彈出選擇開源協(xié)議的按鈕,我們點(diǎn)進(jìn)去就可以看到, 默認(rèn)支持的協(xié)議模板。點(diǎn)擊協(xié)議會有詳細(xì)的介紹。
我們下面就看看這幾種協(xié)議的內(nèi)容,以及在這幾種協(xié)議中如何去選擇。協(xié)議的具體內(nèi)容在這里不做解讀,因?yàn)閷?shí)在是篇幅不短,先聊聊其中的重點(diǎn)。
三、 2.03.1 關(guān)鍵詞
修改代碼需要說明
3.2 關(guān)鍵點(diǎn)需要保留原有作者的聲明如果修改了代碼,需要進(jìn)行說明不承擔(dān)責(zé)任可以新增許可,但不能對 協(xié)議造成更改3.3 商業(yè)化
可用于商業(yè)
3.4 舉個栗子
小益使用 協(xié)議開源了一個 類庫,只要小張引用類庫時保留了原作者的聲明,并對修改的源碼進(jìn)行說明,那后續(xù)項(xiàng)目開源與否,都是符合協(xié)議的。
3.5 使用此協(xié)議的開源項(xiàng)目
,
四、BSD 24.1 關(guān)鍵詞
聲明協(xié)議
4.2 關(guān)鍵點(diǎn)再發(fā)布的產(chǎn)品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協(xié)議如果再發(fā)布的只是二進(jìn)制類庫/軟件,則需要在類庫/軟件的文檔那個和版權(quán)聲明中包含原來代碼中的BSD協(xié)議4.3 商業(yè)化
允許閉源商業(yè)軟件的發(fā)布和銷售
4.4 使用此協(xié)議的開源項(xiàng)目
brew
五、BSD 35.1 關(guān)鍵詞
聲明協(xié)議
5.2 關(guān)鍵點(diǎn)
相比 BSD 2.0 新增協(xié)議如下:
不可以用開源代碼的“作者/機(jī)構(gòu)的名字”或“原來產(chǎn)品的名字”做市場推廣
5.3 商業(yè)化
允許閉源商業(yè)軟件的發(fā)布和銷售
5.4 舉個栗子
小益使用 BSD 協(xié)議開源了一個 類庫,只要小張引用類庫時保留了原作者的聲明,并對修改的源碼進(jìn)行說明,那后續(xù)項(xiàng)目開源與否,都是符合協(xié)議的。
5.5 使用此協(xié)議的開源項(xiàng)目
flask,redis,numpy
六、MIT6.1 關(guān)鍵詞
許可聲明
6.2 關(guān)鍵點(diǎn)軟件中必須包含許可聲明6.3 商業(yè)化
允許商業(yè)化
6.4 舉個栗子
小益使用 MIT 協(xié)議開源了一個 類庫,只要小張引用類庫時保留包含了許可聲明,那后續(xù)項(xiàng)目開源與否,都是符合協(xié)議的。
6.5 使用此協(xié)議的開源項(xiàng)目
vue,react,,,,axios,
七、GPL 2.07.1 關(guān)鍵詞
感染
7.2 關(guān)鍵點(diǎn)使用 / 修改 / 衍生 GPL 類庫的代碼或軟件,必須也采用 GPL 協(xié)議進(jìn)行開源項(xiàng)目開源后可以再增加其他開源協(xié)議,但是協(xié)議必須比 GPL 寬泛不提供品質(zhì)擔(dān)保,使用采用此協(xié)議的軟件產(chǎn)生的任何后果都不會負(fù)責(zé)7.3 商業(yè)化
可以用于商業(yè),但是必須開放源碼
7.4 舉個栗子
小益使用 GPL 協(xié)議開源了一個 類庫,這個時候小張做開發(fā)時,本著不重復(fù)造輪子的想法,在項(xiàng)目中引用了小益的類庫。項(xiàng)目開發(fā)完成以后,小張想把項(xiàng)目上架到 ,但是不想開源,這個時候就違反了 GPL 協(xié)議。
為了不違反協(xié)議,小張索性將項(xiàng)目開源,而在選擇開源協(xié)議的時候,小張必須選擇 GPL 協(xié)議。
GPL 的本質(zhì)就是生生不息,不斷衍生。
7.5 使用此協(xié)議的的開源項(xiàng)目
Linux,GCC,scapy
八、GPL 3.0
GPL 3.0 相比 2.0 新增了一些條例:
任何向 GPL 項(xiàng)目貢獻(xiàn)的成果將永遠(yuǎn)以 GPL 協(xié)議發(fā)行GPL 軟件設(shè)備的用戶有權(quán)更改軟件使用此協(xié)議的的開源項(xiàng)目
GIMP,Bash,
九、LGPL9.1 關(guān)鍵詞
引用類庫無需開源
9.2 關(guān)鍵點(diǎn)LGPL 允許商業(yè)軟件通過引用(link)的方式使用 LGPL 類庫,而不需要開放源代碼但是如果修改或衍生 LGPL 協(xié)議代碼,則必須采用 LGPL 協(xié)議9.3 商業(yè)化
適合商業(yè)軟件
9.4 舉個栗子
小益使用 LGPL 協(xié)議開源了一個 類庫,小張做開發(fā)時引用了此類庫。之后小張將項(xiàng)目上架到 而不開源,是沒有違反協(xié)議的。但是小張引用類庫時,是以源碼的形式引用的,那就必須要將項(xiàng)目開源了。
9.5 使用此協(xié)議的的開源項(xiàng)目
/jvm-
十、AGPL 3.010.1 關(guān)鍵詞
網(wǎng)絡(luò)交互
10.2 關(guān)鍵點(diǎn)
AGPL 在 GPL 的基礎(chǔ)上,增加了一條限制,通過網(wǎng)絡(luò)與用戶交互,也需要提供源代碼
10.3 商業(yè)化
可以用于商業(yè),但是必須開放源碼
10.4 使用此協(xié)議的開源項(xiàng)目
十一、EPL 2.011.1 關(guān)鍵詞
修改源碼需要開源
11.2 關(guān)鍵點(diǎn)修改源碼后發(fā)布需要開源軟件貢獻(xiàn)者再次將源碼開源發(fā)布時,需要使用 EPL 協(xié)議,除非得到作者授權(quán)項(xiàng)目中引用了 EPL 協(xié)議的代碼,項(xiàng)目開源時可以使用其他協(xié)議,但是引用的那部分代碼仍然需要使用 EPL 協(xié)議11.3 商業(yè)化
允許閉源商業(yè)軟件的發(fā)布和銷售
11.4 使用此協(xié)議的開源項(xiàng)目
che
十二、MPL12.1 關(guān)鍵詞
版權(quán)集中
12.2 關(guān)鍵點(diǎn)修改后的代碼版權(quán)歸軟件的發(fā)起者,可以免費(fèi)使用12.3 商業(yè)化
允許閉源商業(yè)軟件的發(fā)布和銷售
12.4 舉個栗子
小益使用 MPL 協(xié)議開源了一個 類庫,小張對源碼進(jìn)行修改以后重新發(fā)布,修改后的源碼版權(quán)也屬于小益。
12.5 使用此協(xié)議的開源項(xiàng)目
,-ios
十三、如何選擇開源協(xié)議如果想省事,不關(guān)系別人用自己的代碼去做什么,直接選 MIT 或者 BSD 就好如果想代碼修改以后做出聲明,選擇 協(xié)議如果想“繁衍”后代,那么使用 GPL 協(xié)議
其實(shí)看了上述介紹,了解了各個協(xié)議之間的區(qū)別,我們基本上也就清楚項(xiàng)目該選哪種協(xié)議了。如果還不清楚,可參照此 網(wǎng)站。
總結(jié)
參考
通用公共許可證
后續(xù)會不l定期更新五分鐘系列,內(nèi)容主要集中在一些不太需要深入的技術(shù)點(diǎn),旨在讓讀者朋友們快速了解一些技術(shù)概念,
關(guān)于我