一文读懂 Copyleft 开源许可证
開源組件已改變了我們開發軟件的方式。來自開源社區的現成庫(ready-made libraries)使忙碌的開發者們能專注于他們的秘密武器,這些秘密武器或將成為未來令人興奮的新軟件產品。而且不需要付費。下載開源組件不需要你提供信用卡號碼,但這些組件附帶的開源許可證會要求你遵守某些條款。特別是當它們使用了 copyleft 開源許可證時。
雖然 copyleft 許可證曾經是最普遍的開源許可證,但在過去幾年中,我們發現 copyleft 許可證的使用情況正在減少,而寬松的許可證(permissive lecenses)的使用情況正在增加。也就是說,copyleft GPLv3 許可證依舊是第三流行的開源許可證。總而言之,copyleft 許可證的使用占開源許可證總體使用情況的近 40%。
考慮到開源組件占了現在軟件的 60% 到 80%,你會使用到 copyleft 許可證,同時你也有必要了解這意味著什么。
WHAT
根據 copyleft 開源許可證的創始者 GNU 的說法,copyleft 是一種使軟件變得自由(free)的方法,同時也要求所有修改和擴展該程序的版本也都是自由的,并在相同的條款和條件下(under the same terms and conditions)發布。
當一個開源軟件項目以 copyleft 許可證發布時,其他開發者有權使用、修改和分享該軟件作品,只要他們也保持互惠義務(reciprocity obligation)即可。使用帶有 copyleft 許可證的開源組件創建的人呢和軟件也必須作為開源軟件進行發行。其結果是,任何包含 copyleft 開源許可證的作品——即使僅有幾行代碼——也都必須免費提供全部源代碼,以及修改和分發它們的權利。
HISTORY
Copyleft 開源許可證或對等許可證的誕生是自由開源軟件(free and ?open source software,FOSS)歷史上最重要的里程碑之一,它始于 GNU GPL 許可證。
一切都起始于 1984 年,理查德·斯托曼(Richard Stallman)決定開發 GNU 項目——一個完整的操作系統——將根據他的自由軟件的概念進行開發和發布,并賦予其用戶四項自由條件需要滿足:
用戶可以自由地以任何目的來運行此程序(自由條件 0);
用戶可以自由地學習和了解程序是如何運行的,并可以根據需求加以修改。可以獲得源代碼是這個自由條件的前提(自由條件 1);
用戶可以自由地分享和傳播原軟件來幫助他人(自由條件 2);
用戶可以自由地分享和傳播你修改后的軟件,進而所有用戶可以得益于你的修改。可以獲得源代碼是這個自由條件的前提(自由條件 3)。
斯托曼需要找到一種方法來確保他的作品在這四項自由條件下釋出。則聽起來很簡單?這在當時是聞所未聞的事情。
根據大衛·布雷托(David Bretthauer)在發行物開源的歷史中的記載,傳統使軟件可用的方法是將軟件發布到公有領域(public domain)或是閉源(closing the source code)并以版權和許可證來防止軟件被修改,這給斯托曼帶來一個問題。布雷托解釋說,「在公共領域發布軟件意味著任何人都可以使用它,根據自己的情況進行濫用,比如對其進行版權保護和將其作為專有產品進行簽發許可。加上限制性的版權和許可條款來發布它,將有礙于斯托曼認為的有價值的整個用戶審查、修復 Bug 和添加功能的機制。」
這就是 copyleft 開源許可證的由來,采用 copyright 的條款并撤銷它們。用 GNU 的話來講,就是「為了對一個程序簽署 copyleft 的許可證,就要先聲明該程序已受版權保護(copyrighted);然后我們添加分發條款——這是一項法律文書——去賦予人們使用、修改和重新分發程序的源碼或任何從它派生出的程序的權利,但前提是分發條款保持不變。」代碼和自由在法律上因此而變得密不可分。
專有軟件開發人員會使用版權剝奪用戶的自由;我們使用版權來捍衛用戶的自由。這就是為何我們反轉其名,將「copyright」改成「copyleft」的緣由。
Copyleft GNU GPL 第一版誕生于 1989 年,隨后第二版發布于 1991 年。在 2007 男,隨著軟件技術的發展,GPLv3.0 將早前版本變得更為清晰,確保 GPL 與時俱進。
TIMELINE
WHY
總的來說,在 copyleft 開源許可和自由軟件下發布軟件是一項革命性的概念,從第一個 GNU GPL 發布以來,copyleft 受到各方批評。在早期,它以錯誤的方式與許多軟件開發組織產生摩擦。如今,社區中許多人批評 copyleft 開源許可證是因為它過于嚴苛,他們更喜歡寬松的開源許可證。
批評者們將有版權的開源許可證視作「病毒」,因為他們認為它「污染」了派生自其的所有作品,并一路踐踏用戶的知識產權。令人高興的是,許多人看到了使用 copyleft 開源許可證的好處。
軟件開發人員理查德·L·阿波達卡(Richard L. Apodaca)在他博客[1]上解釋說,開發人員為其項目選擇 copyleft 開源許可證主要原因是是要阻止不想社區提供回報的商業公司使用其軟件;其次是希望阻止其他項目使用其開源項目的分支來構建與自己有競爭性的產品。
開源許可證類型
考慮事項
紅帽公司的本·科騰(Ben Cotton)建議[2]開發人員考慮一下其理念和項目目標,將 copyleft 開源許可證用于他們的軟件項目。他建議開發人員考慮的另一個因素,是項目所使用的技術生態,因為基于特定語言或技術的項目通常具有相同或相似的許可證。
隨著開源成為主流,開發者社區呈指數式增長,向開發者提供他們需要的所有信息以選擇合適其項目的許可證變得尤為重要。如果你想在 copyleft 或其他許可證之間作出選擇,那么 GitHub 的 choosealicense.com 提供了相關開源許可證的簡單說明。
無論你最終選擇的是 copyleft 開源許可證還是決定選擇許可范圍更廣的許可證,在選擇開源許可證時需要記住本·科騰(Ben Cotton)的建議:「如果你希望自己的項目玩的溜,就需要確保所選許可證的兼容性問題。」
參考來源:
[1]?https://depth-first.com/articles/2006/12/29/dispelling-open-source-confusion-an-introduction-to-licenses/
[2] https://opensource.com/resources/what-is-copyleft
免責聲明:這篇帖子不是法律建議,僅供參考。如果你需要法律建議,你應該咨詢具備相關從業資質或經驗的律師。
原題:Open Source Copyleft Licenses: All You Need to Know
文章來源:https://resources.whitesourcesoftware.com/blog-whitesource/open-source-copyleft-licenses
作者:Ayala Goldstein
開源許可證相關推薦:
1)一文讀懂常用開源許可證
2)一文讀懂開源許可證異同
總結
以上是生活随笔為你收集整理的一文读懂 Copyleft 开源许可证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何运用领域驱动设计 - 领域事件
- 下一篇: 开源网站云查杀方案,搭建自己的云杀毒。