国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - 編程技術(shù) - 如何為你的代碼選擇一個(gè)合適的開源協(xié)議?

如何為你的代碼選擇一個(gè)合適的開源協(xié)議?

2021-08-23 23:23博客園精華區(qū) 編程技術(shù)

近期公司全面擁抱開源,在選擇開源協(xié)議方面遇到了一些問題,查閱了很多資料,特此總結(jié)。

如何為你的代碼選擇一個(gè)合適的開源協(xié)議?

前言

對(duì)于很多剛踏入開源軟件這個(gè)行業(yè)的小伙伴來說,在編碼過程中難免會(huì)用到其他人的成果,如果你足夠細(xì)心,很容易注意到即使是一小段代碼,優(yōu)秀的作者都在文件開頭附上一段關(guān)于版權(quán)的聲明,比如 Licensed under the MIT license 。同時(shí),一些博客也會(huì)標(biāo)明”此文章采用 CC BY 4.0 CN 協(xié)議“。

如果我們拷貝了別人的代碼或文章卻沒注意版權(quán)問題,在國(guó)外法律意識(shí)特別強(qiáng)的環(huán)境下(國(guó)內(nèi)版權(quán)意識(shí)也在逐步加強(qiáng)),那么我們的作品會(huì)因觸犯別人的權(quán)益而違法。即使是最開放的開源協(xié)議,最低要求也是保留原作者對(duì)代碼的聲明,所以 開源不等于免費(fèi),也不等于沒有約束 。

何為 LICENCE?

LICENCE 是軟件的授權(quán)許可,詳細(xì)說明了獲得代碼后擁有的權(quán)利,哪些操作是允許的,哪些操作是禁止的。軟件的版權(quán)許可證可有很多方式,本文僅限于討論開源軟件協(xié)議 Open Source License。

對(duì)于大多數(shù)人來說,沒必要花大把時(shí)間去寫許可協(xié)議,選擇一種比較流行的開源協(xié)議就足夠了,省時(shí)省力,更便于自己作品的傳播,于人于己都有利。

PS:

說句題外話,很多國(guó)外開發(fā)者在尊重他人勞動(dòng)成果方面做得很好,如果A的作品是因?yàn)锽的作品的啟發(fā)而來,A甚至都沒有使用B任何一句代碼,但A會(huì)在他的作品里面指明是受到了B的啟發(fā): Inspired by XXX link: http://www.xxxx.com 。

快速選擇開源協(xié)議

如果你不想了解太多,只是想要一個(gè)簡(jiǎn)直直接的答案,下面給出的建議或許適合你。本小節(jié)關(guān)于協(xié)議地址來自于 GitHub choosealicence 。

簡(jiǎn)單寬松的協(xié)議:

如果你只想要一個(gè)簡(jiǎn)單點(diǎn)的協(xié)議不想太麻煩的話。

MIT協(xié)議 相對(duì)寬松,此協(xié)議允許別人以任何方式使用你的代碼同時(shí)署名原作者,但原作者不承擔(dān)代碼使用后的風(fēng)險(xiǎn),當(dāng)然也沒有技術(shù)支持的義務(wù)。

考慮有專利的情況:

如果你的作品中涉及到專利相關(guān)。

Apache協(xié)議 也是個(gè)相對(duì)寬松的協(xié)議,與MIT類似,但它指明了作者對(duì)用戶專利上的一些授權(quán)(我的理解是軟件作品中含有專利,但它授權(quán)你可以免費(fèi)使用)。

促進(jìn)代碼分享:

如果你在乎作品的傳播和別人的修改,希望別人也以相同的協(xié)議分享出來。

GPL( V2 或 V3 )協(xié)議要求代碼分發(fā)者或者以此代碼為基礎(chǔ)開發(fā)出來的衍生作品需要以同樣的協(xié)議來發(fā)布,也必須開源,因此,該協(xié)議具有”傳染性“。

烏克蘭程序員 Paul Bagwell 畫了一張分析圖,說明應(yīng)該怎么選擇。只用兩分鐘,你就能搞清楚這六種開源協(xié)議之間的最大區(qū)別。

如何為你的代碼選擇一個(gè)合適的開源協(xié)議?

國(guó)內(nèi)大神阮一峰的漢化版本:

如何為你的代碼選擇一個(gè)合適的開源協(xié)議?

主流開源許可協(xié)議(Open Source License)

