5W1H聊開源之What——開源協議有哪些?
原創-
2021-05-31 10:06:18
-
24442
本篇目錄
开源许可协议是指开源社区为了维护作者和贡献者的合法权利,保证软件不被一些商业机构或个人窃取,影响软件的发展而开发的协议。开源协议规定了用户在使用開源軟件时的权利和责任,虽然不一定具备法律效力,但是当涉及软件版权纠纷时,也是非常重要的证据之一。
软件在追求“自由”的同时,不能牺牲程序员的利益,否则将会影响程序员的创造激情,因此世界上现在有 90 多种被开源促进组织(Open Source Initiative)认可的开源许可协议来保证开源工作者的权益(详细列表见:https://opensource.org/licenses/alphabetical)。
对于准备编写一款開源軟件的开发人员,也非常建议先了解一下当前最热门的开源许可协议,选择一个合适的开源许可协议来最大限度保护自己的软件权益。
由寬松到嚴緊排序,常用的開源許可證有:
MIT許可證
BSD許可證
Apache許可證
LGPL許可證
GPL許可證
MIT、BSD 许可证都源自大学,体现了简单、开放和包容的特点。
MIT、BSD、Apache 三者都支持闭源的后续开发。
作者只想保留版权,而无任何其他限制。也就是说,无论是以二进制发布的还是以源代码发布的,都必须在发行版里包含原许可协议的声明,。采用MIT協議的应用案例有JQuery、Rails 等。
BSD代碼鼓勵代碼共享,但需要尊重代碼作者的著作權。BSD由于允許使用者修改和重新發布代碼,也允許使用或在BSD代碼上開發商業軟件發布和銷售,因此是對商業集成很友好的協議,很受大公司的歡迎,因爲可以完全控制這些第三方的代碼,甚至在必要的時候可以修改或者二次開發。
Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业産品发布/销售。现在热门的 Hadoop、Apache 家族、SVN、MongoDB 等项目都是基于该许可协议研发的。
遵循 GPL 协议的開源軟件数量极其庞大,包括 Linux 系统在内的大多数的開源軟件都是基于这个协议的。
软件在追求“自由”的同时,不能牺牲程序员的利益,否则将会影响程序员的创造激情,因此世界上现在有 90 多种被开源促进组织(Open Source Initiative)认可的开源许可协议来保证开源工作者的权益(详细列表见:https://opensource.org/licenses/alphabetical)。
对于准备编写一款開源軟件的开发人员,也非常建议先了解一下当前最热门的开源许可协议,选择一个合适的开源许可协议来最大限度保护自己的软件权益。
由寬松到嚴緊排序,常用的開源許可證有:
MIT許可證
BSD許可證
Apache許可證
LGPL許可證
GPL許可證
MIT、BSD 许可证都源自大学,体现了简单、开放和包容的特点。
MIT、BSD、Apache 三者都支持闭源的后续开发。
GPL、LGPL 传染性开源,编译的代码里用了这里的代码,都必须开源。
具体选择可以参照乌克兰程序员 Paul Bagwell的这张分析图(阮一峰、小鱼周凌宇翻译):
MIT協議
MIT 是十分宽松的许可协议,来源于大学,可以说是史上最为简洁和慷慨(permissive)的开源协议之一。- 用戶可以拿自己的代碼做任何想做的事情;
- 用戶在項目副本中要包含版權聲明和許可聲明;
- 用戶無需承擔任何責任。
作者只想保留版权,而无任何其他限制。也就是说,无论是以二进制发布的还是以源代码发布的,都必须在发行版里包含原许可协议的声明,。采用MIT協議的应用案例有JQuery、Rails 等。
BSD協議
BSD 协议也很宽松,给予了使用者很大自由,基本上允许用户“为所欲为”:用户可以使用、修改和重新发布遵循该许可的软件,并且可以将软件作为商业软件发布和销售。前提是需要满足下面三个条件:- 如果再发布的软件中包含源代码,则源代码必须继续遵循 BSD 许可协议。
- 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD協議。
- 不允許用原始開源代碼軟件的名稱、作者名字或機構名稱進行市場推廣。
BSD代碼鼓勵代碼共享,但需要尊重代碼作者的著作權。BSD由于允許使用者修改和重新發布代碼,也允許使用或在BSD代碼上開發商業軟件發布和銷售,因此是對商業集成很友好的協議,很受大公司的歡迎,因爲可以完全控制這些第三方的代碼,甚至在必要的時候可以修改或者二次開發。
Apache協議
Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样适用于商业软件,鼓励代码共享和尊重原作者的著作权,同样允许代码修改,但它更重视专利权。- 如果修改了程序源代碼,需要在文檔中進行聲明;
- 若軟件是基于他人的源代碼編寫而成的,則需要保留原始代碼的協議、商標、專利聲明及其他原作者聲明的內容信息;
- 如果再发布的软件中有声明文件,则需在此文件中标注 Apache 许可协议及其他许可协议。
Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业産品发布/销售。现在热门的 Hadoop、Apache 家族、SVN、MongoDB 等项目都是基于该许可协议研发的。
GPL協議
GPL協議来源自由软件联盟GNU,GPL/LGPL都侧重于代码及衍生代码的开源与免费使用。GPL是传染性开源,只要软件中包含了遵循 GPL 协议的産品或代码,该软件就必须也遵循 GPL 许可协议,也就是必须开源免费,不能闭源收费,因此这个协议并不适合商用软件。- 複制自由:允許把軟件複制到任何人的電腦中,並且不限制複制的數量。
- 传播自由:允许软件以各种形式进行传播。收费传播允许在各种媒介上出售该软件,但必须提前让买家知道这个软件是可以免费获得的;因此,一般来讲,開源軟件都是通过为用户提供有偿服務的形式来盈利的。
- 修改自由:允許開發人員增加或刪除軟件的功能,但軟件修改後必須依然基于GPL許可協議授權。
遵循 GPL 协议的開源軟件数量极其庞大,包括 Linux 系统在内的大多数的開源軟件都是基于这个协议的。
LGPL開源協議
LGPL 是 GPL 的一个衍生版本,也被称为 GPL V2,该协议主要是为类库设计的开源协议,同样来源于自由软件联盟GNU,可以翻译为更宽松的GPL協議,也属于传染性开源。- 用戶如果只是對LGPL軟件的程序庫的程序進行調用而不是包含其源代碼時,相關的源程序無需開源。
-
禅道産品
禅道開源版 禅道企業版 禅道旗艦版 禅道IPD版 -
核心功能
産品管理 項目管理 質量管理 效能管理 -
使用文檔
基本版手冊 企業版手冊 旗艦版手冊 IPD版手冊 開發中心手冊 -
幫助中心
积分問答 常見問題 論壇交流 使用視頻 Gitee GitHub -
關于我們
關于我們 禅道軟件 最新動態 禅道活動 -
禅道社區
禅道博客 積分排行 積分商城 禅道書院 -
聯系方式
聯系人:劉斌 電話:17685869372 微信:17685869372 Q Q:526288068北京、上海、深圳分部
友情鏈接:
ZTF自動化測試框架
ZenData測試數據生成器
喧喧IM
敏捷開發
敏捷咨詢
測試窩
悅庫網盤
Ledge知識平台
渠成軟件
ZDOO全協同企業管理軟件
融管理社區
ZenDAS數據分析工具
ZenShot跨平台截圖工具
飛信釘即時通訊解決方案
項目管理
IPD學習網
PMP百科網
艾體驗
創無記2049