步進式解讀Apache許可證

| 轉(zhuǎn)載自:微月人話

|?編輯:王玥敏

| 設(shè)計:葉修緣丶


本文系作者衛(wèi)劍釩(衛(wèi)Sir),開源“圣經(jīng)”《大教堂與集市》中文版譯者翻譯。

我們知道序目,朋友之間或者有一定信任的人之間發(fā)生經(jīng)濟往來時(比如借貸或租房之類),雖然也會寫借據(jù)或合同,但大多比較簡單润努,一頁紙就完事了,因為通常不會出事示括,寫多了見外铺浇。但如果是機構(gòu)行為,就會嚴謹和正式很多例诀,洋洋灑灑好幾頁随抠,各種通常不會發(fā)生的情況都會考慮進去,因為說不準會遇到什么人呢繁涂!

MIT許可證就是那種一頁紙的協(xié)議拱她,一共就三段話,非常寬松扔罪,看樣子基本上不會去打官司秉沼。

Apache 許可證也很寬松,但行文上就嚴謹很多矿酵,篇幅也變長很多(大約是 MIT 的10倍;8础),設(shè)計者在撰寫時全肮,顯然考慮了種種復(fù)雜情況敞咧,并隨時準備對簿公堂(雖然極少發(fā)生)。

不過許可證稍微一長辜腺,大家就沒有耐心看了休建。更不要說還是法律語言寫成的乍恐。

Apache 2.0 許可證是 ASF(Apache Software Foundation,Apache軟件基金會)在2004年發(fā)布的测砂,以幫助 ASF 實現(xiàn)其目標:“通過開源軟件開發(fā)協(xié)作茵烈,提供可靠且長久不衰的軟件產(chǎn)品”。ASF 出品的軟件一般都采用Apache 2.0 許可證砌些。當(dāng)然呜投,非 ASF 的項目也可以使用,Apache 許可證設(shè)計出來是供所有人使用的存璃。

有人專門做過分析1仑荐,Github 上使用率最高的許可證,前5名是 MIT有巧、Apache 2.0释漆、GPL 2.0、GPL 3.0 和 bsd-3-clause篮迎。本公眾號已經(jīng)在前面專門介紹過MIT男图。

本文的目的,是從淺入深弄懂Apache許可證甜橱,并完全忠于原文逊笆。

文章較長,我將以“步進式”方式解讀岂傲,最精華的放在最前面难裆,以便于你在不能讀完的情況下,也能 get 到精華镊掖。

不過乃戈,越往后看,會有越多的料亩进。強烈建議讀完症虑。

如果對全文翻譯不感興趣,可以迅速拉過第五節(jié)归薛。

注:本文不區(qū)分 “Apache 2.0許可證”谍憔、“Apache 許可證”、“Apache 協(xié)議”主籍,視作完全等同习贫。

1

Apache一句話要旨

Apache 許可證全文讀下來,需要一點功夫千元。

如果你只想記一句話苫昌,那就是“要留我的名,改哪了你得說幸海!”

2

Apache協(xié)議精要

從最精簡的角度講蜡歹,Apache 協(xié)議想說的是這些:

你可以隨便用屋厘!不會因版權(quán)和專利找你麻煩的!

不能用我的商標月而!

你分發(fā)本作品或衍生作品時,可以不再提供源碼议纯!

你在分發(fā)時父款,必須做到:

1、帶上本許可證瞻凤!

2憨攒、保留本軟件的所有版權(quán)、專利等說明阀参!

3肝集、你改過的文件,你得說改了哪蛛壳!

4杏瞻、NOTICE文件中的信息得保留!

5衙荐、在遵循本許可證的條件下捞挥,你可以再許可!

本作品就這樣了忧吟,我不會負任何責(zé)任的砌函!你想負責(zé)你可以負,但別拉上我溜族!

3

能稍微詳細一點嗎

下面是一個人話精簡版(對應(yīng) Apache 許可證的第1到9節(jié))讹俊。

1、本軟件又叫本“作品”煌抒,可以是源碼仍劈,也可以是編譯或轉(zhuǎn)換后的其他形式〈菝担“衍生作品”是在本作品的基礎(chǔ)上修改后的有原創(chuàng)性的工作成果耳奕。本作品的“貢獻者”包括許可人和其他提交了貢獻的人,以下統(tǒng)稱“我”诬像。

2.我授予你權(quán)利:你可以免費復(fù)制屋群、使用、修改坏挠、再許可芍躏、分發(fā)本作品及衍生作品(可以不用公開源碼)。

3. 如果本軟件涉及我的專利(或潛在專利)降狠,我在此授予你專利許可对竣,你可以永久性地免費使用此專利庇楞,用于制作、使用否纬、出售吕晌、轉(zhuǎn)讓本作品。如果你哪天居然告本作品侵權(quán)临燃,你的專利許可在你告我那天被收回睛驳。

4.你在復(fù)制和分發(fā)本作品或衍生作品時,要滿足以下條件膜廊。

