開源許可證雜談

前言

目前,國際公認的開源許可證共有80多種 (https://opensource.org/licenses/alphabetical)。它們的共同特徵是,都允許用戶免費地使用、修改、共享源碼,但是都有各自的使用條件。

如果一種開源許可證沒有任何使用條件,連保留作者信息都不需要,那麼就等同於放棄版權了。這時,軟件可以直接聲明進入"公共領域"(public domain)。

根據使用條件的不同,開源許可證分成兩大類。

  • 寬鬆式(permissive)許可證
  • Copyleft 許可證

寬鬆式許可證 [permissive license]

特點

對用戶幾乎沒有限制。用戶可以修改代碼後閉源。

它有三個基本特點。
- 沒有使用限制
- 沒有代碼質量擔保
- 公示原始作者

常見許可證

1)BSD(二條款版)
分發軟件時,必須保留原始的許可證聲明。BSD真的可以說是“爲所欲爲”了。

2)BSD(三條款版)
分發軟件時,必須保留原始的許可證聲明。不得使用原始作者的名字爲軟件促銷。

3)MIT
分發軟件時,必須保留原始的許可證聲明,與 BSD(二條款版)基本一致。

4)Apache 2
分發軟件時,必須保留原始的許可證聲明。凡是修改過的文件,必須向用戶說明該文件修改過;沒有修改過的文件,必須保持許可證不變。

Copyleft 許可證

特點

Copyleft 是理查德·斯托曼發明的一個詞,作爲 Copyright (版權)的反義詞。

Copyright 直譯是"複製權",這是版權制度的核心,意爲不經許可,用戶無權複製。作爲反義詞,Copyleft 的含義是不經許可,用戶可以隨意複製。

但是,它帶有前提條件,比寬鬆式許可證的限制要多。

  • 如果分發二進制格式,必須提供源碼
  • 修改後的源碼,必須與修改前保持許可證一致
  • 不得在原始許可證以外,附加其他限制

上面三個條件的核心就是:修改後的 Copyleft 代碼不得閉源。

常見許可證

1)Affero GPL (AGPL)
如果雲服務(即 SAAS)用到的代碼是該許可證,那麼雲服務的代碼也必須開源。

2)GPL
如果項目包含了 GPL 許可證的代碼,那麼整個項目都必須使用 GPL 許可證。

3)LGPL
如果項目採用動態鏈接調用該許可證的庫,項目可以不用開源。

4)Mozilla(MPL)
只要該許可證的代碼在單獨的文件中,新增的其他文件可以不用開源。

常見問題

1 什麼叫分發(distribution)?
除了 Affero GPL (AGPL) ,其他許可證都規定只有在"分發"時,才需要遵守許可證。換言之,如果不"分發",就不需要遵守。

簡單說,分發就是指將版權作品從一個人轉移到另一個人。這意味着,如果你是自己使用,不提供給他人,就沒有分發。另外,這裏的"人"也指"法人",因此如果使用方是公司,且只在公司內部使用,也不需要遵守許可證。

雲服務(SaaS)是否構成"分發"呢?答案是不構成。所以你使用開源軟件提供雲服務,不必提供源碼。但是,Affero GPL (AGPL) 許可證除外,它規定雲服務也必須提供源碼。

2 開源軟件的專利如何處理?
某些許可證(Apache 2 和 GPL v3)包含明確的條款,授予用戶許可,使用軟件所包含的所有專利。

另一些許可證(BSD、MIT 和 GPL v2)根本沒提到專利。但是一般認爲,它們默認給予用戶專利許可,不構成侵犯專利。

總得來說,除非有明確的"保留專利"的條款,使用開源軟件都不會構成侵犯專利。

3 什麼是披露要求?
所有的開源許可證都帶有"披露要求"(notice requirement),即要求軟件的分發者必須向用戶披露,軟件裏面有開源代碼。

一般來說,你只要在軟件裏面提供完整的原始許可證文本,並且披露原始作者,就滿足了"披露要求"。

4 GPL 病毒是真的嗎?
GPL 許可證規定,只要你的項目包含了 GPL 代碼,整個項目就都變成了 GPL。有人把這種傳染性比喻成"GPL 病毒"。

很多公司希望避開這個條款,既使用 GPL 軟件,又不把自己的專有代碼開源。理論上,這是做不到的。因爲 GPL 的設計目的,就是爲了防止出現這種情況。

但是實際上,不遵守 GPL,最壞情況就是被起訴。如果你向法院表示無法履行 GPL 的條件,法官只會判決你停止使用 GPL 代碼(法律上叫做"停止侵害"),而不會強制要求你將源碼開源,因爲《版權法》裏面的"違約救濟"沒有提到違約者必須開源,只提到可以停止侵害和賠償損失。

快速選擇

這裏有一個在線選擇開源協議的網站,快來點一下。 http://choosealicense.online/

開源協議選擇方案1
開源協議選擇方案2

參考資料

  • http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html [如何選擇開源許可證?阮一峯 2011年5月 2日]
  • http://www.ruanyifeng.com/blog/2017/10/open-source-license-tutorial.html [開源許可證教程 阮一峯 2017年10月11日]
  • http://www.awflasher.com/blog/archives/939
  • http://www.aqee.net/a-short-guide-to-open-source-and-similar-licenses/
  • http://www.oschina.net/news/27273/main-os-license-comparison
  • https://www.zhihu.com/question/19568896
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章