文章目錄
- 什么是開源許可證(License)?
- 開源許可證有什么用?
- 開源許可證分類
- 開源許可證分類及描述
- 公共代碼 (Public Domain)
- CC0
- 無License
- 寬松型許可證 (Permissive)
- MIT
- Apache 2.0
- BSD
- 弱互惠型許可證 (Weak Copyleft)
- LGPL
- MPL
- EPL
- 互惠型許可證 (Reciprocal)
- GPL
- EUPL
- 強互惠許可證 (Strong Copyleft)
- AGPL
- SSPL
- 為項目選擇一個許可證
- Just Do It
- 下載License模版
- 修改版權內容
- 上傳更新
- 開源合規-企業開源許可證合規治理
- 使用開源軟件開發閉源產品
- 分發開源軟件或包含開源組件的產品
- 修改開源軟件并再發布
- 將開源軟件作為服務提供(SaaS)
- 組合使用不同許可證的開源軟件
- 使用開源軟件中的專利
- 開源軟件的合規性管理
- 總結
什么是開源許可證(License)?
逛Github時經常看到項目README旁邊,有個License tab,不知道大家是不是跟我一樣,撇了一眼就過去了,不太清楚這個license具體作用,有點法律意識的朋友可能會意識到這個可能是版權聲明,不過難免還是會有其他疑問:既然都開源了,怎么還有各種條件限制?除了GPL還有Apache、MIT等,這些"License"又有哪些區別呢?
很多朋友可能像之前的我一樣,二開項目或者使用第三方組件時直接拿來就用了,沒有考慮過其背后的"風險"……
開源許可證有什么用?
寫在前面的一句話:開源 != 免費
首先來看一下關于開源和免費的定義:
開源:
1、一個源碼開放的項目(個人或團隊開發)
2、一個友好交流的社區(除了源碼的開放,還有社區的開放,人人都可以提issue、pr等)
3、一個產品(好的項目同時也是一個好的產品,例如Linux的產品化,可以說,如果沒有 Linux 的產品化,也不會有 Linux 開源的枝繁葉茂)
免費:
1、無任何使用費用
2、閉源或開源:免費軟件可以是閉源的,也可以是開源的
互聯網的發展離不開開源社區的建設,很多時候,開源發布的產品難以滿足用戶的需求。所以,在不違反相關開源許可證 (License) 的條件下,有些公司對其加以定制,就變身為自己的產品或解決方案。
很多開發同學都不清楚開源許可證的"存在",更別提Boss有這方面的意識了
開源許可證是指用于授權他人使用、修改和分發軟件的一種法律文件。它規定了軟件的使用權利和義務,確保開發者和用戶了解如何合法地使用軟件。
這里可以將開源許可證作用總結為:
- 定義使用權限:明確規定用戶在使用、修改和分發軟件時的權利和限制,確保軟件的使用符合開發者的意圖。
- 保護開發者權益:通過許可證條款,保護開發者的知識產權,確保他們的貢獻得到適當的認可,并明確他們在法律上的責任和義務。
- 著作權聲明:保留原始版權聲明和許可證文本,確保開發者的著作權得到尊重,同時為用戶提供使用軟件的法律依據。
開源許可證分類
下面對一些常見許可證進行整理分析
分類 | 示例許可證 | 描述 |
---|---|---|
公共代碼 (Public Domain) | CC0、無License | 理論上無限制,任何人都可以自由使用、修改和分發 |
寬松型許可證 (Permissive) | MIT、Apache 2.0、BSD | 不對使用情景做限制,允許閉源使用和分發,只需保留版權 |