国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

如何選擇開源協議?

工程師 ? 來源:C語言中文網 ? 作者:C語言中文網 ? 2020-10-23 14:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

素材來源:C語言中文網

編排:strongerHuang

有不少人認為開源就是免費,其實這個觀點是錯誤的,今天就來談談關于開源的內容。

一、關于開源

開源軟件在追求“自由”的同時,不能犧牲程序員的利益,否則將會影響程序員的創造激情,因此世界上現在有 60 多種被開源促進組織(Open Source Initiative)認可的開源許可協議來保證開源工作者的權益。

開源協議規定了你在使用開源軟件時的權利和責任,也就是規定了你可以做什么,不可以做什么。

開源協議雖然不一定具備法律效力,但是當涉及軟件版權糾紛時,開源協議也是非常重要的證據之一。

對于準備編寫一款開源軟件的開發人員,也非常建議先了解一下當前最熱門的開源許可協議,選擇一個合適的開源許可協議來最大限度保護自己的軟件權益。

二、常見開源協議

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

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

遵循 GPL 協議的開源軟件數量極其龐大,包括 Linux 系統在內的大多數的開源軟件都是基于這個協議的。

GPL 開源協議的主要特點:

復制自由:允許把軟件復制到任何人的電腦中,并且不限制復制的數量。

傳播自由:允許軟件以各種形式進行傳播。

收費傳播:允許在各種媒介上出售該軟件,但必須提前讓買家知道這個軟件是可以免費獲得的;因此,一般來講,開源軟件都是通過為用戶提供有償服務的形式來盈利的。

修改自由:允許開發人員增加或刪除軟件的功能,但軟件修改后必須依然基于GPL許可協議授權。

2.BSD(Berkeley Software Distribution,伯克利軟件發布版)協議

BSD 協議基本上允許用戶“為所欲為”,用戶可以使用、修改和重新發布遵循該許可的軟件,并且可以將軟件作為商業軟件發布和銷售,前提是需要滿足下面三個條件:

如果再發布的軟件中包含源代碼,則源代碼必須繼續遵循 BSD 許可協議。

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

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

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

3. Apache 許可證版本(Apache License Version)協議

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

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

該軟件及其衍生品必須繼續使用 Apache 許可協議。

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

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

如果再發布的軟件中有聲明文件,則需在此文件中標注 Apache 許可協議及其他許可協議。

4.MIT(Massachusetts Institute of Technology)協議

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

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

5.GUN LGPL(GNU Lesser General Public License,GNU 寬通用公共許可證)

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

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

但是如果修改 LGPL 協議的代碼或者衍生品,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用 LGPL 協議。因此LGPL協議的開源代碼很適合作為第三方類庫被商業軟件引用,但不適合希望以 LGPL 協議代碼為基礎,通過修改和衍生的方式做二次開發的商業軟件采用。

三、如何選擇開源協議

世界上的開源協議有上百種(有興趣的讀者請猛擊這里了解),很少有人能徹底搞清它們之間的區別,即使在最流行的六種開源協議——GPL、BSD、MIT、Mozilla、Apache 和 LGPL——之中做選擇,也很復雜。

烏克蘭程序員 Paul Bagwell 畫了一張分析圖,說明應該怎么選擇開源協議,大家看了一目了然,真是清爽。

圖片來自于阮一峰博客

四、開源等于免費嗎?

首先,開源軟件和免費軟件是兩個概念:

開源軟件是指公開源代碼的軟件。 開源軟件在發行的時候會附上軟件的源代碼,并授權允許用戶更改、傳播或者二次開發。

免費軟件就是免費提供給用戶使用的軟件。 但是在免費的同時,通常也會有一些限制,比如源代碼不公開,用戶不能隨意修改、不能二次發布等。

免費軟件的例子比比皆是,QQ、微信、迅雷、酷狗、360 等都是免費軟件,你可以隨意使用,盡情蹂躪;但是,如果你嫌棄它們復雜,自己刪除了一些無用的功能,然后在網上發布了一個精簡版本供大家下載,那么你就離法院的傳票不遠了。

開源軟件是不抵觸商業的,開源的目的也不是做慈善事業,而是通過更多人的參與,減少軟件的缺陷,豐富軟件的功能,同時也避免了少數人在軟件里留一些不正當的后門。開源軟件最終還會反哺商業,讓商業公司為用戶提供更好的產品。

Android 就是大眾最熟知的一款開源操作系統,它除了用在手機上,還用在汽車、平板電腦、電視、智能手表等其它硬件平臺,小米、華為、OPPO、三星等都是 Android 的受益者,他們都賺得盆滿缽滿。