* 帶一份本許可證乏沸;

* 如果你修改了什么,要在改動的文件中有明顯的修改聲明爪瓜。

* 如果你以源碼形式分發(fā)蹬跃,你必須保留本作品的版權(quán)、專利铆铆、商標和歸屬聲明蝶缀。

* 如果本作品帶了“NOTICE”文件,你就得帶上 NOTICE 文件中包含的歸屬聲明算灸。即便你的發(fā)布是不帶源碼的扼劈,你也得帶上此文件,并在作品某處予以展示菲驴。

* 你可以對自己的修改添加版權(quán)說明荐吵。對于你的修改或者整個衍生作品,你可以使用不同的許可赊瞬,但你對本作品的使用先煎、復(fù)制和分發(fā)等,必須符合本許可證規(guī)定巧涧。

5. 你提交貢獻就表明你默認遵守本許可的條款和條件薯蝎。當(dāng)然,你可以和我簽訂另外的專門的條款谤绳。

6. 你不許使用我的商品名占锯、商標、服務(wù)標志或產(chǎn)品名缩筛。

7. 本作品是“按原樣”(AS IS)提供的消略,沒有任何保證啊,你懂的瞎抛。

8. 我可不負任何責(zé)任艺演。除非我書面同意,或者法律有這樣的要求(例如對故意和重大過失行為負責(zé))。

9. 你可以向別人提供保證胎撤,你可以向別人收費晓殊,但那都是你的事,別給我惹麻煩伤提。

注意以上的“我”巫俺,既包含了許可人,也包含了每位貢獻者肿男。

上面提到的歸屬聲明识藤,英文是 attribution notices,attribution 在這里的含義是“歸功于”次伶,或者說是一種 credit,表明一個作品歸功于誰稽穆。除了歸功于自己之外冠王,歸屬聲明主要強調(diào)的是歸功自己用到的其他作品(即第三方作品)。

比如 chrome 瀏覽器使用了非常多的其他開源作品舌镶,在其“關(guān)于”中柱彻,可以看到:

打開“開源軟件”后,就能看到長長的 credit 列表餐胀。

4

Asim質(zhì)疑go-chassis事件

2018年1月哟楷,發(fā)生了這么一件事,go-micro 項目的作者 Asim 質(zhì)疑 go-chassis 項目不合理地使用了其代碼2否灾。

這兩個項目都是使用Apache許可證的卖擅。

當(dāng)時,go-chassis項目在其README中是這么寫的:

意思是說“本項目受 go-micro 啟發(fā)墨技, 但并不是基于它的改善惩阶,我們做了更多”。

項目在 third-party 目錄下放了 go-micro 的5個源代碼文件扣汪,也帶了 go-micro 的LICENSE 文件(內(nèi)含版權(quán)信息)断楷,但沒有很明顯地予以歸功(比如在 NOTICE 文件中)。

1月27日崭别,go-micro 的作者 Asim冬筒,在 go-chassis 的倉庫下發(fā)貼(issue#28)提出異議。

標題是“This is not inspired by go-micro”:

大意是說茅主,“你這哪里是受啟發(fā)舞痰,你這分明就是基于我代碼的改進座咆,我哪哪都能看到我的代碼坤检。與其直接拿走我的代碼,不如討論一下你能怎么回饋 go-micro”门驾。(有81個吃瓜群眾點了贊学搜。)

Asim 咄咄逼人的氣勢搞的 go-chassis 非常窘迫娃善。

很快论衍,go-chassis 項目的主要維護人 tianxiaoliang 承認了錯誤:

1月31日,go-chassis 完成了整改聚磺,在 LICENSE 文件和 NOTICE 文件中都對 go-micro 給予了 credit坯台,并把所有用到的 go-micro 的文件都放入了 third-party 目錄下。

2月1日瘫寝,項目在 README 中也明確做了說明蜒蕾,承認項目是“基于 go-micro”(based on)的。

此事才算暫告一段落焕阿。

感興趣的去看看這個issue:

https://github.com/go-chassis/go-chassis/issues/28

下面對 Apache 協(xié)議進行全文翻譯咪啡,如果你沒有時間,可以快進到第六節(jié)暮屡,閱讀后續(xù)情況撤摸。

5

全文翻譯!

看到這里褒纲,有人會說准夷,上面這些是不是就夠用了?

nonono莺掠,那當(dāng)然是不夠的衫嵌,如果真遇到事,還是得看原文彻秆,一切以原文為準楔绞。

而且是以英文為準!在 ASF 官網(wǎng)上關(guān)于 Apache 許可證的 FAQ 里掖棉,明確指出墓律,翻譯只是便于理解,只有英文版本才有法律效力幔亥。

英文全文的官方網(wǎng)址在:https://www.apache.org/licenses/LICENSE-2.0.html

本人的翻譯和解讀如下耻讽。排版方式是:

英文,灰色藍色粗體文字 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

譯文帕棉,灰色藍色文字

里面的難句都會有分析针肥,可以順便學(xué)學(xué)英語!

注意:本譯文無意逐字逐詞對照香伴,目的是說清楚慰枕,以通達為首要原則。

下面開始:

Apache License

Version 2.0, January 2004

http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION)

