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

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

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

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

Q4MP_gh_c472c21 ? 來源:嵌入式ARM ? 作者:嵌入式ARM ? 2021-03-17 10:15 ? 次閱讀

今天跟大家分享一些開源協(xié)議的知識,這些協(xié)議縮寫詞在各種代碼、文檔中隨處可見,可又有多少人對這些知識細細研究過呢?作為一名專業(yè)的嵌入式系統(tǒng)開發(fā)人員這些東西都是一種素養(yǎng),特別是當(dāng)你自己要開源一些東西的時候該如何選擇開源協(xié)議就變得非常重要了!

1 開源協(xié)議的作用

開源協(xié)議規(guī)定了你在使用開源軟件時的權(quán)利和責(zé)任,也就是規(guī)定了你可以做什么,不可以做什么。 開源協(xié)議雖然不一定具備法律效力,但是當(dāng)涉及軟件版權(quán)糾紛時,開源協(xié)議也是非常重要的證據(jù)之一。 對于準備編寫一款開源軟件的開發(fā)人員,也非常建議先了解一下當(dāng)前最熱門的開源許可協(xié)議,選擇一個合適的開源許可協(xié)議來最大限度保護自己的軟件權(quán)益。

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

世界上的開源許可證(Open Source License)大概有上百種,今天我們來介紹下幾種我們常見的開源協(xié)議。大致有GPL、BSD、MIT、Mozilla、Apache和LGPL等。

ae69a128-86b9-11eb-8b86-12bb97331649.png

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

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

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

GNU GPL(GNU General Public License,GNU通用公共許可證)

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

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

GPL 開源協(xié)議的主要特點

特點 說明
復(fù)制自由 允許把軟件復(fù)制到任何人的電腦中,并且不限制復(fù)制的數(shù)量。
傳播自由 允許軟件以各種形式進行傳播。
收費傳播 允許在各種媒介上出售該軟件,但必須提前讓買家知道這個軟件是可以免費獲得的;因此,一般來講,開源軟件都是通過為用戶提供有償服務(wù)的形式來盈利的。
修改自由 允許開發(fā)人員增加或刪除軟件的功能,但軟件修改后必須依然基于GPL許可協(xié)議授權(quán)。

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

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

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

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

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

BSD 對商業(yè)比較友好,很多公司在選用開源產(chǎn)品的時候都首選 BSD 協(xié)議,因為可以完全控制這些第三方的代碼,甚至在必要的時候可以修改或者二次開發(fā)。

Apache 許可證版本(Apache License Version)協(xié)議

Apache 和 BSD 類似,都適用于商業(yè)軟件。Apache 協(xié)議在為開發(fā)人員提供版權(quán)及專利許可的同時,允許用戶擁有修改代碼及再發(fā)布的自由。

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

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

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

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

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

Apache 協(xié)議還有以下需要說明的地方:

永久權(quán)利:一旦被授權(quán),永久擁有。

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

授權(quán)免費,且無版稅: 前期,后期均無任何費用。

授權(quán)無排他性:任何人都可以獲得授權(quán)

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

