淺談開源軟件許可協議
前言
今天github 996ICU 項目中正在討論 996ICU License,本人也對開源軟件許可協議不太了解,故有此文。
一. 開源軟件許可協議是什麽
開源軟件許可協議也是協議的一種,首先我們需要大概了解協議是什麽
1.什麽是協議
泛指國家、政府、政黨、團體或個人間就一定問題經談判、協商後而達成的共同決定。通常用文件形式來體現。國家和政府間的協議往往采取條約的形式。協議有時也作為條約的一種名稱。(摘自百度漢語搜索)
簡單的來說就是協議就是人,組織之間一種約定好的內容。
2. 開源軟件許可協議
軟件開源讓我們可以讓我們學習和了解別人優秀的代碼。
但是如果我們 Copy 別人的代碼沒有註意到許可協議的話,我們Copy他人代碼的作品可能會因為觸犯別人的權益違法。
因此大多數開源協議最低的要求是使用者需要保留原作者對代碼的聲明即許可協議,毫無顧忌的拿來用了很可能會出事。
所以開源便於互相學習,但並不代表毫無約束。
二. 常見的開源軟件許可協議
- MIT
MIT許可證在所有許可證也許是最開放的。它可以效用於公共領域。它明確授予“不受限制,包括但不限於使用,復制,修改,合並,發布,分發,轉讓許可和/或銷售本軟件副本的權利。”唯一的條件是完整的版權聲明(聲明不保證或責任)包括在內。根據MIT許可證發布的工作可用於任何事物,包括商業和專有軟件。
- BSD
BSD許可類似於MIT許可。
允許我們完全自由地復制,分發和修改任何目的的工作,前提是包含原始許可和版權聲明。衍生作品可以在其他許可下或作為專有軟件發布。
- Apache
Apache許可證許可下的代碼可以用於開放,免費和專有軟件(如MIT和BSD許可證)。
它規定了在任何許可文件中必須保留所有原始版權,歸屬和商標通知的條件。此外,對於任何修改過的工作,必須包含變更通知。還必須保留任何現有的變更通知。所有這些通知必須分發在文本文件和源代碼或文檔中。
保留修改通知的這一要求使Apache許可證與MIT和BSD許可證不同。它還包括許多法律條款和條件(除其他目的外)解除原始版權所有者的任何責任。
Apache許可證(版本2)據說與GPL兼容,這意味著包含在兩者下許可的代碼的項目也必須在GPL版本3下獲得許可。
- GPL
成立原則是我們應該可以自由使用,更改,共享和分享對自由軟件的更改。無論軟件如何分發,它都是免費的。這個概念被稱為“copyleft”。
GPL的基本原則與MIT,BSD和Apache許可不同,GPL下的工作必須保留在此許可下。可以出售GPL代碼,但不能從中派生出專有軟件。如果您分發任何衍生作品,則必須在相同許可下提供源代碼。基本上,一旦根據GPL發布作品,它仍然是GPL,並且不能應用進一步的限制。
GPL第3版明確指出,雖然GPL下的代碼可用於實施數字版權管理(DRM),但使用GPL代碼並不算作有效的“保護”,因此,任何破解它的人都無法承擔責任。數字版權法。
三. 參考鏈接
https://choosealicense.com/licenses/
https://www.smashingmagazine.com/2011/06/understanding-copyright-and-licenses/
淺談開源軟件許可協議