Apache許可證

版本2.0即纲,2004年1月

http://www.apache.org/licenses/

使用具帮、復(fù)制和分發(fā)的條款與條件

1.Definitions.

”License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

”Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

1.定義

“許可證”就是有關(guān)使用、復(fù)制、分發(fā)的條款和條件蜂厅,具體在本文的第1到9節(jié)定義匪凡。

“許可人”就是使用本許可證進行許可的版權(quán)所有人(或版權(quán)所有人授權(quán)的實體)。

“Licensor” 這句的結(jié)構(gòu)是:“Licensor" shall mean the copyright owner( or entity ( authorized by the copyright owner ) )that is granting the License.

”Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

“法人實體”是指行為實體以及所有控制它的實體掘猿、它控制的實體病游、或和它處于共同控制之下的實體。

“控制”是指:

(i)通過合同或其他方式稠通,直接或間接地衬衬,指導(dǎo)或管理該實體的權(quán)力。

或(ii)占流通股百分之五十(50%)及以上的所有權(quán)改橘。

或(iii)對該實體擁有受益所有權(quán)滋尉。

注意第一句比較難,其結(jié)構(gòu)是:LE mean the union of the acting entity and all other entities ( that ( control ) , ( are controlled by ) , or ( are under common control with ) that entity. ) ), 最后這個"that entity"就是前面的acting entity飞主。

分解開來就是兼砖,LE mean the union of A and entities that control A, entities that controlled by A, entities that are under common control with A.

舉個例子:A是行為實體

A控制了B、C

D既棺、E控制了A

F、G和A都受H控制

那么這個法人實體就是A懒叛、B丸冕、C、D薛窥、E胖烛、F、G诅迷、H的聯(lián)合佩番。

然后是對“控制”的定義,從文字上看罢杉,control 就是 power趟畏、就是所有權(quán)。這是對的滩租,因為有權(quán)的人才能控制赋秀。里面的?beneficial ownership?是“受益所有權(quán)”,擁有“受益所有權(quán)”的人即最終控制人和最終受益方律想,也就是我們常說的“實際控制人”猎莲。

“法人實體”可簡稱為“法人”。(注意法人不是人技即,法人是一個組織著洼。)

”You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

“你”(或“你們”),就是那個正被授予權(quán)利的人或者法人。

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

“源碼”形式是指便于人類修改的形式身笤,包括但不限于軟件源代碼豹悬、源文檔和配置文件。

”O(jiān)bject" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

“目標”形式是指“源碼”經(jīng)過機器轉(zhuǎn)換或翻譯后的結(jié)果展鸡,包括但不限于編譯后的目標代碼屿衅、生成的文檔以及轉(zhuǎn)換成的其他媒體類型。

目標代碼(object code)是源碼經(jīng)編譯后的產(chǎn)物(所謂“目標”)莹弊,通常是機器代碼(或稱二進制代碼)涤久。這里所說的目標形式,除了目標代碼忍弛,還包含將其進一步轉(zhuǎn)換而成的可執(zhí)行文件和庫文件响迂。

生成的文檔(generated documentation)通常是指從源碼中自動產(chǎn)生的文檔,如Doxygen之類的工具就可以干這種事细疚。

什么是媒體類型(media type)蔗彤?像文本、音頻疯兼、視頻然遏、圖片等等這些都是媒體形式,可以想象一下這些類型:pdf格式的源碼吧彪、視頻形式的源碼待侵,圖片格式的源碼,甚至是音頻形式的源碼(有點意思R搪恪)秧倾,不過,這些類型都不便于人類修改傀缩,還是純文本的源碼最好D窍取!

”Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

“作品”是指可通過本許可證獲取的作者的工作成果赡艰,它以源碼形式或目標形式存在售淡,作品含有或附有版權(quán)提示。(本許可證附錄部分有樣例)

”Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

“衍生作品”是指基于(或源于)某“作品”的原創(chuàng)性工作成果慷垮,其所做的編輯修訂勋又、注釋、深化或其他修改等等换帜,從整體而言楔壤,有原創(chuàng)性。就本許可而言惯驼,衍生作品不應(yīng)包括這些作品:可與本衍生作品分離的作品蹲嚣、僅僅通過接口鏈接(或綁定)起來的作品递瑰。

上面這段第一句這樣讀:”Derivative Works" shall mean any work,?(whether in Source or Object form, )?that is based on?( or derived from )?the Work and?( for which ) the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, )?an original work of authorship.

and for which那個從句,可以看成是:and the editorial revisions…… for the Work, as a whole, is an original work of authorship.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