MIT(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(GNU Lesser General Public License,GNU 寬通用公共許可證)

LGPL 是 GPL 的一個衍生版本,也被稱為 GPL V2,該協(xié)議主要是為類庫設(shè)計的開源協(xié)議。

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

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

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

原文標(biāo)題:全球各種開源協(xié)議,搞研發(fā)得學(xué)習(xí)下!

文章出處:【微信公眾號:嵌入式ARM】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    3

    文章

    3218

    瀏覽量

    42333

原文標(biāo)題:全球各種開源協(xié)議,搞研發(fā)得學(xué)習(xí)下!

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    MOS管如何正確選擇?

    在現(xiàn)代電子電路中,MOS管(金屬氧化物半導(dǎo)體場效應(yīng)晶體管)因其低功耗、高輸入阻抗和易于集成等優(yōu)點,被廣泛應(yīng)用于各種電子設(shè)備中。然而,正確選擇MOS管對于確保電路的性能和可靠性至關(guān)重要。本文將詳細介紹
    的頭像 發(fā)表于 10-09 14:18 ?237次閱讀
    MOS管如何<b class='flag-5'>正確</b><b class='flag-5'>選擇</b>?

    選擇正確的LP8860-Q1 EEPROM版本

    電子發(fā)燒友網(wǎng)站提供《選擇正確的LP8860-Q1 EEPROM版本.pdf》資料免費下載
    發(fā)表于 09-20 09:10 ?0次下載
    <b class='flag-5'>選擇</b><b class='flag-5'>正確</b>的LP8860-Q1 EEPROM版本

    為MCU擴展選擇正確的多路復(fù)用器

    電子發(fā)燒友網(wǎng)站提供《為MCU擴展選擇正確的多路復(fù)用器.pdf》資料免費下載
    發(fā)表于 09-18 11:52 ?0次下載
    為MCU擴展<b class='flag-5'>選擇</b><b class='flag-5'>正確</b>的多路復(fù)用器

    選擇正確的德州儀器 (TI) 信號開關(guān)應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《選擇正確的德州儀器 (TI) 信號開關(guān)應(yīng)用說明.pdf》資料免費下載
    發(fā)表于 09-12 10:14 ?0次下載
    <b class='flag-5'>選擇</b><b class='flag-5'>正確</b>的德州儀器 (TI) 信號開關(guān)應(yīng)用說明

    ESP8266如何為應(yīng)用程序選擇正確的Wi-Fi模塊嗎?

    您能幫我為我們的新應(yīng)用程序選擇正確的 Wi-Fi 模塊嗎? 該模塊的要求如下: - 從主機應(yīng)用程序控制(通過STM32通過SPI、SDIO或最壞情況下的UART) - 接入點/軟 AP,可以同時
    發(fā)表于 07-19 16:56

    如何正確選擇步進電機驅(qū)動器

    步進電機驅(qū)動器是步進電機系統(tǒng)中的重要組成部分,它負責(zé)將控制信號轉(zhuǎn)換為步進電機所需的電流和電壓,以驅(qū)動電機進行精確的角度或線性位移。正確選擇步進電機驅(qū)動器對于保證步進電機系統(tǒng)的正常運行、提高控制精度
    的頭像 發(fā)表于 06-05 18:04 ?2032次閱讀

    DDS協(xié)議測試實踐及問題分析

    ,被測協(xié)議選擇了一個在汽車行業(yè)內(nèi)廣泛使用的開源DDS產(chǎn)品。近年來隨著開源軟件社區(qū)的不斷發(fā)展和成熟,越來越多的整車廠在選擇DDS
    的頭像 發(fā)表于 04-12 08:26 ?532次閱讀
    DDS<b class='flag-5'>協(xié)議</b>測試實踐及問題分析

    選擇正確的功率因數(shù)校正(PFC)拓撲

    電子發(fā)燒友網(wǎng)站提供《選擇正確的功率因數(shù)校正(PFC)拓撲.pdf》資料免費下載
    發(fā)表于 03-18 14:35 ?0次下載

    BUCK電路元件的耐壓值該如何正確選擇?

    BUCK電路元件的耐壓值該如何正確選擇選擇BUCK電路元件的耐壓值是設(shè)計和應(yīng)用電路的重要一環(huán)。耐壓值的選取直接影響到電路的可靠性、性能和壽命。在進行正確的耐壓值
    的頭像 發(fā)表于 01-31 16:11 ?856次閱讀

    磁環(huán)電感大小應(yīng)該怎么選才正確

    電子發(fā)燒友網(wǎng)站提供《磁環(huán)電感大小應(yīng)該怎么選才正確.docx》資料免費下載
    發(fā)表于 01-22 09:29 ?0次下載

    浪涌保護元件怎么選擇正確

    浪涌保護元件怎么選擇正確? 浪涌保護元件的正確選擇是確保電氣設(shè)備免受過電壓和電流浪涌的損害。在選擇浪涌保護元件時,需要考慮以下幾個因素:設(shè)
    的頭像 發(fā)表于 01-03 11:43 ?731次閱讀

    如何選擇正確安裝EMI磁環(huán)呢?

    如何選擇正確安裝EMI磁環(huán)? 1. EMI磁環(huán)簡介 EMI磁環(huán)是一種專用于電磁干擾(EMI)抑制的磁性元器件,也被稱為磁阻器或磁衰減器。它在電路中起到抑制高頻電磁輻射和吸收電磁波的作用,從而減小
    的頭像 發(fā)表于 12-15 14:52 ?1277次閱讀

    AD7616正確的時序應(yīng)該如何設(shè)置?

    時序參數(shù)配置設(shè)置之后仍然無法正確讀寫寄存器,請問下各位正確的時序應(yīng)該如何設(shè)置?比如FMC的AddressSetupTime及DataSetupTime、以及讀取ad7616寄存器時寫寄存器地址及讀取數(shù)據(jù)之間的延時
    發(fā)表于 12-07 08:23

    選擇正確的DC電源模塊的重要性

    選擇正確的DC電源模塊的重要性 選擇正確的BOSHIDA ?DC電源模塊非常重要,因為: 選擇正確
    的頭像 發(fā)表于 12-01 10:50 ?498次閱讀
    <b class='flag-5'>選擇</b><b class='flag-5'>正確</b>的DC電源模塊的重要性

    如何正確選擇網(wǎng)線

    以下是三招輕松選擇正確網(wǎng)線的建議: 明確需求:在選擇網(wǎng)線時,首先要明確自己的需求,包括傳輸速率、傳輸距離、使用環(huán)境等。根據(jù)需求選擇合適的網(wǎng)線類型,例如超五類、六類、超六類、七類等。 注
    的頭像 發(fā)表于 11-15 11:07 ?1004次閱讀