開源協議是什麼?有哪些?如何選擇?

2022-01-15 09:10:27 字數 1658 閱讀 8189

開源軟體在追求「自由」的同時,不能犧牲程式設計師的利益,否則將會影響程式設計師的創造激情,因此世界上現在有 60 多種被開源促進組織(open source initiative)認可的開源許可協議來保證開源工作者的權益。

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

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

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

linux

特點說明

複製自由

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

傳播自由

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

收費傳播

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

修改自由

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

2) bsd(berkeley software distribution,伯克利軟體發布版)協議

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

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

4) mit(massachusetts institute of technology)協議

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

使用 mit 協議的軟體有 putty、x window system、ruby on rails、lua 5.0 onwards、mono 等。lgpl 是 gpl 的乙個衍生版本,也被稱為 gpl v2,該協議主要是為類庫設計的開源協議。

但是如果修改 lgpl 協議的**或者衍生品,則所有修改的**,涉及修改部分的額外**和衍生的**都必須採用 lgpl 協議。因此lgpl協議的開源**很適合作為第三方類庫被商業軟體引用,但不適合希望以 lgpl 協議**為基礎,通過修改和衍生的方式做二次開發的商業軟體採用。世界上的開源協議有上百種(有興趣的讀者了解),很少有人能徹底搞清它們之間的區別,即使在最流行的六種開源協議——gpl、bsd、mit、mozilla、apache 和 lgpl——之中做選擇,也很複雜。

來自於阮一峰部落格:如何選擇開源協議

如何選擇開源許可協議

原文出處 目前國內開源專案正在逐漸公升溫,中國也開始有不少優秀的開源專案突顯出來。在大家摩拳擦掌準備加入開源大軍時,也要知道這個圈子裡的規則。技術人員不能只是研究技術,任何圈子都有規則,要知道了才能玩得好。前段時間有件關於開源軟體的事情挺熱鬧的,關於國內乙個開發者把自己作品開源出來被別的公司的人拿去...

如何選擇開源許可協議

我非常關心教科書級的軟體使用開發與維護 國內乙個開發者把自己作品開源出來被別的公司的人拿去包裝成自己的產品 賣出去 常見的開源許可協議有 gpl 全稱 gnu general public license。它的主要內容為 只要在乙個軟體中使用 使用 指類庫引用或者修改後的 gpl 協議的產品,則該軟...

ssh協議是什麼,有什麼優點?

ssh為secure shell的縮寫 ssh有很多功能,它既可以代替telnet,又可以為ftp pop 甚至為ppp提供乙個安全的 通道 傳統的網路服務程式,如ftp pop和telnet其本質上都是不安全的 因為它們在網路上用明文傳送資料 使用者帳號和使用者口令,很容易受到中間人 man in...