“貢獻”包括作品的原始版本以及對該作品或衍生作品的任何修改或增補隙畜,這些內(nèi)容是版權(quán)人(或是被版權(quán)人授權(quán)的個人或法人)有意“提交”給許可人以將其包含在作品中的抖部。“提交”可以通過電子议惰、口頭或書面形式慎颗,包括但不限于電子郵件列表,源碼控制系統(tǒng)言询、問題跟蹤系統(tǒng)等(這些系統(tǒng)通常是許可人用來討論和改進作品的)俯萎,但是那些被顯著標識了“并非貢獻”的內(nèi)容,不能視為被提交的內(nèi)容运杭。

注意這里有許可人(Licensor)和版權(quán)人(copyright owner )的區(qū)別夫啊,許可人在上面有定義,就是發(fā)布許可的人辆憔,版權(quán)人不僅包括主作者撇眯,也包括提交修改的作者;同樣的虱咧,貢獻不僅包括那些修修補補熊榛,也包括主作品本身。

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

“貢獻者”是指許可人以及那些做出貢獻的個人或法人腕巡。許可人從這些人手中接收貢獻并將其納入到作品中来候。

這句這樣讀:”Contributor" shall mean Licensor and any individual or Legal Entity?( on behalf of whom ( a Contribution has been received by Licensor ( and subsequently incorporated within the Work. ) )

比較難懂的是 on behalf of whom 這塊,是誰代表了誰逸雹?

是 “Contribution” 代表了前面的“any individual or Legal Entity”,這個句子的后半部分其實就是:on behalf of an individual or a Legal Entity, a Contribution has been received and incorporated by Licensor .

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

2. 版權(quán)許可云挟。在遵守本許可的條款和條件的前提下梆砸,每位貢獻者特此授予你永久的、全球性的园欣、非排他性的帖世、免費的、免版稅的沸枯、不可撤銷的版權(quán)許可日矫,以復(fù)制、準備衍生作品绑榴、公開展示哪轿、公開使用、再許可翔怎、分發(fā)本作品和其衍生作品(無論是以“源碼”還是“目標”形式)窃诉。

非排他性是指不限定只給某人杨耙、某團體、某地區(qū)等等飘痛,而是給所有人都一樣的權(quán)利珊膜。

不可撤銷是指一旦授予,將不能再收回宣脉。

關(guān)于再許可(sublicense)的理解:你是本許可的被許可人(licensee)车柠,所謂再許可,就是你分發(fā)作品時塑猖,可以再次向你的licensee進行許可竹祷。至于具體有什么要求,要看許可證第4節(jié)第5款萌庆。

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

3.專利許可溶褪。在遵守本許可的條款和條件的前提下,每位貢獻者特此授予你永久性的践险,全球性的猿妈,非排他性的,免費的巍虫,免版稅的彭则,不可撤銷的(本節(jié)列出的例外除外)專利許可,用于制作占遥、委托制作俯抖、使用、要約出售瓦胎、出售芬萍、進口、轉(zhuǎn)讓本作品搔啊,你獲得的專利許可柬祠,僅僅是有權(quán)利向你許可的貢獻者授予你的,該貢獻者的貢獻或者其貢獻和本作品結(jié)合起來后负芋,不可避免地造成了對該貢獻者專利的侵權(quán)漫蛔。如果你針對任何實體(包括訴訟中的交叉索賠或反索賠)提起專利訴訟,指稱本作品或貢獻直接或間接構(gòu)成侵權(quán)旧蛾,則本許可授予你的任何專利許可在訴訟提起之日終止莽龟。

這段比較難理解,也容易被誤解3锨天、4毯盈。

where 引導(dǎo)的這個從句比較復(fù)雜:where such license applies only to those patent claims?( licensable by such Contributor )?that are necessarily infringed?( by their Contribution(s) alone or by combination of their Contribution(s) with the Work ( to which such Contribution(s) was submitted. ) )

上面這段文字可以說的再明白一些:如果作品涉及了某位貢獻者的專利(他可能已經(jīng)擁有專利了,或者以后會擁有專利5)病袄,那么奶镶,貢獻者在此授權(quán)你可以實施該專利迟赃,(注意你并不是擁有專利,而是獲得了專利的實施權(quán))厂镇,使得你可以制作纤壁、使用、……銷售作品捺信。(如果不給你專利授權(quán)酌媒,你是沒有權(quán)利做這些事的)

如果你提起訴訟說本作品侵犯了什么專利,那么我們立即撤回已經(jīng)授予你的專利許可迄靠。我總不能讓你用了我的專利秒咨,然后你又反過來告我吧!(比如你將其修改后掌挚,申請了新的專利雨席,然后說我侵權(quán)。)

make?是自己制作吠式,have made?是讓別人制作

contributory infringement?可以翻譯為共同侵權(quán)或間接侵權(quán)陡厘,本文譯作間接侵權(quán)。比如曾有電影公司狀告BT造成間接侵權(quán)(共同侵權(quán))特占。

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

