什麼是 Copyleft ?
![](https://linuxstory.org/wp-content/uploads/2024/06/085009w1cca4nl8aqj6qon-800x400.jpg)
什麼是 copyright?
在我們可以理解 copyleft 之前,我們必須先介紹一下 copyright 的概念。copyleft 並不是一個脫離於 copyright 的法律框架,copyleft 存在於 copyright 規則中。那麼,什麼是 copyright?
它的準確定義隨著司法權的不同而不同,但是其本質就是:作品的作者對於作品的 複製 (因此這個術語稱之為 「copyright」:copy 's right)、表現等有一定的壟斷性。在美國,其憲法明確地闡述了美國國會的任務就是制定版權法律來「促進科學和實用藝術的進步」。
不同於以往,版權會立刻附加到作品上——而且不需要註冊。默認情況下,所有的權力都是保留的。也就是說,沒有經過作者的允許,沒有人可以重新出版、表現或者修改作品。這種「允許」就是一種許可,可能還會附加有一定的條件。
如果希望得到對於 copyright 更徹底的介紹,Coursera 上的教育工作者和圖書管理員的著作權是一個非常優秀的課程。
什麼是 copyleft?
先不要著急,在我們討論 copyleft 是什麼之前,還有一步。首先,讓我們解釋一下 開源 意味著什麼。所有的開源許可協議,按照 開源倡議的定義 (規定),除其他形式外,必須以源碼的形式發放。獲得開源軟體的任何人都有權利查看並修改源碼。
copyleft 許可和所謂的 「 自由 」 許可不同的地方在於,其衍生的作品中,也需要相同的 copyleft 許可。我傾向於通過這種方式來區分兩者不同: 自由 許可向直接下游的開發者提供了最大的自由(包括能夠在閉源項目中使用開源代碼的權力),而 copyleft 許可則向最終用戶提供最大的自由。
GNU 項目為 copyleft 提供了這個簡單的定義(中文,英文):「 規則就是當重新分發該程序時,你不可以添加限制來否認其他人對於[自由軟體]的自由。 」這可以被認為權威的定義,因為 GNU 通用許可證 的各種版本的依然是最廣泛使用的 copyleft 許可。
軟體中的 copyleft
GPL 家族是最出名的 copyleft 許可,但是它們並不是唯一的。 Mozilla 公共許可協議 和 Eclipse 公共許可協議 也很出名。很多其它的 copyleft 許可 也有較少的採用。
就像之前章節介紹的那樣,一個 copyleft 許可意味著下游的項目不可以在軟體的使用上添加額外的限制。這最好用一個例子來說明。如果我寫了一個名為 MyCoolProgram 的程序,並且使用 copyleft 許可來發布,你將有使用和修改它的自由。你可以發布你修改後的版本,但是你必須讓你的用戶擁有我給你的同樣的自由。(但)如果我使用 「 自由 」 許可,你將可以將它自由地合併到一個不提供源碼的閉源軟體中。
對於我的 MyCoolProgram 程序,和你必須能做什麼同樣重要的是你必須不能做什麼。你不必用和我完全一樣的許可協議,只要它們相互兼容就行(但一般的為了簡單起見,下游的項目也使用相同的許可)。你不必向我貢獻出你的修改,但是你這麼做的話,通常被認為一個很好的形式,尤其是這些修改是 bug 修復的話。
非軟體中的 copyleft
雖然,copyleft 的概念起始於軟體世界,但是它也存在於之外的世界。「做你想做的,只要你保留其他人也有做同樣的事的權力」的概念是應用於文字創作、視覺藝術等方面的知識共享署名許可(中文,英文)的一個顯著的特點(CC BY-SA 4.0 是貢獻於 Opensource.com 默認的許可,也是很多開源網站,包括 Linux.cn 在內所採用的內容許可協議)。GNU 自由文檔許可證是另一個非軟體協議中 copyleft 的例子。在非軟體中使用軟體協議通常不被建議。
我是否需要選擇一種 copyleft 許可?
關於項目應該使用哪一種許可,可以用(已經有了)成篇累牘的文章在闡述。我的建議是首先將許可列表縮小,以滿足你的哲學信條和項目目標。GitHub 的 choosealicense.com 是一種查找滿足你的需求的許可協議的好方法。tl;drLegal 使用平實的語言來解釋了許多常見和不常見的軟體許可。而且也要考慮你的項目所在的生態系統,圍繞一種特定語言和技術的項目經常使用相同或者相似的許可。如果你希望你的項目可以運行的更出色,你可能需要確保你選擇的許可是兼容的。
關於更多 copyleft 的信息,請查看 copyleft 指南。
(題圖來自:behance.net)
via: https://opensource.com/resources/what-is-copyleft
作者:Ben Cotton 譯者:yangmingming 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive