0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

常用的開源協(xié)議介紹

FPGA之家 ? 來(lái)源:FPGA之家 ? 作者:FPGA之家 ? 2022-08-04 10:38 ? 次閱讀

大家好,我是小麥,今天和大家分享一些開源協(xié)議的知識(shí)。

這些協(xié)議縮寫詞在各種代碼、文檔中隨處可見,比如GPL、BSD、MIT、Mozilla、Apache和LGPL等等。

6222e7c2-138d-11ed-ba43-dac502259ad0.pnggithub新建倉(cāng)庫(kù)時(shí)協(xié)議選擇

這么多協(xié)議,我們了解的有多少呢?

作為一名專業(yè)的嵌入式系統(tǒng)開發(fā)人員,了解這些開源協(xié)議是一種基本素養(yǎng),特別是當(dāng)你自己要開源一些東西的時(shí)候該如何選擇開源協(xié)議就變得非常重要了!

下面對(duì)常見的幾種做一下簡(jiǎn)單的介紹。

開源協(xié)議的作用

開源協(xié)議規(guī)定了你在使用開源軟件時(shí)的權(quán)利和責(zé)任,也就是規(guī)定了你可以做什么,不可以做什么

開源協(xié)議雖然不一定具備法律效力,但是當(dāng)涉及軟件版權(quán)糾紛時(shí),開源協(xié)議也是非常重要的證據(jù)之一。

對(duì)于準(zhǔn)備編寫一款開源軟件的開發(fā)人員,也非常建議先了解一下當(dāng)前最熱門的開源許可協(xié)議,選擇一個(gè)合適的開源許可協(xié)議來(lái)最大限度保護(hù)自己的軟件權(quán)益。

如何選擇開源協(xié)議

世界上的開源許可證(Open Source License)大概有上百種,今天我們來(lái)介紹下幾種我們常見的開源協(xié)議。

大致有GPL、BSD、MIT、Mozilla、Apache和LGPL這6種。

6238adbe-138d-11ed-ba43-dac502259ad0.png點(diǎn)擊放大

下面通過這幾張圖,大家可以一目了然的選擇合適的開源協(xié)議:

625639ec-138d-11ed-ba43-dac502259ad0.png點(diǎn)擊放大

烏克蘭程序員 Paul Bagwell 畫了一張分析圖

626c57b8-138d-11ed-ba43-dac502259ad0.png單擊放大 62875360-138d-11ed-ba43-dac502259ad0.png單擊放大

詳細(xì)介紹常用開源協(xié)議

GNU GPL協(xié)議

GNU GPL具體為(GNU General Public License,GNU通用公共許可證)。

只要軟件中包含了遵循 GPL 協(xié)議的產(chǎn)品或代碼,該軟件就必須也遵循 GPL 許可協(xié)議,也就是必須開源免費(fèi),不能閉源收費(fèi),因此這個(gè)協(xié)議并不適合商用軟件。

遵循 GPL 協(xié)議的開源軟件數(shù)量極其龐大,包括 Linux 系統(tǒng)在內(nèi)的大多數(shù)的開源軟件都是基于這個(gè)協(xié)議的。

BSD協(xié)議

BSD協(xié)議具體為(Berkeley Software Distribution,伯克利軟件發(fā)布版)協(xié)議。

BSD 協(xié)議給予用戶極大的權(quán)利,用戶可以使用、修改和重新發(fā)布遵循該許可的軟件,并且可以將軟件作為商業(yè)軟件發(fā)布和銷售,前提是需要滿足下面三個(gè)條件:

如果再發(fā)布的軟件中包含源代碼,則源代碼必須繼續(xù)遵循 BSD 許可協(xié)議。

如果再發(fā)布的軟件中只有二進(jìn)制程序,則需要在相關(guān)文檔或版權(quán)文件中聲明原始代碼遵循了 BSD 協(xié)議。

不允許用原始軟件的名字、作者名字或機(jī)構(gòu)名稱等進(jìn)行市場(chǎng)推廣。

BSD 對(duì)商業(yè)比較友好,很多公司在選用開源產(chǎn)品的時(shí)候都首選 BSD 協(xié)議,因?yàn)榭梢酝耆刂七@些第三方的代碼,甚至在必要的時(shí)候可以修改或者二次開發(fā)。

Apache 協(xié)議

Apache 協(xié)議具體為許可證版本(Apache License Version)協(xié)議,Apache 和 BSD 類似,都適用于商業(yè)軟件。

Apache 協(xié)議在為開發(fā)人員提供版權(quán)及專利許可的同時(shí),允許用戶擁有修改代碼及再發(fā)布的自由。

Hadoop、Apache HTTP Server、MongoDB 等項(xiàng)目都是基于該許可協(xié)議研發(fā)的,程序開發(fā)人員在開發(fā)遵循該協(xié)議的軟件時(shí),要嚴(yán)格遵守下面的四個(gè)條件:

該軟件及其衍生品必須繼續(xù)使用 Apache 許可協(xié)議。

如果修改了程序源代碼,需要在文檔中進(jìn)行聲明。

若軟件是基于他人的源代碼編寫而成的,則需要保留原始代碼的協(xié)議、商標(biāo)、專利聲明及其他原作者聲明的內(nèi)容信息。

如果再發(fā)布的軟件中有聲明文件,則需在此文件中標(biāo)注 Apache 許可協(xié)議及其他許可協(xié)議。

Apache 協(xié)議還有以下需要說明的地方: 永久權(quán)利:一旦被授權(quán),永久擁有。

全球范圍的權(quán)利:在一個(gè)國(guó)家獲得授權(quán),適用于所有國(guó)家。

授權(quán)不可撤消: 一旦獲得授權(quán),沒有任何人可以取消。比如,你基于該產(chǎn)品代碼開發(fā)了衍生產(chǎn)品,你不用擔(dān)心會(huì)在某一天被禁止使用該代碼。

MIT協(xié)議

MIT協(xié)議具體為(Massachusetts Institute of Technology)協(xié)議,又稱「X條款」或「X11條款」。

目前限制最少的開源許可協(xié)議之一(比 BSD 和 Apache 的限制都少),只要程序的開發(fā)者在修改后的源代碼中保留原作者的許可信息即可,因此普遍被商業(yè)軟件所使用。

使用 MIT 協(xié)議的軟件有 PuTTY、X Window System、Ruby on Rails、Lua 5.0 onwards、Mono 等。

GUN LGPL協(xié)議

GUN LGPL協(xié)議具體是(GNU Lesser General Public License,GNU 寬通用公共許可證)。LGPL 是 GPL 的一個(gè)衍生版本,也被稱為 GPL V2,該協(xié)議主要是為類庫(kù)設(shè)計(jì)的開源協(xié)議。

LGPL 允許商業(yè)軟件通過類庫(kù)引用(link)的方式使用 LGPL 類庫(kù),而不需要開源商業(yè)軟件的代碼。這使得采用 LGPL 協(xié)議的開源代碼可以被商業(yè)軟件作為類庫(kù)引用并發(fā)布和銷售。

但是如果修改 LGPL 協(xié)議的代碼或者衍生品,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用 LGPL 協(xié)議。

因此LGPL協(xié)議的開源代碼很適合作為第三方類庫(kù)被商業(yè)軟件引用,但不適合希望以 LGPL 協(xié)議代碼為基礎(chǔ),通過修改和衍生的方式做二次開發(fā)的商業(yè)軟件采用。

審核編輯:彭靜

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    40

    文章

    3520

    瀏覽量

    128808
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3126

    瀏覽量

    42070
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4671

    瀏覽量

    67771