4.重新分發(fā)糙置。你可以復(fù)制和分發(fā)本作品或衍生作品,可通過任意媒介是目,可以修改或者保持原樣谤饭,可以是源碼形式或目標形式,但前提是滿足以下所有條件懊纳。

* You must give any other recipients of the Work or Derivative Works a copy of this License; and

* 你必須給接收者一份本許可證的拷貝揉抵;

* You must cause any modified files to carry prominent notices stating that You changed the files; and

* 你必須在任何修改過的文件中,帶有明顯的聲明嗤疯,表明你已更改文件冤今;

* You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work,excluding those notices that do not pertain to any part of the Derivative Works; and

* 在你分發(fā)的衍生作品的源代碼中,你必須保留本作品源碼中的所有版權(quán)身弊、專利、商標和歸屬聲明列敲,但與衍生作品無關(guān)的除外阱佛;

上面這段要求了在源碼中“留名”。注意那個 excluding戴而,對于那些在你衍生作品中已經(jīng)不存在的部分凑术,就不用再留名了。

* If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

* 如果本作品在分發(fā)時包含了一個“NOTICE”文本文件所意,則你分發(fā)的任何衍生作品都必須要有該NOTICE文件所包含的歸屬聲明(與衍生作品無關(guān)的聲明除外)淮逊,該歸功應(yīng)位于以下至少一個位置中:衍生作品分發(fā)時所帶的NOTICE文件催首;衍生作品所帶的源碼或文檔;衍生作品生成的展示頁面中(如果能正常顯示這些第三方聲明泄鹏,不管在什么地方都行)郎任。NOTICE文件的內(nèi)容僅僅是信息性的,不可以修改其中的許可證备籽。你可以在衍生作品中附加自己的歸功舶治,在NOTICE文本里面直接添加或者以附錄形式出現(xiàn),前提是附加的歸功不能造成對許可證的更改车猬。

上面這段濃墨重彩地強調(diào)了對“留名”的要求霉猛,包括對第三方作品的留名。

尤其是珠闰,即便不帶源碼惜浅,也要留名。

third-party notices 是指第三方作品的聲明伏嗜,比如你在A的基礎(chǔ)上發(fā)布衍生作品B坛悉,你和用戶是第一、二方阅仔,你用到的 A 以及其他作品就是第三方了吹散。后面章節(jié)會有實例說明這點。

值得注意的是八酒,很多使用 Apache 許可證的項目空民,并沒有帶 NOTICE 文件,而是會有類似 CREDITS 這樣的文件羞迷,原則上應(yīng)該把這類文件等同于NOTICE 文件對待界轩。(ASF的項目通常都很規(guī)范,都會帶一個 NOTICE 文件)

“if and wherever such third-party notices normally appear. ”這句不太好理解衔瓮,他的意思是浊猾,首先你要能展示(if),才有此要求热鞍,有的軟件根本沒有任何地方可以顯示信息(比如一個完全沒有顯示屏的硬件中)葫慎,那就不做這個要求。如果能展示薇宠,那就不限定在哪里(wherever)展示偷办。

* You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work?otherwisecomplies with the conditions stated in this License.

* 在你自己的修改中,你可以添加你的版權(quán)聲明澄港,并可提供附加的或不同的許可條款和條件椒涯,以供他人使用,復(fù)制或分發(fā)你的修改或整個衍生作品回梧,前提是你對本作品的使用废岂、復(fù)制和分發(fā)等符合本許可規(guī)定的條件祖搓。

這段主要說的是“再許可”(sublicense),一個作品A被人拿來做了修改產(chǎn)生了作品B湖苞,他在分發(fā)B時拯欧,可以加上其他許可條款,也可以使用完全不同的許可條款袒啼,但他在使用A哈扮、修改A、生成B蚓再、分發(fā)B時滑肉,都必須遵循本許可證。

其中的?otherwise?在這里并非“否則”的意思摘仅,而是“其他”靶庙、“等等”的意思,指的是A娃属、B六荒、C and otherwise。

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

5.提交貢獻矾端。除非你另有明確說明掏击,否則你有意提交給許可人的任何貢獻(用于包含在作品中)都默認遵守本許可的條款和條件,并且再沒有任何其他的條款或條件了秩铆。盡管是上面這么說砚亭,本文中的任何內(nèi)容都不能取代或修改你和許可人之間(可能)另外簽訂的有關(guān)此貢獻的其他任何條款。

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

6.商標殴玛。本許可不授權(quán)使用許可人的商品名捅膘、商標、服務(wù)標志或產(chǎn)品名滚粟,除非在描述本作品來源時和復(fù)制NOTICE文件時寻仗,有必要合理地、符合常規(guī)地引用凡壤。

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