世界上的開源許可協(xié)議(Open Source License)大概有 上百種 ,常用的開源軟件協(xié)議大致有:

  • GPL
  • LGPL
  • BSD
  • MIT
  • Mozilla
  • Apache

由寬松到嚴(yán)緊排序,常用的開源協(xié)議有:

  1. MIT
  2. BSD
  3. Apache
  4. LGPL
  5. GPL

主要區(qū)別:

  • MIT、BSD 開源協(xié)議都源自大學(xué),體現(xiàn)了簡(jiǎn)單、開放和包容的特點(diǎn)。
  • MIT、BSD、Apache 三者都支持閉源的后續(xù)開發(fā)。
  • GPL、LGPL 傳染性開源,編譯的代碼里用了這里的代碼,都必須開源。

MIT

來源于大學(xué),MIT 開源協(xié)議是史上最為簡(jiǎn)潔、慷慨的開源協(xié)議之一。作者只想保留版權(quán),而無任何其他了限制。也就是說,你必須在你的發(fā)行版里包含原許可協(xié)議的聲明,無論你是以二進(jìn)制發(fā)布的還是以源代碼發(fā)布的。

特點(diǎn):

  • 用戶可以拿你的代碼做任何想做的事情。
  • 用戶在項(xiàng)目副本中要包含版權(quán)聲明和許可聲明。
  • 你無需承擔(dān)任何責(zé)任。

代表作品:

  • jQuery
  • Rails 等。

BSD

  • BSD-2-Clause
  • BSD-3-Clause

BSD可證也來源于大學(xué),與MIT差不多,也非常簡(jiǎn)單、慷慨。

BSD開源協(xié)議是一個(gè)給于使用者很大自由的協(xié)議?;旧鲜褂谜呖梢?rdquo;為所欲為”,可以自由的使用、修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發(fā)布。前提是當(dāng)你發(fā)布使用了BSD協(xié)議的代碼,或者以BSD協(xié)議代碼為基礎(chǔ)開發(fā)自己的產(chǎn)品時(shí),需要滿足三個(gè)條件:

  1. 如果再發(fā)布的產(chǎn)品中包含源代碼,則在源代碼中必須帶有原代碼中的BSD協(xié)議。
  2. 如果再發(fā)布的只是二進(jìn)制類庫(kù)/軟件,則需要在類庫(kù)/軟件的文檔和版權(quán)聲明中包含原來代碼中的BSD協(xié)議。
  3. 不可以用開源代碼的作者/機(jī)構(gòu)名字和原來產(chǎn)品的名字做市場(chǎng)推廣。

BSD 開源協(xié)議鼓勵(lì)代碼共享,但需要尊重代碼作者的著作權(quán)。BSD 開源協(xié)議允許使用者修改和重新發(fā)布代碼,也允許使用或在BSD代碼上開發(fā)商業(yè)軟件發(fā)布、銷售,是對(duì)商業(yè)集成很友好的協(xié)議。因此,很多公司在選用開源產(chǎn)品的時(shí)候都首選BSD協(xié)議。

Apache Licence

  • Apache License, Version 2.0
  • Apache License, Version 1.1
  • Apache License, Version 1.0

來自 Apache,類似 MIT 開源協(xié)議,但它重視專利權(quán)。

Apache Licence 是著名的非盈利開源組織 Apache 采用的協(xié)議。該協(xié)議和BSD類似,同樣鼓勵(lì)代碼共享和尊重原作者的著作權(quán),同樣允許修改代碼、再發(fā)布(作為開源或商業(yè)軟件)。需要滿足的條件也和BSD類似:

  1. 需要為使用代碼的用戶提供一份 Apache Licence 。
  2. 如果你修改了代碼,需要在被修改的文件中說明。
  3. 在延伸的代碼中(修改和由源代碼衍生的代碼中)需要帶有原來代碼中的協(xié)議、商標(biāo)、專利聲明和其他原作者規(guī)定需要包含的說明。
  4. 如果再發(fā)布的產(chǎn)品中包含一個(gè) Notice 文件,則在Notice文件中需要帶有 Apache Licence 。你可以在 Notice 中增加自己的許可,但不可對(duì) Apache Licence 構(gòu)成更改。

Apache Licence 也是對(duì)商業(yè)應(yīng)用友好的許可,使用者也可以在需要的時(shí)候修改代碼來滿足需要并作為開源或商業(yè)產(chǎn)品發(fā)布/銷售。