原文標(biāo)題:寫了這么多年代碼,開源協(xié)議你確定自己真的知道嗎?

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    淺談GPL、BSD等開源協(xié)議介紹

    和GPL要求任何使用/修改/衍生之GPL類庫(kù)的的軟件必須采用GPL協(xié)議不同。LGPL允許商業(yè)軟件通過類庫(kù)引用(link)方式使用LGPL類庫(kù)而不需要開源商業(yè)軟件的代碼。
    發(fā)表于 12-27 09:24 ?2919次閱讀

    請(qǐng)問有開源藍(lán)牙協(xié)議棧的介紹嗎?

    如題,計(jì)劃在STM32F1上移植藍(lán)牙協(xié)議棧,有開源介紹嗎?目前已知blueZ,blueDroid,這兩款分別是用于linux和android的,工作太量了。。。 想找款輕型的
    發(fā)表于 04-10 06:36

    關(guān)于開源協(xié)議,你知多少

    軟件在追求“自由”的同時(shí),不能犧牲程序員的利益,否則將會(huì)影響程序員的創(chuàng)造激情,因此世界上現(xiàn)在有 60 多種被開源促進(jìn)組織(Open Source Initiative)認(rèn)可的開源許可協(xié)議來(lái)保證
    發(fā)表于 08-20 15:39

    開源技術(shù)平臺(tái)介紹

    物聯(lián)網(wǎng)正在快速發(fā)展。許多組織和公司推出了各自的開源技術(shù)平臺(tái),這里對(duì)幾個(gè)影響力比較大的平臺(tái)做一下介紹。AllJoynAllJoyn是一個(gè)由Allseen聯(lián)盟贊助的開源軟件框架,基于鄰近感應(yīng),支持互
    發(fā)表于 08-20 07:21

    嵌入式常用開源庫(kù)是什么

    閱讀目錄 linux/嵌入式常用開源庫(kù)列表其他資料參考資料linux下/嵌入式常用開源庫(kù)名字及簡(jiǎn)介,使用文檔和教程可以自己百度 (自己整理,不定時(shí)完善) linux/嵌入式
    發(fā)表于 12-24 06:53

    SPI協(xié)議的作用介紹

    總線。它被廣泛地使用在ADC、LCD等設(shè)備與MCU間,要求通訊速率較高的場(chǎng)合。SPI物理層SPI通訊設(shè)備之間的常用連接方式見圖:SPI通訊使用3條總線及片選線,3條總線分別為SCK、MOSI、MISO,片選線為SS,它們的作用介紹如下:SS(Slave Select):從
    發(fā)表于 02-17 07:02

    開源協(xié)議、開源貢獻(xiàn)協(xié)議與OpenHarmony

    激情,因此世界上現(xiàn)在有60 多種被開源促進(jìn)組織(Open Source Initiative)認(rèn)可的開源許可協(xié)議來(lái)保證開源工作者們的權(quán)益。開源
    發(fā)表于 08-30 15:33

    WAN協(xié)議介紹

    WAN協(xié)議介紹 常用的廣域
    發(fā)表于 06-11 00:44 ?2127次閱讀
    WAN<b class='flag-5'>協(xié)議</b><b class='flag-5'>介紹</b>

    常用路由協(xié)議的分析及比較

    在計(jì)算機(jī)網(wǎng)絡(luò)中,路由協(xié)議的選擇至關(guān)重要,它直接影響到一個(gè)網(wǎng)絡(luò)的性能,而路由協(xié)議的選擇又相當(dāng)復(fù)雜。本文主要介紹幾種常用路由協(xié)議的工作原理,并對(duì)
    發(fā)表于 11-03 15:28 ?4252次閱讀

    汽車診斷技術(shù)及常用協(xié)議介紹(培訓(xùn))

    汽車的OBD常用協(xié)議,自己診斷汽車是否有毛病
    發(fā)表于 02-22 18:15 ?44次下載

    物聯(lián)網(wǎng)中常用的通訊協(xié)議介紹

    物聯(lián)網(wǎng)常用的通訊協(xié)議分為兩種,一種是設(shè)備的網(wǎng)絡(luò)協(xié)議,另一種則是設(shè)備的數(shù)據(jù)傳輸通訊協(xié)議。
    發(fā)表于 11-20 15:56 ?4063次閱讀

    如何選擇開源協(xié)議?

    ,否則將會(huì)影響程序員的創(chuàng)造激情,因此世界上現(xiàn)在有 60 多種被開源促進(jìn)組織(Open Source Initiative)認(rèn)可的開源許可協(xié)議來(lái)保證開源工作者的權(quán)益。
    的頭像 發(fā)表于 10-23 14:57 ?1782次閱讀
    如何選擇<b class='flag-5'>開源</b><b class='flag-5'>協(xié)議</b>?

    應(yīng)該如何選擇正確的開源協(xié)議?

    今天跟大家分享一些開源協(xié)議的知識(shí),這些協(xié)議縮寫詞在各種代碼、文檔中隨處可見,可又有多少人對(duì)這些知識(shí)細(xì)細(xì)研究過呢?作為一名專業(yè)的嵌入式系統(tǒng)開發(fā)人員這些東西都是一種素養(yǎng),特別是當(dāng)你自己要開源
    的頭像 發(fā)表于 03-17 10:15 ?1669次閱讀
    應(yīng)該如何選擇正確的<b class='flag-5'>開源</b><b class='flag-5'>協(xié)議</b>?

    常見的開源協(xié)議盤點(diǎn)介紹

    世界上的開源許可證(Open Source License)大概有上百種,今天我們來(lái)介紹下幾種我們常見的開源協(xié)議。大致有GNU、BSD、MIT、Mozilla、Apache和LGPL等
    發(fā)表于 07-13 12:53 ?1238次閱讀
    常見的<b class='flag-5'>開源</b><b class='flag-5'>協(xié)議</b>盤點(diǎn)<b class='flag-5'>介紹</b>

    常用的Profinet CCLink EthernetIP EtherCAT現(xiàn)場(chǎng)總線協(xié)議介紹

    Profinet CCLink EthernetIP EtherCAT是常用的工業(yè)控制領(lǐng)域的現(xiàn)場(chǎng)總線協(xié)議。本文詳細(xì)介紹了這四種總線的來(lái)龍去脈,以及使用vfbox網(wǎng)關(guān)輕松實(shí)現(xiàn)總線之間的通信。
    的頭像 發(fā)表于 12-11 09:07 ?865次閱讀
    <b class='flag-5'>常用</b>的Profinet CCLink EthernetIP EtherCAT現(xiàn)場(chǎng)總線<b class='flag-5'>協(xié)議</b><b class='flag-5'>介紹</b>