7.沒有保證署尤。除非適用法律要求或以書面形式同意,否則許可人是“按原樣”提供本作品的(每個貢獻者也如是提供其貢獻)亚侠,沒有任何類型保證或條件(無論明示或暗示的)曹体,包括但不限于任何權(quán)利擔(dān)保、非侵權(quán)保證盖奈,適銷性保證混坞、適用性保證或條件狐援。你自行負責(zé)確定使用或重新分發(fā)本作品的適當(dāng)性钢坦,并承擔(dān)和你行使權(quán)利(本許可授予你的)有關(guān)的任何風(fēng)險究孕。

WARRANTY OF TITLE?即“權(quán)利擔(dān)保”爹凹,是指賣方應(yīng)保證其出售的貨物享有合法的權(quán)利厨诸,沒有侵犯任何第三人的權(quán)利,并且沒有任何第三人就該貨物向買方主張任何權(quán)利禾酱。

8.?Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

8.責(zé)任范圍微酬。不論是任何情況或任何法理依據(jù),任何貢獻者均不會對你的損失承擔(dān)責(zé)任颤陶,無論其產(chǎn)生于侵權(quán)(包括過失)颗管、合同還是其他情形,除非適用法律要求(例如故意和重大過失行為)或書面同意滓走。這些損失包括由于本許可產(chǎn)生的垦江、或由于使用或不能使用本作品而引起的、任何直接的搅方、間接的比吭、特殊的、偶然的姨涡、或伴隨結(jié)果而產(chǎn)生的任何性質(zhì)的損失(包括但不限于因商譽受損衩藤、停工、計算機故障或失效涛漂、以及任何其他商業(yè)性損壞而帶來的損失)赏表,即使貢獻者已經(jīng)被告知此類損失的可能性。

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License.However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

9.承擔(dān)保證或其他責(zé)任怖喻。在重新分發(fā)本作品或其衍生作品時底哗,你可以提供支持、保證锚沸、擔(dān)保以及其他責(zé)任跋选、義務(wù)及權(quán)利,并因此收費哗蜈,但必須滿足以下前提:符合本許可證的條款條件前标;在承擔(dān)這些責(zé)任時,你只能代表你自己(也只能單獨承擔(dān)責(zé)任)距潘,不能代表任何其他貢獻者炼列;如果因你承擔(dān)這些保證和責(zé)任導(dǎo)致任何貢獻者產(chǎn)生任何損失或被追責(zé),你同意擔(dān)保音比、保護每位貢獻者不受損失和免于責(zé)任俭尖。

END OF TERMS AND CONDITIONS

條款和條件結(jié)束

第9節(jié)However后面那句比較長,看起來容易犯暈。其結(jié)構(gòu)是這樣的:in accepting such obligations,?You may act only on Your own behalf and on Your sole responsibility,?( not on behalf of any other Contributor, and )?only if You agree to indemnify( , defend, and hold each Contributor harmless )?for any liability( incurred by ( , or claims asserted against, ) such Contributor )?by reason of your accepting any such warranty or additional liability.

indemnify主要指“擔(dān)保不受到損失或損害稽犁,即便受到損失也同意予以補償”焰望,hold harmless是指“自己承擔(dān)責(zé)任而免去對方的責(zé)任”。

APPENDIX: HOW TO APPLY THE APACHE LICENSE TO YOUR WORK

附錄:如何在你的作品中使用APACHE許可證

You should include a copy of the Apache License, typically in a file called LICENSE, in your work, and consider also including a NOTICE file.

你應(yīng)該在作品有一個LICENSE文件已亥,里面是Apache許可證的拷貝熊赖,你還應(yīng)考慮放一個NOTICE文件。

To apply the Apache License to specific files in your work, attach the following boilerplate declaration, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.

將Apache許可證應(yīng)用于你作品中某一特定文件時虑椎,請附加以下樣板聲明震鹉,“ [ ]”括起來的字段應(yīng)替換為你自己的標識信息。(不要包括方括號@)传趾,這段文本應(yīng)該位于該文件的注釋當(dāng)中。我們還建議將文件名或類別名以及用途說明泥技,和版權(quán)聲明放在同一“打印頁面”中墨缘,以便更容易地將第三方文檔區(qū)分開來。

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

上面這段不翻譯了零抬,原樣放上去就是了镊讼。

6

go-chassis 事件后續(xù)

還記得上面說的go-chassis事件嗎。

我以前對此并不了解平夜,研究Apache許可證之后才發(fā)現(xiàn)還有過這事蝶棋。

我當(dāng)然要去求證一下。

于是便去github倉庫上看忽妒,令我非常驚訝的是玩裙,在其third-party目錄下,已經(jīng)沒有了go-micro段直。

仔細翻了翻h(huán)istory吃溅,才發(fā)現(xiàn),2018年3月28日鸯檬, third_party/forked/go-micro目錄被移除干凈决侈。

同日,PR#151以標題“adjust license&notice”出現(xiàn)喧务,提議在LICENSE赖歌、NOTICE和README中,刪掉go-micro功茴。該PR得到了項目維護人tianxiaoliang的approve庐冯。

asim在issue#28里再次表達了他的不滿:

并在PR#151的對話中寫道:

大意是說,“你的作品是基于go-micro的坎穿,即便你修改和清除了go-micro的代碼展父,你也是基于我而來的返劲,你不能刪掉我的版權(quán)和許可。我仍然可以指出你的哪部分代碼像我的栖茉⌒竦龋”

不過這次抗議并沒有得到回應(yīng)。

2018年9月17日衡载,README中刪除了“本項目基于go-micro”這句。

2019年10月22日隙袁,NOTICE中的歸功被刪掉痰娱,licenses/LICENSE-go-micro文件被刪掉。

至此菩收,go-chassis和go-micro不再有關(guān)系了梨睁。

asim也沒有再說什么。

我又去看看了go-micro娜饵,發(fā)現(xiàn)asim雖然維權(quán)意識很強坡贺,但在版權(quán)聲明上做的還不夠,go-micro項目沒有NOTICE文件(這個還好箱舞,這不是必須的遍坟,尤其是沒有第三方可以歸功的時候);在所有的源文件中晴股,都沒有版權(quán)和許可信息愿伴,只是在LICENSE文件中Apache許可證的附錄部分,聲明了一下版權(quán)(這種做法也不常見电湘,通常是不動Apache許可證整個內(nèi)容的):

另外一點讓我感覺意外的是隔节,go-chassis雖然說已經(jīng)和go-micro無關(guān)了,但刪的并不干凈寂呛,在其代碼中還是能找到go-micro的字樣怎诫!

下面是在go-chassis中搜索go-micro的結(jié)果(2020年5月10日):

我只能認為,這可能是個疏忽贷痪。

7

我該怎么歸功

從Apache許可證和一些糾紛看幻妓,大家是很重視“留名”的。

畢竟劫拢,做開源的人涌哲,如果連“名”都圖不上,那可就差點意思了尚镰。

如何留下作者和貢獻者的名阀圾?

常見的做法是源代碼里面留名。源碼的首部應(yīng)該放上版權(quán)信息和許可信息狗唉。但我在github上翻了翻初烘,發(fā)現(xiàn)很多項目并沒有做到這點,有的完全沒有版權(quán)和許可信息,有的則是只寫許可不寫版權(quán)肾筐。

究其原因哆料,估計作者一是太懶鹃骂,二是沒有這個意識冬念。

做得比較好的項目涡拘,不僅在源碼中有聲明贯涎,還會專門在根目錄下放上諸如AUTHORS市咽、CONTRIBUTORS堰酿、OWNERS圃泡、CREDITS這類文件浸颓,對作者和貢獻者予以明確的歸功镊逝。(這些不是必須的壮啊,但是推薦的。)

關(guān)于版權(quán)那行撑蒜,有一種寫法是很講究的6歹啼,值得欣賞和學(xué)習(xí):

Copyright <year> <primary authors> and contributors

比如下面這個例子:

這并不是必須的,因為即便不這么寫座菠,貢獻者也是自動擁有其版權(quán)的狸眼。只不過這樣寫,顯得格外尊重貢獻者浴滴。

如何留下作品的名份企?

如果你使用(或依賴)了第三方作品,要在NOTICE和LICENSE中說明巡莹。

NOTICE文件是專門干這事的司志。

對于ASF的項目,一般都會有NOTICE文件降宅,但非ASF項目骂远,用的就不太多,即便是使用Apache許可證的腰根。

下面是Kafka項目的NOTICE文件激才,屬于比較標準的ASF項目寫法。除了致敬所用到的ASF作品外额嘿,Kafka特意對jersey做了歸功(以下為NOTICE全文)瘸恼。

在下面這個非ASF項目Hangfire7中,其NOTICE文件也很規(guī)范册养,文字表述非常詳盡东帅,值得學(xué)習(xí)(以下為文件首部)。

關(guān)于LICENSE文件球拦,除了放本項目的許可證靠闭,還應(yīng)放上所用其他項目的許可證帐我。下面以Apache Kylin項目為例看一下,Kylin使用了一些其他作品(它稱為子部件愧膀,subcomponent)拦键,這些作品使用的許可證在LICENSE文件中作了說明:

注意上面的截圖,是從207行開始的檩淋,上面的200多行芬为,就是Apache許可證全文,然后是他所用到子部件的許可證蟀悦。

如果用到的作品比較多媚朦,也可以專門建一個licenses目錄做這件事,go-chassis就是這樣做的熬芜。

為了很好地對貢獻者和第三方作品致敬,有的項目還會在網(wǎng)站上予以展示:

比如selenium項目8就密密麻麻地列出了貢獻者的名字和頭像福稳,看上去頗為壯觀涎拉。

以下僅僅為部分節(jié)選,有興趣的話可以去其網(wǎng)站觀摩一下的圆。

總之鼓拧,盡可能尊重貢獻者和你用到的作品,充分地給予他們榮譽越妈。這是開源人應(yīng)有的禮儀季俩。

8

關(guān)于“再許可”的迷思