很多著名的開源項目背后都有商業公司支撐,它們的開發者也都有正式的工作,享受和我們一樣的社會福利;如果一個成功的開源項目背后沒有商業公司,這反而是不健康的,社會需要開源和商業之間的互補來促進技術的革新。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程
    +關注

    關注

    90

    文章

    3716

    瀏覽量

    97188
  • 開源
    +關注

    關注

    3

    文章

    4207

    瀏覽量

    46140
  • 源代碼
    +關注

    關注

    96

    文章

    2953

    瀏覽量

    70327
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    華為將于MWC 2026啟動A2A-T協議配套軟件開源計劃

    在2026年世界移動通信大會(MWC 2026)即將召開之際,華為宣布,將于大會期間正式啟動A2A-T(Agent-to-Agent for Telecom)協議配套軟件的開源計劃。此舉旨在通過開放協作,加速電信級智能體通信標準的全球普及與實踐,共建開放、協同、繁榮的智能
    的頭像 發表于 03-03 15:56 ?161次閱讀

    機器人通信協議EtherCAT和CAN如何選擇

    當下,雖然行業中存在許多通信協議,但業內人士普遍認為,EtherCAT和CAN兩大協議,是機器人行業未來最重要的兩大協議
    的頭像 發表于 01-27 15:54 ?2532次閱讀

    C-小智開源版,可二次開發(WIN32)#小智AI #開源 #二次開發

    開源
    不太正經的攻城獅
    發布于 :2026年01月04日 19:31:14

    奕斯偉計算與Canonical簽署許可協議,推動開源軟硬件生態融合

    近日,奕斯偉計算與全球開源操作系統領軍企業Canonical簽署授權許可協議, 奕斯偉計算EBC77系列硬件產品——SBC單板計算機、Mini-DTX主板, 正式獲得Ubuntu操作系統安裝許可
    的頭像 發表于 12-26 09:10 ?835次閱讀
    奕斯偉計算與Canonical簽署許可<b class='flag-5'>協議</b>,推動<b class='flag-5'>開源</b>軟硬件生態融合

    FreeRTOS與uC/OS-II如何選擇

    聯網、消費電子、工業控制等領域。其開源許可、強大的生態系統、社區活躍度和 AWS 的強力支持是其不可比擬的優勢。 uC/OS-II 是一個設計精良、久經考驗的 RTOS, 以其可靠性和嚴謹性著稱。開源后大大降低了使用門檻。它仍然是許多傳統關鍵應用和熟悉其體系的開發者的可靠
    發表于 11-13 07:15

    開源主板全系列橫評!上官網查看更多參數!

    開源
    廣州靈眸科技有限公司
    發布于 :2025年08月29日 11:50:04

    如何選擇適合自己項目的通信協議評估工具?

    LZ-DZ200電能質量在線監測裝置 選擇適合項目的通信協議評估工具,核心是 對齊項目需求與工具能力 ,避免 “過度選型”(用高端工具測簡單場景)或 “功能不足”(用輕量工具測復雜協議)。以下是分步
    的頭像 發表于 08-27 09:19 ?714次閱讀
    如何<b class='flag-5'>選擇</b>適合自己項目的通信<b class='flag-5'>協議</b>評估工具?

    星空開源MES(萬界星空科技)——專業、通用、開源、免費的MES系統

    降本增效。 ? 核心優勢: ? ? 完全開源:基于 Apache 2.0 協議,可自由修改、二次開發 ? ? 多端適配:
    的頭像 發表于 08-14 11:30 ?1512次閱讀

    開放原子開源基金會與騰訊云達成合作

    近日,在北京舉行的2025開放原子開源生態大會現場,開放原子開源基金會與騰訊云計算(北京)有限責任公司簽署“開源協作平臺互聯合作協議”。
    的頭像 發表于 08-05 11:06 ?1338次閱讀

    開源 Made with KiCad(129):CatSniffer IoT 多協議工具

    “ ? CatSniffer 是一款專為物聯網(IoT)安全研究設計的硬件工具,其核心功能包括無線通信的嗅探、協議分析和安全測試。 ? ” Made with KiCad 系列將支持新的展示方式
    的頭像 發表于 06-09 11:14 ?2002次閱讀
    <b class='flag-5'>開源</b> Made with KiCad(129):CatSniffer IoT 多<b class='flag-5'>協議</b>工具

    LTC1545軟件可選擇協議收發器技術手冊

    或 X.21 協議的一種完整的軟件可選擇 DTE 或 DCE 接口核心。 利用 LTC1344A 軟件可選擇電纜終端芯片或采用現有的分立器件設計方案可實現電纜終端。
    的頭像 發表于 05-31 16:13 ?890次閱讀
    LTC1545軟件可<b class='flag-5'>選擇</b>多<b class='flag-5'>協議</b>收發器技術手冊

    LTC1544軟件可選擇協議收發器技術手冊

    LTC 1544 是一個擁有四個驅動器/四個接收器的多協議收發器。 LTC1544 和 LTC1543 可構成一個完整的軟件可選擇 DTE 或 DCE 接口核心,這端口支持 RS232、RS449
    的頭像 發表于 05-20 11:36 ?961次閱讀
    LTC1544軟件可<b class='flag-5'>選擇</b>多<b class='flag-5'>協議</b>收發器技術手冊

    藍牙網關選擇的方法

    ?一、明確核心需求? ?協議兼容性? · 確認設備支持的藍牙協議版本(如藍牙4.2/5.0/5.1+),優先選擇支持最新協議(如藍牙5.0及以上)的網關,以兼容未來設備升級?。 · 若
    發表于 04-21 16:25

    何時選擇OSPF作為路由協議

    在構建網絡時,選擇合適的路由協議對于確保網絡的高效性和穩定性至關重要。OSPF(開放最短路徑優先)是一種廣泛使用的內部網關協議,特別適合于大型、復雜或多路徑的網絡環境。本文將探討何時選擇
    的頭像 發表于 03-18 09:14 ?1084次閱讀
    何時<b class='flag-5'>選擇</b>OSPF作為路由<b class='flag-5'>協議</b>