代表作品:

  • echarts
  • superset
  • dubbo
  • spark

LGPL

LGPL(GNU LESSER GENERAL PUBLIC LICENSE)來自于自由軟件聯(lián)盟GNU,可以翻譯為更寬松的GPL協(xié)議,也屬于傳染性開源協(xié)議。

LGPL是GPL的一個(gè)主要為類庫(kù)使用設(shè)計(jì)的開源協(xié)議。和 GPL要求任何使用/修改/衍生之GPL類庫(kù)的的軟件必須采用GPL協(xié)議 不同,LGPL 允許商業(yè)軟件通過類庫(kù)引用(link)方式使用LGPL類庫(kù)而不需要開源商業(yè)軟件的代碼。這使得采用LGPL協(xié)議的開源代碼可以被商業(yè)軟件作為類庫(kù)引用并發(fā)布和銷售。

但是如果修改LGPL協(xié)議的代碼或者衍生,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用LGPL協(xié)議,因此,LGPL協(xié)議的開源代碼很適合作為第三方類庫(kù)被商業(yè)軟件引用,但不適合希望以LGPL協(xié)議代碼為基礎(chǔ),通過修改和衍生的方式做二次開發(fā)的商業(yè)軟件采用。

GPL/LGPL都保障原作者的知識(shí)產(chǎn)權(quán),避免有人利用開源代碼復(fù)制并開發(fā)類似的產(chǎn)品。

GPL

GPL(GNU GENERAL PUBLIC LICENSE)來源于自由軟件聯(lián)盟GNU,GPL/LGPL側(cè)重于代碼及衍生代碼的開源與免費(fèi)使用。

GPL協(xié)議的主要內(nèi)容是只要在一個(gè)軟件中使用(”使用”指類庫(kù)引用,修改后的代碼或者衍生代碼)GPL 協(xié)議的產(chǎn)品,則該軟件產(chǎn)品必須也采用GPL協(xié)議,既必須也是開源和免費(fèi)。 這就是所謂的”傳染性” 。

由于GPL嚴(yán)格要求使用了GPL類庫(kù)的軟件產(chǎn)品必須使用GPL協(xié)議,對(duì)于使用GPL協(xié)議的開源代碼,商業(yè)軟件或者對(duì)代碼有保密要求的部門就不適合集成/采用作為類庫(kù)和二次開發(fā)的基礎(chǔ)。

我們很熟悉的Linux就是采用了GPL。GPL協(xié)議和BSD, Apache Licence等鼓勵(lì)代碼重用的許可很不一樣。GPL的出發(fā)點(diǎn)是 代碼的開源/免費(fèi)使用/引用/修改 和 衍生代碼的開源/免費(fèi)使用 ,但 不允許 修改后和衍生的代碼做為 閉源 的商業(yè)軟件發(fā)布和銷售。

其它細(xì)節(jié)和BSD/Apache等協(xié)議類似。

代表作品:

  • Linux

更多開源協(xié)議對(duì)比

下方表格中出現(xiàn)的用詞的解釋:

  • 協(xié)議和版權(quán)信息 (License and copyright notice):在代碼中保留作者提供的協(xié)議和版權(quán)信息。
  • 聲明變更 (State Changes):在代碼中聲明對(duì)原來代碼的重大修改及變更。
  • 公開源碼 (Disclose Source):代碼必需公開。
  • 庫(kù)引用 (Library usage):該庫(kù)可以用于商業(yè)軟件中。
  • 責(zé)任承擔(dān) (Hold Liable):代碼的作者承擔(dān)代碼使用后的風(fēng)險(xiǎn)及產(chǎn)生的后果。如果禁止,那么作者將不會(huì)承擔(dān)責(zé)任,可以理解為免責(zé)條款。
  • 商標(biāo)使用 (Use Trademark):可以使用作者的姓名,作品的Logo,或商標(biāo)。
  • 附加協(xié)議 (Sublicensing):允許在軟件分發(fā)傳播過程中附加上原來沒有的協(xié)議條款等。
