全球各種開源協議,搞研發得學習下!

2021-10-21 20:46:40 字數 2584 閱讀 7055

今天跟大家分享一些開源協議的知識,這些協議縮寫詞在各種**、文件中隨處可見,可又有多少人對這些知識細細研究過呢?

作為一名專業的嵌入式系統開發人員這些東西都是一種素養,特別是當你自己要開源一些東西的時候該如何選擇開源協議就變得非常重要了!

1 開源協議的作用

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

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

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

2 如何選擇開源協議

世界上的開源許可證(open source license)大概有上百種,今天我們來介紹下幾種我們常見的開源協議。大致有gpl、bsd、mit、mozilla、apache和lgpl等。

烏克蘭程式設計師 paul bagwell 畫了一張分析圖

3 詳細介紹常用開源協議

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

遵循 gpl 協議的開源軟體數量極其龐大,包括 linux 系統在內的大多數的開源軟體都是基於這個協議的。

gpl 開源協議的主要特點

特點說明複製自由

允許把軟體複製到任何人的電腦中,並且不限制複製的數量。

傳播自由

允許軟體以各種形式進行傳播。

收費傳播

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

修改自由

允許開發人員增加或刪除軟體的功能,但軟體修改後必須依然基於gpl許可協議授權。

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

apache 和 bsd 類似,都適用於商業軟體。apache 協議在為開發人員提供版權及專利許可的同時,允許使用者擁有修改**及再發布的自由。

hadoop、apache http server、mongodb 等專案都是基於該許可協議研發的,程式開發人員在開發遵循該協議的軟體時,要嚴格遵守下面的四個條件:

apache 協議還有以下需要說明的地方:

又稱「x條款」或「x11條款」,目前限制最少的開源許可協議之一(比 bsd 和 apache 的限制都少),只要程式的開發者在修改後的源**中保留原作者的許可資訊即可,因此普遍被商業軟體所使用。

使用 mit 協議的軟體有 putty、x window system、ruby on rails、lua 5.0 onwards、mono 等。

lgpl 是 gpl 的乙個衍生版本,也被稱為 gpl v2,該協議主要是為類庫設計的開源協議。

lgpl 允許商業軟體通過類庫引用(link)的方式使用 lgpl 類庫,而不需要開源商業軟體的**。這使得採用 lgpl 協議的開源**可以被商業軟體作為類庫引用並發布和銷售。

但是如果修改 lgpl 協議的**或者衍生品,則所有修改的**,涉及修改部分的額外**和衍生的**都必須採用 lgpl 協議。

因此lgpl協議的開源**很適合作為第三方類庫被商業軟體引用,但不適合希望以 lgpl 協議**為基礎,通過修改和衍生的方式做二次開發的商業軟體採用。

1.2023年第3期《微控制器與嵌入式系統應用》電子刊新鮮出爐!

2.mcu為什麼內部不整合晶振?

3.mcu開發中,你選」裸奔「還是rtos?

4.mit發布2023年10大突破性技術~

5.google重磅發布flutter 2!一套**橫掃 5 大系統

6.硬體工程師常用的5v轉3.3v的方法

開源協議 幾張開源協議比較

每天在做軟體的時候都能遇到很多開原協議,一直不是很清楚有什麼區別,今天參考了一下別人的文章,在這裡做個總結。你可以將軟體複製到你的電腦,你客戶的電腦,或者任何地方。複製份數沒有任何限制。可自由分發 可以用來盈利 你可以在分發軟體的時候收費,但你必須在收費前向你的客戶提供該軟體的 gnu gpl 許可...

開源協議比較

freedom與free price是不同的,商業軟體就必須保密麼?明白了吧。開源注重的是 分享,你賣多少錢是你的事,當然也有例外。gtk 採用的是lgpl協議的自由軟體包,是gnu專案的一部分 lipcap 採用的是bsd協議。附 linux和gcc編譯器都是gpl許可的,但我們可以自由地區使用它...

開源協議介紹

mozilla public license bsd開源協議 bsd開源協議是乙個給於使用者很大自由的協議。可以自由的使用,修改源 也可以將修改後的 作為開源或者專有軟體再發布。當你發布使用了bsd協議的 或則以bsd協議 為基礎做二次開發自己的產品時,需要滿足三個條件 1 如果再發布的產品中包含源...