麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 操作系統 > 正文

開源協議是什么?有哪些?如何抉擇?

2024-07-26 00:27:17
字體:
來源:轉載
供稿:網友
  開源軟件在追求“自由”的同時,不能犧牲程序員的利益,否則將會影響程序員的創造激情,因此世界上現在有 60 多種被開源促進組織(Open Source Initiative)認可的開源許可協議來保證開源工作者的權益。
 
  開源協議規定了你在使用開源軟件時的權利和責任,也就是規定了你可以做什么,不可以做什么。
 
  開源協議雖然不一定具備法律效力,但是當涉及軟件版權糾紛時,開源協議也是非常重要的證據之一。
 
  對于準備編寫一款開源軟件的開發人員,也非常建議先了解一下當前最熱門的開源許可協議,選擇一個合適的開源許可協議來最大限度保護自己的軟件權益。
 
  1) GNU GPL(GNU General Public License,GNU通用公共許可證)
 
  GUN GPL開源協議圖標
 
  只要軟件中包含了遵循 GPL 協議的產品或代碼,該軟件就必須也遵循 GPL 許可協議,也就是必須開源免費,不能閉源收費,因此這個協議并不適合商用軟件。
 
  遵循 GPL 協議的開源軟件數量極其龐大,包括 Linux 系統在內的大多數的開源軟件都是基于這個協議的。
 
  GPL 開源協議的主要特點
 
  特點 說明
 
  復制自由 允許把軟件復制到任何人的電腦中,并且不限制復制的數量。
 
  傳播自由 允許軟件以各種形式進行傳播。
 
  收費傳播 允許在各種媒介上出售該軟件,但必須提前讓買家知道這個軟件是可以免費獲得的;因此,一般來講,開源軟件都是通過為用戶提供有償服務的形式來盈利的。
 
  修改自由 允許開發人員增加或刪除軟件的功能,但軟件修改后必須依然基于GPL許可協議授權。
 
  2) BSD(Berkeley Software Distribution,伯克利軟件發布版)協議
 
  BSD開源協議圖標
 
  BSD 協議基本上允許用戶“為所欲為”,用戶可以使用、修改和重新發布遵循該許可的軟件,并且可以將軟件作為商業軟件發布和銷售,前提是需要滿足下面三個條件:
 
  如果再發布的軟件中包含源代碼,則源代碼必須繼續遵循 BSD 許可協議。
 
  如果再發布的軟件中只有二進制程序,則需要在相關文檔或版權文件中聲明原始代碼遵循了 BSD 協議。
 
  不允許用原始軟件的名字、作者名字或機構名稱進行市場推廣。
 
  BSD 對商業比較友好,很多公司在選用開源產品的時候都首選 BSD 協議,因為可以完全控制這些第三方的代碼,甚至在必要的時候可以修改或者二次開發。
 
  3) Apache 許可證版本(Apache License Version)協議
 
  Apache開源協議
 
  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 畫了一張分析圖,說明應該怎么選擇開源協議,大家看了一目了然,真是清爽。
 

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美黄色看 | 国产精品一区视频 | 九九热在线视频观看 | 色播亚洲| 亚洲精品一区二区三区免 | 看免费一级毛片 | 欧美成人精品欧美一级 | 多男操一女视频 | 欧美性生活区 | 成人国产精品久久久 | 亚洲人成在线播放网站 | 黄污在线观看 | 毛片免费在线 | 欧美视频国产精品 | 成熟女人特级毛片www免费 | 午夜视频在线免费观看 | 99国产精成人午夜视频一区二区 | 久久色在线 | 涩涩伊人| 综合日韩欧美 | 久久久久久久一区 | 午夜在线观看视频网站 | www嫩草| 欧美精品一区二区三区久久久 | 日韩精品一区二区三区中文 | 久久精品1区2区 | 久久亚洲国产午夜精品理论片 | 一区二区三区视频在线 | 蜜桃精品视频 | 日韩视频一区二区三区四区 | 欧美亚洲综合在线 | 国产一区免费 | 日韩午夜一区二区三区 | 精品一区二区三区中文字幕老牛 | 在线播放视频一区二区 | 国产手机av在线 | 色播视频网站 | 97干在线 | 成人精品久久久 | 欧美www| hd porn 4k video xhicial|