協(xié)議 描述 要求 允許 禁止
Apache 一個(gè)比較寬松且簡(jiǎn)明地指出了專利授權(quán)的協(xié)議。 1. \(\color{#0000FF}{協(xié)議和版權(quán)信息}\)
2. \(\color{#0000FF}{聲明變更}\)
1. \(\color{#00EE00}{商用}\)
2. \(\color{#00EE00}{分發(fā)}\)
3. \(\color{#00EE00}{修改}\)
4. \(\color{#00EE00}{專利授權(quán)}\)
5. \(\color{#00EE00}{私用}\)
6. \(\color{#00EE00}{附加協(xié)議}\)
1. \(\color{#FF3030}{責(zé)任承擔(dān)}\) (作者免責(zé))
2. \(\color{#FF3030}{商標(biāo)使用}\)
GPL 應(yīng)用最廣泛的開源協(xié)議,擁有較強(qiáng)的版權(quán)自由(copyleft)要求。
衍生代碼的分發(fā)需開源并且也要遵守此協(xié)議。
此協(xié)議有許多變種,不同變種的要求略有不同。
1. \(\color{#0000FF}{公開源碼}\)
2. \(\color{#0000FF}{協(xié)議和版權(quán)信息}\)
3. \(\color{#0000FF}{聲明變更}\)
1. \(\color{#00EE00}{商用}\)
2. \(\color{#00EE00}{分發(fā)}\)
3. \(\color{#00EE00}{修改}\)
4. \(\color{#00EE00}{專利授權(quán)}\)
5. \(\color{#00EE00}{私用}\)
1. \(\color{#FF3030}{責(zé)任承擔(dān)}\)
2. \(\color{#FF3030}{附加協(xié)議}\)
MIT 此協(xié)議寬松簡(jiǎn)單。在適當(dāng)標(biāo)明來源及免責(zé)的情況下,它允許你對(duì)代碼進(jìn)行任何形式的使用。 1. \(\color{#0000FF}{協(xié)議和版權(quán)信息}\) 1. \(\color{#00EE00}{商用}\)
2. \(\color{#00EE00}{分發(fā)}\)
3. \(\color{#00EE00}{修改}\)
4. \(\color{#00EE00}{私用}\)
5. \(\color{#00EE00}{附加協(xié)議}\)
1. \(\color{#FF3030}{責(zé)任承擔(dān)}\)
Artistic Perl社區(qū)最鐘愛此協(xié)議。要求更改后的軟件不能影響原軟件的使用。 1. \(\color{#0000FF}{協(xié)議和版權(quán)信息}\)
2. \(\color{#0000FF}{聲明變更}\)
1. \(\color{#00EE00}{商用}\)
2. \(\color{#00EE00}{分發(fā)}\)
3. \(\color{#00EE00}{修改}\)
4. \(\color{#00EE00}{私用}\)
5. \(\color{#00EE00}{附加協(xié)議}\)
1. \(\color{#FF3030}{責(zé)任承擔(dān)}\)
2. \(\color{#FF3030}{商標(biāo)使用}\)
BSD 較為寬松的協(xié)議,有兩個(gè)變種 BSD 2-Clause 和 BSD 3-Clause ,兩者都與MIT協(xié)議只存在細(xì)微差異。 1. \(\color{#0000FF}{協(xié)議和版權(quán)信息}\) 1. \(\color{#00EE00}{商用}\)
2. \(\color{#00EE00}{分發(fā)}\)
3. \(\color{#00EE00}{修改}\)
4. \(\color{#00EE00}{私用}\)
5. \(\color{#00EE00}{附加協(xié)議}\)
1. \(\color{#FF3030}{責(zé)任承擔(dān)}\)
Eclipse 對(duì)商用非常友好的協(xié)議,可以用于軟件的商業(yè)授權(quán)。包含對(duì)專利的優(yōu)雅授權(quán),也可以對(duì)相關(guān)代碼應(yīng)用商業(yè)協(xié)議。 1. \(\color{#0000FF}{公開源碼}\)
2. \(\color{#0000FF}{協(xié)議和版權(quán)信息}\)
1. \(\color{#00EE00}{商用}\)
2. \(\color{#00EE00}{分發(fā)}\)
3. \(\color{#00EE00}{修改}\)
4. \(\color{#00EE00}{專利授權(quán)}\)
5. \(\color{#00EE00}{私用}\)
6. \(\color{#00EE00}{附加協(xié)議}\)
1. \(\color{#FF3030}{責(zé)任承擔(dān)}\)
LGPL 主要用于一些代碼庫(kù)。衍生代碼可以以此協(xié)議發(fā)布(也可以用其他協(xié)議),但與此協(xié)議相關(guān)的代碼必需遵循此協(xié)議。 1. \(\color{#0000FF}{公開源碼}\)
2. \(\color{#0000FF}{庫(kù)引用}\)
3. \(\color{#0000FF}{協(xié)議和版權(quán)信息}\)
1. \(\color{#00EE00}{商用}\)
2. \(\color{#00EE00}{分發(fā)}\)
3. \(\color{#00EE00}{修改}\)
4. \(\color{#00EE00}{專利授權(quán)}\)
5. \(\color{#00EE00}{私用}\)
6. \(\color{#00EE00}{附加協(xié)議}\)
1. \(\color{#FF3030}{責(zé)任承擔(dān)}\)
Mozilla Mozilla Public License(MPL 2.0)是由Mozilla基金創(chuàng)建維護(hù)的,旨在較為寬松的BSD協(xié)議和更加互惠的GPL協(xié)議中找一個(gè)折衷點(diǎn)。 1. \(\color{#0000FF}{公開源碼}\)
2. \(\color{#0000FF}{協(xié)議和版權(quán)信息}\)
1. \(\color{#00EE00}{商用}\)
2. \(\color{#00EE00}{分發(fā)}\)
3. \(\color{#00EE00}{修改}\)
4. \(\color{#00EE00}{專利授權(quán)}\)
5. \(\color{#00EE00}{私用}\)
6. \(\color{#00EE00}{附加協(xié)議}\)
1. \(\color{#FF3030}{責(zé)任承擔(dān)}\)
2. \(\color{#FF3030}{商標(biāo)使用}\)
No license 作者保留所有權(quán)利,不允許他人分發(fā),復(fù)制或者創(chuàng)造衍生物。
當(dāng)你將代碼發(fā)表在一些網(wǎng)站上時(shí)需要遵守該網(wǎng)站的協(xié)議,此協(xié)議可能包含了一些對(duì)你勞動(dòng)成果的授權(quán)許可。比如將代碼發(fā)布到GitHub,那么就必須同意別人查看和fork。
1. \(\color{#0000FF}{協(xié)議和版權(quán)信息}\) 1. \(\color{#00EE00}{商用}\)
2. \(\color{#00EE00}{私用}\)
1. \(\color{#FF3030}{分發(fā)}\)
2. \(\color{#FF3030}{修改}\)
3. \(\color{#FF3030}{附加協(xié)議}\)
Public domain dedication 在許多國(guó)家,默認(rèn)版權(quán)歸作者自動(dòng)擁有,所以 Unlicense 協(xié)議提供了一種通用的模板。
此協(xié)議表明作者放棄版權(quán),將勞動(dòng)成果無私貢獻(xiàn)出來,會(huì)喪失作品全部權(quán)利,包括在MIT/X11中定義的無擔(dān)保權(quán)利。

原文鏈接:https://www.cnblogs.com/dbkernel/p/15171888.html?utm_source=tuicool&utm_medium=referral

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 黄色美女网站在线观看 | 欧美日韩国产在线观看 | 免费观看一级特黄欧美大片 | 玖玖精品在线 | 国产在线网站 | 亚洲永久免费视频 | 精品久久久久久久久久久久久久 | 亚洲综合大片69999 | 黄色大片网站 | 国产欧美精品一区二区三区 | 激情欧美一区二区三区中文字幕 | 欧美成人一区二区三区 | 亚洲视频在线播放 | 韩国三级午夜理伦三级三 | 国产真实精品久久二三区 | 国产免费99 | 一级二级在线观看 | 欧美一区2区三区4区公司二百 | www欧美 | 日本一区二区免费播放 | 久久性色 | 欧美在线观看黄 | 日韩在线国产精品 | 日韩欧美国产一区二区 | 午夜免费电影 | 精品视频在线播放 | 精品一区二区三区中文字幕老牛 | 成人免费毛片嘿嘿连载视频 | 91精品久久久久久久久久 | 在线视频亚洲 | 亚洲国产精品网站 | 国产精品一区二区久久 | 国产综合人综合 | 久久综合久久综合久久综合 | 激情久久av一区av二区av三区 | 北条麻妃一区二区三区在线观看 | 在线一二三区 | 亚洲国产精品人人爽夜夜爽 | 欧美 日韩 国产 在线 | 中文字幕久久精品 | 国产一二在线 |