開源技術是開發者英明的決策。在開源界之中有五大基本的開源協議,這五大開源許可協議即gnu gpl,gnu lgpl,bsd,mit,apache。另外,還有非**領域的creative commons通用授權模式。
開源技術被越來越多的人認可,也有不少人認為在未來的開發技術中開源是乙個必行的趨勢。越來越多的開發者與設計者希望將自己的產品開源技術,以便其他人可以在他們的**基礎上做更多事,開源社群也因此充滿生機。
在我們所能想到的應用領域,都有開源軟體存在(象 wordpress,drupal 這些開源cms)。然而很多人對開源許可並不了解,本文介紹開源領域常用的幾種許可協議以及它們之間的區別。
什麼是許可協議?
不管產品是免費向公眾分發,還是**,制定乙份許可協議非常有用,否則,對於前者,你相當於放棄了自己所有的權利,任何人都沒有義務表明你的原始作者身份,對於後者,你將不得不花費比開發更多的精力用來逐個處理使用者的授權問題。
而開源技術許可協議使這些事情變得簡單,開發者很容易向乙個專案貢獻自己的**,它還可以保護你原始作者的身份,使你至少獲得認可,開源許可協議還可以阻止其它人將某個產品據為己有。以下是開源技術界的 5 大許可協議。
gnu gpl
可自由複製
你可以將軟體複製到你的電腦,你客戶的電腦,或者任何地方。複製份數沒有任何限制。
可自由分發
可以用來盈利
你可以在分發軟體的時候收費,但你必須在收費前向你的客戶提供該軟體的 gnu gpl 許可協議,以便讓他們知道,他們可以從別的渠道免費得到這份軟體,以及你收費的理由。
可自由修改
如果你想新增或刪除某個功能,沒問題,如果你想在別的專案中使用部分**,也沒問題,唯一的要求是,使用了這段**的專案也必須使用 gpl 協議。
需要注意的是,分發的時候,需要明確提供源**和二進位制檔案,另外,用於某些程式的某些協議有一些問題和限制,你可以看一下 @pierrejoye 寫的 practical guide to gpl compliance 一文。使用 gpl 協議,你必須在源****中包含相應資訊,以及協議本身。
gnu lgpl
gnu 還有另外一種協議,叫做 lgpl (lesser general public licence),它對產品所保留的權利比 gpl 少,總的來說,lgpl 適合那些用於非 gpl 或非開源產品的開源類庫或框架。因為 gpl 要求,使用了 gpl **的產品必須也使用 gpl 協議,開發者不允許將 gpl **用於商業產品。lgpl 繞過了這一限制。
bsdbsd 在軟體分發方面的限制比別的開源協議(如 gnu gpl)要少。該協議有多種版本,最主要的版本有兩個,新 bsd 協議與簡單 bsd 協議,這兩種協議經過修正,都和 gpl 相容,並為開源組織所認可。
mitmit 協議可能是幾大開源技術協議中最寬鬆的乙個,核心條款是:
這意味著:
你可以自由使用,複製,修改,可以用於自己的專案。
可以免費分發或用來盈利。
唯一的限制是必須包含許可宣告。
mit 協議是所有開源許可中最寬鬆的乙個,除了必須包含許可宣告外,再無任何限制。
apache
apache 協議還有以下需要說明的地方:
永久權利
一旦被授權,永久擁有。
全球範圍的權利
在乙個國家獲得授權,適用於所有國家。假如你在美國,許可是從印度授權的,也沒有問題。
授權免費,且無版稅
前期,後期均無任何費用。
授權無排他性
任何人都可以獲得授權
授權不可撤消
一旦獲得授權,沒有任何人可以取消。比如,你基於該產品**開發了衍生產品,你不用擔心會在某一天被禁止使用該**。
分發**方面包含一些要求,主要是,要在宣告中對參與開發的人給予認可幷包含乙份許可協議原文。
creative commons
creative commons (cc) 並非嚴格意義上的開源許可,它主要用於設計。creative commons 有多種協議,每種都提供了相應授權模式,cc 協議主要包含 4 種基本形式:
開源技術的署名權
必須為原始作者署名,然後才可以修改,分發,複製。
開源技術中保持一致
作品同樣可以在 cc 協議基礎上修改,分發,複製。
非商業作品可以被修改,分發,複製,但不能用於商業用途。但商業的定義有些模糊,比如,有的人認為非商業用途指的是不能銷售,有的認為是甚至不能放在有廣告的**,也有人認為非商業的意思是非盈利。
不能衍生新作品
你可以複製,分發,但不能修改,也不能以此為基礎創作自己的作品。
這些許可形式可以結合起來用,其中最嚴厲的組合是「署名,非商用,不能衍生新作品」,意味著,你可以分享作品,但不能改動或以此盈利,而且必須為原作者署名。在這種許可模式下,原始作者對作品還擁有完全的控制權,而最寬鬆的組合是「署名」,意味著,只要為原始作者署名了,就可以自由處置。
五大開源協議介紹
越來越多的開發者與設計者希望將自己的產品開源,以便其他人可以在他們的 基礎上做更多事,開源社群也因此充滿生機。在我們所能想到的應用領域,都有開源軟體存在 象 wordpress,drupal 這些開源cms 然而很多人對開源許可並不了解,本文介紹開源領域常用的幾種許可協議以及它們之間的區別。什麼是許...
五大開源配置中心
apollo 阿波羅 是攜程框架部門研發的分布式配置中心,能夠集中化管理應用不同環境 不同集群的配置,配置修改後能夠實時推送到應用端,並且具備規範的許可權 流程治理等特性,適用於微服務配置管理場景。qconf 是乙個分布式配置管理工具。用來替代傳統的配置檔案,使得配置資訊和程式 分離,同時配置變化能...
五大開源許可協議簡介與區別概述
越來越多的開發者與設計者希望將自己的產品開源,以便其他人可以在他們的 基礎上做更多事,開源社群也因此充滿生機。在我們所能想到的應用領域,都有開 源軟體存在 象 wordpress,drupal 這些開源cms 然而很多人對開源許可並不了解,本文介紹開源領域常用的幾種許可協議以及它們之間的區別。什麼是...