為了更好理解Apache許可證,現(xiàn)在看一個我虛構(gòu)出來的測試案例梅掠。

Alice有一個作品A酌住,用Apache許可證發(fā)布,里面只有一個foo.c阎抒,文件的內(nèi)容可概括為:

版權(quán) 年份 Alice ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Apache許可信息

源碼

作品還帶了一個LICENSE和NOTICE酪我。LICENSE里面就是Apache許可證全文。

NOTICE里聲明了Alice對A的版權(quán)所有(也即對自己歸功)且叁。

現(xiàn)在Bob復(fù)制了作品A都哭,把foo.c略微修改了一下,改為:

版權(quán) 年份 Alice

“各位注意:我修改了許可信息逞带,從Apache改為了MIT” ? ? ? ? ? ? ? ? ? ? ??

MIT許可信息

源碼(未做實質(zhì)性改動)

Bob原樣保留NOTICE欺矫,在LICENSE中放了兩個許可證:MIT許可證、Apache許可證展氓。

Bob將這個作品命名為B穆趴,然后開始分發(fā)B。

這樣遇汞,Bob從實質(zhì)上把A從Apache許可證轉(zhuǎn)成了MIT許可證毡代。這意味著用B的人無需遵守Apache協(xié)議了阅羹,我們知道,MIT協(xié)議比Apache更寬松教寂,現(xiàn)在捏鱼,用B的人連修改哪了都不用說了。?

Alice發(fā)現(xiàn)這個情況酪耕,說导梆,“你這算什么啊,還有你這種騷操作迂烁?”

Bob說看尼,“我怎么了,我違反哪一條了盟步?”

從行為上看藏斩,B保留了A的版權(quán)信息,保留了許可證信息却盘,聲明了修改狰域,保留了歸屬信息。這一切都遵循了Apach許可證的條款和條件黄橘。

Alice翻遍許可證兆览,犀利地指出:

“根據(jù)第4節(jié)第5條,你只能對你修改的部分修改許可塞关√剑”

Bob說:“那條還說了,我可以對整個衍生作品修改許可帆赢!”

Alice又翻了翻許可證小压,再次犀利地指出:

“根據(jù)第1節(jié)對衍生作品的定義,你這不是衍生作品椰于!因為你沒有原創(chuàng)性场航!”

Bob:“……”

Bob翻了翻許可證,說:“好吧廉羔,我這不是衍生作品溉痢,但我確實有權(quán)利修改這個文件,而且我對我修改的部分做了聲明憋他,我還保留了你的版權(quán)和歸屬孩饼,我的所有操作都沒有違反Apache許可證要求≈竦玻”

Alice:“……”

你怎么看呢镀娶。

也許ASF是允許這種情況的,具體要看ASF如何解釋Apache許可證了揪罕。

為了遏制這種情況梯码,A應(yīng)該將自己的版權(quán)宝泵、倉庫地址、License都放在NOTICE文件中轩娶。

這樣儿奶,即便一個人拿到B,他也會知道B其實就是A鳄抒,A的原License是什么闯捎,源代碼在哪里。這個人可能會更傾向于直接使用A许溅,畢竟A更正宗瓤鼻。

*本文圖片來源網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除贤重!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末茬祷,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子并蝗,更是在濱河造成了極大的恐慌祭犯,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件借卧,死亡現(xiàn)場離奇詭異盹憎,居然都是意外死亡筛峭,警方通過查閱死者的電腦和手機铐刘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來影晓,“玉大人镰吵,你說我怎么就攤上這事」仪” “怎么了疤祭?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長饵婆。 經(jīng)常有香客問我勺馆,道長,這世上最難降的妖魔是什么侨核? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任草穆,我火速辦了婚禮,結(jié)果婚禮上搓译,老公的妹妹穿的比我還像新娘悲柱。我一直安慰自己,他們只是感情好些己,可當(dāng)我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布豌鸡。 她就那樣靜靜地躺著嘿般,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涯冠。 梳的紋絲不亂的頭發(fā)上炉奴,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天,我揣著相機與錄音功偿,去河邊找鬼盆佣。 笑死,一個胖子當(dāng)著我的面吹牛械荷,可吹牛的內(nèi)容都是我干的共耍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼吨瞎,長吁一口氣:“原來是場噩夢啊……” “哼痹兜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起颤诀,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤字旭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后崖叫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體遗淳,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年心傀,在試婚紗的時候發(fā)現(xiàn)自己被綠了屈暗。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡脂男,死狀恐怖养叛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宰翅,我是刑警寧澤弃甥,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站汁讼,受9級特大地震影響淆攻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嘿架,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一瓶珊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧眶明,春花似錦艰毒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柑土。三九已至,卻和暖如春绊汹,著一層夾襖步出監(jiān)牢的瞬間稽屏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工西乖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留狐榔,地道東北人。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓获雕,卻偏偏與公主長得像薄腻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子届案,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,515評論 2 359