本文由高級咨詢師薛亮據(jù)自由軟件基金會(FSF)的英文原文[1]翻譯而成,這篇常見問題解答澄清了在使用 GNU 許可證中遇到許多問題,對于企業(yè)和軟件開發(fā)者在實際應用許可證和解決許可證問題時具有很強的實踐指導意義。
2、對于 GNU 許可證的一般了解
2.1 為什么 GPL 允許用戶發(fā)布其修改版本?
自由軟件的一個關鍵特點是用戶可以自由合作。絕對有必要允許希望彼此幫助的用戶與其他用戶分享他們對錯誤的修復和改進。
有些人提出了 GPL 的替代方案,需要原作者批準修改版本。只要原作者持續(xù)進行維護,這種做法在實踐中可能會不錯,但是如果作者停止維護(或多或少會)去做別的事情,或并不打算去滿足所有用戶的需求,這種替代方案就會失敗。除了實踐上的問題之外,該方案也不允許用戶之間互相幫助。
有時候?qū)π薷陌姹镜目刂?,是為了防止用戶制作的各種版本之間造成混淆。根據(jù)我們的經(jīng)驗,這種混亂不是一個大問題。在 GNU 項目之外出現(xiàn)了許多版本的 Emacs,但用戶仍可以將它們區(qū)分開。GPL 要求版本創(chuàng)造者將他/她的名字標注其上,以區(qū)別于其他版本,并保護其他維護者的聲譽。
2.2 GPL 是否要求將修改版本的源代碼公開發(fā)布?
GPL 不要求您發(fā)布修改后的版本或其中的任何一部分。您可以自由地進行修改并私人使用它們,而無需進行發(fā)布。這也適用于組織(包括企業(yè));組織可以制作修改版本,在內(nèi)部使用它,并且絕不將修改版本發(fā)布到組織之外。
但是,如果您以某種方式向公眾發(fā)布修改后的版本,依據(jù) GPL 許可證,GPL 要求您保證程序的用戶可以獲得修改后源代碼。
因此,GPL 給你以某些特定方式發(fā)布修改后的程序的授權(quán),而不是以其他方式發(fā)布;但是,是否發(fā)布修改版本的決定取決于您。
2.3 我可以在同一臺電腦上安裝一個遵循 GPL 許可證的程序和一個不相關的非自由程序嗎?
可以。
2.4 如果我知道某些人有一個遵循 GPL 許可證的程序的副本,我可以要求他們給我一個副本嗎?
不可以,GPL 給人們制作和再分發(fā)程序副本的授權(quán),倘若有人選擇這樣做的話。那個人也有權(quán)選擇不去再分發(fā)該程序。
2.5 GPL v2 中的“書面文件對任何第三方有效”是什么意思? 這是否意味著世界上每個人都可以獲得任何遵循 GPL 許可證的程序的源代碼?
如果您選擇通過書面文件提供源代碼,那么任何向您索求源代碼的人都有權(quán)收到。
如果您對不附帶源代碼的二進制文件進行商業(yè)分發(fā),GPL 要求您必須提供一份書面文件,表明將稍后分發(fā)源代碼。當用戶非商業(yè)性地再分發(fā)他們從您那里獲取的二進制文件時,他們必須傳遞這份書面文件的副本。這意味著不能直接從您那里獲取二進制文件的人,仍然可以收到源代碼副本以及該書面文件。
我們要求書面文件對任何第三方有效的原因是,以這種方式間接收到二進制代碼的人可以從您那里訂購源代碼。
2.6 GPL v2 中規(guī)定,發(fā)布后的修改版本必須“授予…所有第三方許可”。這些第三方是誰?
第 2 節(jié)中規(guī)定,依據(jù) GPL,您分發(fā)的修改版本必須授權(quán)給所有第三方。 “所有第三方”當然是指所有人,但這并不要求您為他們做任何事情。這僅僅意味著他們依據(jù) GPL 從您那里獲得了您的修改版本的許可。
2.7 GPL 允許我出售程序的副本以獲利嗎?
是的,GPL 允許每個人這樣做。銷售副本的權(quán)利[3]是自由軟件定義的一部分。除了一種特殊情況之外,對您可以收取什么樣的價格是沒有限制的。(這種例外情況是:二進制版本必須附有表明將提供源代碼的書面文件。)
2.8 GPL 允許我從我的分發(fā)網(wǎng)站收取下載程序的費用嗎?
允許。您可以對您分發(fā)程序副本收取任何您想收取的費用。如果您通過下載分發(fā)二進制文件,則必須提供“等同的訪問權(quán)限”來讓人們下載源代碼,因此,下載源代碼的費用可能不會超過下載二進制文件的費用。
2.9 GPL 允許我要求任何接收軟件的人必須向我支付費用和/或通知我嗎?
不允許。實際上,這樣的要求會使程序變成非自由軟件。如果人們在獲得程序副本時必須支付費用,或者他們必須特別通知任何人,那么這個程序就不是自由軟件。請參閱自由軟件的定義[4]。
GPL 是自由軟件許可證,因此允許人們使用甚至再分發(fā)軟件,而不需要向任何人支付費用。
您可以向用戶收取費用,以獲取您的副本[5]。當他們從別人那里獲得副本時,您不能要求人們向您支付費用。
2.10 如果我收費分發(fā)遵循 GPL 的軟件,我是否還需要向公眾免費提供?
不需要。不過,如果有人向您支付費用并獲得副本,GPL 給予他們免費或收費向公眾發(fā)布的自由。例如,有人可以向您支付費用,然后把他的副本放在一個網(wǎng)站上,讓公眾去獲取。
2.11 GPL 允許我根據(jù)保密協(xié)議分發(fā)副本嗎?
不允許。GPL 規(guī)定,任何從您那里獲取副本的人都有權(quán)再分發(fā)已修改或未修改的副本。您不得在任何更嚴格的基礎上分發(fā)作品。
如果有人要求您簽署保密協(xié)議(NDA),以獲取來自 FSF 的遵循 GPL 的軟件,請立即通知我們 <license-violation@fsf.org>。
如果違規(guī)行為涉及其他版權(quán)所有者的遵循 GPL 的代碼,請通知該版權(quán)所有者,就像您對其他任何類型的 GPL 違規(guī)行為所做的工作一樣。
2.12 GPL 允許我根據(jù)保密協(xié)議分發(fā)程序的修改版或測試版嗎?
不可以。GPL 規(guī)定,您的修改版本必須具備 GPL 中規(guī)定的所有自由。因此,從您那里獲取您的版本副本的任何人都有權(quán)再分發(fā)該版本的副本(已修改或未修改)。您不得在更嚴格的基礎上分發(fā)該作品的任何版本。
2.13 GPL 是否允許我根據(jù)保密協(xié)議開發(fā)程序的修改版本?
可以。例如,您可以接受一份合同來開發(fā)修改版本,并同意不得發(fā)布您的修改版本,直到客戶同意才可以發(fā)布。這是允許的,因為這種情況下不處于 GPL 協(xié)議之下的代碼是依據(jù) NDA 分發(fā)的。
您還可以依據(jù) GPL 將您的修改版本發(fā)布給客戶,但須同意不將其發(fā)布給其他任何人,除非客戶同意。也同樣在這種情況下,不處于 GPL 協(xié)議之下的代碼是以保密協(xié)議或任何其他限制條款分發(fā)的。
GPL 將給予客戶再分發(fā)您的版本的權(quán)利。在這種情況下,客戶可能會選擇不行使這項權(quán)利,但他確實擁有這項權(quán)利。
2.14 為什么 GPL 要求程序的每個副本必須包含 GPL 許可證副本?
作品包含許可證副本至關重要,因此獲得程序副本的每個人都可以知道他們的權(quán)利是什么。
包括一個指向許可證的 URL,而不是將許可證本身包含在內(nèi),這是一種看起來很誘人的做法。但是您不能確定該 URL 在五年或十年后仍然有效。二十年后,我們今天所知道的 URL 們可能已不復存在。
不管網(wǎng)絡將發(fā)生什么樣的變化,確保擁有該程序副本的人員能夠繼續(xù)看到 GPL 許可證的唯一方法是,將許可證的副本包含在該程序中。
2.15 如果作品不是很長,那該怎么辦?
如果整個軟件包中只有很少的代碼——我們使用的基準是不到 300 行,那么您可以使用一個寬松的許可證,而不是像 GNU GPL這樣的 Copyleft 許可證(除非代碼特別重要)。我們建議這種情況使用 Apache License 2.0[6]。
2.16 我是否需要將我對遵循 GPL 的程序所做的修改聲明版權(quán)?
您不需要對您的修改聲明版權(quán)。不過,在大多數(shù)國家/地區(qū),默認情況下會自動獲得版權(quán),因此,如果您不希望修改受到版權(quán)限制,您需要將修改明顯地放置于公有領域。
無論您是否對您的修改聲明版權(quán),依據(jù) GPL,您都必須將修改版本作為整體發(fā)布(參見:2.2 GPL 是否要求將修改版本的源代碼公開發(fā)布?)。
2.17 GPL 對于將某些代碼翻譯成不同的編程語言是如何規(guī)定的?
根據(jù)著作權(quán)法,翻譯工作被認為是一種修改。因此,GPL 對修改版本的規(guī)定也適用于翻譯版本。
2.18 如果一個程序?qū)⒐蓄I域代碼與遵循 GPL 的代碼相結(jié)合,我可以取出公有領域的部分,并作為公有領域代碼來使用嗎?
您可以這樣做,如果您能弄清楚哪個部分是公有領域的部分,并將其與其他部分區(qū)分開。如果代碼曾經(jīng)由其開發(fā)人員放置在公有領域,那么它就是公有領域代碼,無論它現(xiàn)在究竟在哪里。
2.19 我想要因我的作品獲得聲譽。我想讓人們知道我寫了什么,如果我使用 GPL,我還能獲得聲譽嗎?
您一定能獲得這份作品的聲譽。遵循 GPL 發(fā)布的程序的一部分是以您自己名義撰寫的版權(quán)聲明(假設您是版權(quán)所有者)。GPL 要求所有副本攜帶恰當?shù)陌鏅?quán)聲明。
2.20 GPL 允許我添加條款,要求在使用遵循 GPL 的軟件或其輸出物的研究論文中包含引用或致謝嗎?
不可以,根據(jù) GPL 的規(guī)定,這是不允許的。雖然我們認識到適當?shù)囊檬菍W術(shù)出版物的重要組成部分,但引用不能作為對 GPL 的附加要求。對使用 GPL 軟件的研究論文要求包含引用,超出了 GPL v3 第 7(b)條中可接受的附加要求,因此將被視為對 GPL 第 7 節(jié)的額外限制。而且版權(quán)法也不允許您在軟件的輸出物[7]中設置這樣的要求,無論該軟件是依據(jù) GPL 還是其他許可證的條款獲得許可。
2.21 為了節(jié)省空間,我是否可以省略 GPL 的引言部分,或者省略如何在自己的程序上使用GPL的指導部分嗎?
引言和指導是 GNU GPL 的組成部分,不能省略。事實上,GPL 是受版權(quán)保護的,其許可證規(guī)定只能逐字復制整個 GPL。(您可以使用法律條款制作另一個許可證[8],但該許可證不再是 GNU GPL。)
引言和指導部分共約 1000 字,不到 GPL 總文字數(shù)量的 1/5。除非軟件包本身很小,否則引言和指導不會對軟件包的大小產(chǎn)生大幅度的改變。在軟件包很小的情況下,您可以使用一個簡單的全權(quán)許可證,而不是 GNU GPL。
2.22 兩個許可證“兼容”是指什么?
為了將兩個程序(或它們的實質(zhì)部分)組合成一個更大的作品,您需要有以組合方式使用這兩個程序的權(quán)限。如果兩個程序的許可證允許這種使用方式,則它們是兼容的。如果沒有辦法同時滿足這兩個許可證,則它們是不兼容的。
對于一些許可證,組合的方式可能會影響它們是否兼容,例如,它們可能允許將兩個模塊鏈接在一起,但不允許將其代碼合并到一個模塊中。
如果您只想在同一個系統(tǒng)中安裝兩個獨立的程序,那么它們的許可證并不是必須兼容的,因為它們沒有組合成更大的作品。
2.23 許可證與 GPL 兼容是什么意思?
這意味著其他許可證和 GNU GPL 兼容;在一個更大的程序中,您可以將根據(jù)其他許可證發(fā)布的代碼與根據(jù) GNU GPL 發(fā)布的代碼進行組合。
所有 GNU GPL 版本都允許進行這種組合;它們還允許分發(fā)這些組合,只要該組合在相同的 GNU GPL 版本下發(fā)布。其他許可證如果允許這樣做,則其與 GPL 兼容。
與 GPL v2 相比,GPL v3 與更多的許可證兼容:它允許您與具有特定類型附加要求(GPL v3 本身不包含)的代碼進行組合。GPL v3 第 7 節(jié)中有關于此問題的更多信息,包括了允許的附加要求的列表。
2.24 為什么原始的 BSD 許可證與 GPL 不兼容?
因為它規(guī)定了 GPL 不包含的具體要求,即對程序廣告的要求。GPL v2 第 6 節(jié)規(guī)定:
您不得對接受者行使本協(xié)議授予的權(quán)利施加進一步的限制。
GPL v3 在第 10 節(jié)中提到類似的內(nèi)容。廣告條款正好提供了這樣一個限制,因此與 GPL 不兼容。
修訂的 BSD 許可證沒有廣告條款,從而消除了這個問題。
2.25 “聚合”與其他類型的“修改版本”有什么區(qū)別?
“聚合”由多個單獨的程序組成,分布在同一個 CD-ROM或其他媒介中。GPL 允許您創(chuàng)建和分發(fā)聚合,即使其他軟件的許可證不是自由許可證或與 GPL 不兼容。唯一的條件是,發(fā)布“聚合”所使用的許可證不能禁止用戶去行使“聚合”中每個程序?qū)脑S可證所賦予用戶的權(quán)利。
兩個單獨的程序還是一個程序有兩個部分,區(qū)分的界限在哪里?這是一個法律問題,最終由法官決定。我們認為,適當?shù)呐袛鄻藴嗜Q于通信機制(exec、管道、rpc、共享地址空間內(nèi)的函數(shù)調(diào)用等)和通信的語義(哪些信息被互換)。
如果模塊們被包含在相同的可執(zhí)行文件中,則它們肯定是被組合在一個程序中。如果模塊們被設計為在共享地址空間中鏈接在一起運行,那么幾乎肯定意味著它們組合成為一個程序。
相比之下,管道、套接字和命令行參數(shù)是通常在兩個獨立程序之間使用的通信機制。所以當它們用于通信時,模塊們通常是單獨的程序。但是,如果通信的語義足夠親密,交換復雜的內(nèi)部數(shù)據(jù)結(jié)構(gòu),那么也可以視為這兩個部分合并成了一個更大的程序。
2.26 為什么 FSF 要求為 FSF擁有版權(quán)的程序做出貢獻的貢獻者將版權(quán)分配給 FSF?如果我持有 GPL 程序的版權(quán),我也應該這樣做嗎?如果是,怎么做? (同1.11)
我們的律師告訴我們,為了最大限度地向法院要求違規(guī)者強制執(zhí)行 GPL,我們應該讓程序的版權(quán)狀況盡可能簡單。為了做到這一點,我們要求每個貢獻者將貢獻部分的版權(quán)分配給 FSF,或者放棄對貢獻部分的版權(quán)要求。
我們也要求個人貢獻者從雇主那里獲得版權(quán)放棄聲明(如果有的話),以確保雇主不會聲稱擁有這部分貢獻的版權(quán)。
當然,如果所有的貢獻者把他們的代碼放在公共領域,也就沒有用之來執(zhí)行 GPL 許可證的版權(quán)了。所以我們鼓勵人們?yōu)榇笠?guī)模的代碼貢獻分配版權(quán),只把小規(guī)模的修改放在公共領域。
如果您想要在您的程序中執(zhí)行 GPL,遵循類似的策略可能是一個好主意。如果您需要更多信息,請聯(lián)系<licensing@gnu.org>。
2.27 如果我使用遵循 GNU GPL 的軟件,那么允許我將原始代碼修改為新程序,然后在商業(yè)上分發(fā)和銷售新程序嗎?
您被允許在商業(yè)上出售修改程序的副本,但僅限于在 GNU GPL 的條款之下這么做。因此,例如,您必須依照 GPL 所述,使得程序用戶可獲取源代碼,并且,用戶也依照 GPL 所述,被允許再分發(fā)和修改程序。
這些要求是將遵循 GPL 的代碼包含在您自己的程序中的條件。
2.28 我可以將 GPL 應用于軟件以外的其他作品嗎? (同1.6)
您可以將 GPL 應用于任何類型的作品,只需明確該作品的“源代碼”構(gòu)成即可。GPL 將“源代碼”定義為作品的首選形式,以便在其中進行修改。
不過,對于手冊和教科書,或更一般地,任何旨在教授某個主題的作品,我們建議使用 GFDL,而非 GPL。
2.29 我想依據(jù) GPL 授權(quán)我的代碼,但我也想明確指出,它不能用于軍事和/或商業(yè)用途。我可以這樣做嗎?
不可以,因為這兩個目標相互矛盾。GNU GPL 被專門設計為防止添加進一步的限制。GPL v3 在第 7 節(jié)允許非常有限的一組附加限制,但是用戶可以刪除任何其他添加的限制。
2.30 我可以依據(jù) GPL 來對硬件進行許可嗎?
任何可以受版權(quán)保護的材料都可以依據(jù)GPL進行許可。GPL v3 也可以用于受其他類似版權(quán)法的法律保護的材料,如半導體掩模。因此,作為一個例子,您可以依據(jù) GPL 發(fā)布物理對象的圖紙或電路。
在許多情況下,版權(quán)不涵蓋依照圖紙制作的物理硬件。在這種情況下,無論您使用什么許可證,您對圖紙的許可都不能對制造或銷售物理硬件施加任何控制。當版權(quán)不涵蓋利用 IC 掩膜等進行硬件制作時,GPL 能以有效的方式處理這種情況。
2.31 將遵循 GPL 的二進制文件預鏈接到系統(tǒng)上的各種庫,以優(yōu)化其性能,將被視為修改嗎?
不。預鏈接是編譯過程的一部分;與編譯過程所涉及的其他各個方面相比,預鏈接沒有引入更多的許可證要求。如果您被允許將程序鏈接到各種庫,那么也可以預鏈接到各種庫。如果您分發(fā)預鏈接后的目標碼,則需要遵循第 6 節(jié)的條款。
2.32 LGPL 如何與 Java 配合使用?
詳情請參閱這篇文章[9]。LGPL 如同被設計、被預想、被期待的那樣去工作。
2.33 為什么你們在 GPL v3 中發(fā)明新的術(shù)語“傳播”和“傳遞”?
(譯者注:convey 這個詞匯在一個 GPL 譯本中被翻譯為“轉(zhuǎn)發(fā)”,此處,我們認為“轉(zhuǎn)發(fā)”一詞在計算機領域存在一定的歧義,因此,采用“傳遞”的翻譯。)
GPL v2 中使用的“分發(fā)”一詞來自美國版權(quán)法。多年來,我們了解到,一些司法管轄區(qū)在自己的版權(quán)法中使用了同一個詞,但卻給出了不同的含義。我們發(fā)明了這些新術(shù)語,無論在何處對許可證進行解釋,都使我們的意圖盡可能清楚。這些新術(shù)語沒有使用在世界上的任何版權(quán)法中,我們直接在許可證中提供了它們的定義。
2.34 在GPL v3中的“傳遞”與GPL v2中的“分發(fā)”意思一樣嗎?
是的,差不多是一個意思。在執(zhí)行 GPL v2 的過程中,我們了解到一些司法管轄區(qū)在自己的版權(quán)法中使用了“分發(fā)”這個詞,但給出了不同的含義。我們發(fā)明了一個新的術(shù)語,以使我們的意圖清晰,避免這些差異可能引起的任何問題。
2.35 如果我只復制遵循 GPL 的程序并運行它們,而不分發(fā)或傳遞給其他人,許可證對我施加什么要求?
沒有要求。GPL 不對此活動附加任何條件。
2.36 GPL v3將“向公眾提供”作為傳播的一個例子。這是什么意思? 是提供一種可獲取的傳遞形式嗎?
“向公眾提供”的一個例子是將該軟件放在公共網(wǎng)頁或FTP服務器上。在您這樣做之后,在任何人從您那里真正獲取軟件之前,可能會需要一段時間,但是由于這種情況可能會立即發(fā)生,您也需要能夠立即履行 GPL 的義務。因此,我們將“傳遞”定義為包括這一活動。
2.37 鑒于分發(fā)和向公眾提供作為傳播形式,同樣也構(gòu)成了 GPL v3 中的“傳遞”,那么有哪些傳播的例子不構(gòu)成傳遞嗎?
為自己制作軟件的副本是不構(gòu)成“傳遞”的主要傳播形式。您可以依此在多臺計算機上安裝軟件,或進行備份。
2.38 GPL v3 如何讓 BitTorrent 分發(fā)變得更容易?
因為 GPL v2 是在軟件的點對點分發(fā)普及之前編寫的,所以當您利用這種方式分享代碼時,很難滿足 GPL v2 的要求。在 BitTorrent 上分發(fā) GPL v2 目標代碼時,確保您合規(guī)的最佳方法是將所有相應的源代碼包含在相同的種子文件中,但這種方式代價高昂。
GPL v3 以兩種方式解決了這個問題。首先,作為該過程的一部分,下載此種子文件并將數(shù)據(jù)發(fā)送給其他人的人不需要做任何事情。因為第 9 節(jié)規(guī)定:“受保護作品的輔助傳播如果僅僅是使用點對點傳輸來接收副本,不需要接受[本許可證]?!?/p>
第二,通過告知接收人在公共網(wǎng)絡服務器上哪里可獲取,GPL v3 的第 6(e)節(jié)旨在給予分發(fā)者(最初制作種子文件的人)一種清晰、直觀的方式來提供源代碼。這樣可以確保每個想要獲取源代碼的人都可以如此獲取,而且分發(fā)者幾乎不用擔心。
2.39 什么是 TiVo化? GPL v3 對此如何防止?
一些設備使用可升級的自由軟件,但被設計為用戶不能修改該軟件。有很多不同的方式可以做到這一點;例如,有時硬件校驗所安裝的軟件,如果與預期簽名不匹配,則關閉軟件。制造商通過提供源代碼來遵循GPL v2,但是您仍然無法自由修改您使用的軟件。我們稱這種做法為TiVo 化。
當人們分發(fā)包含遵循 GPL v3 軟件的“用戶產(chǎn)品”時,第 6 節(jié)要求他們?yōu)槟峁┬薷脑撥浖璧男畔??!坝脩舢a(chǎn)品”是該許可證特別定義的術(shù)語;“用戶產(chǎn)品”的示例包括便攜式音樂播放器、數(shù)字錄像機和家庭安全系統(tǒng)。
2.40 GPL v3 是否禁止 DRM?
不禁止,您可以使用遵循 GPL v3 發(fā)布的代碼來開發(fā)您喜歡的任何類型的 DRM 技術(shù)。不過,如果您這樣做,第 3 節(jié)規(guī)定,系統(tǒng)不會被視為一種有效的技術(shù)“保護”措施,這意味著如果有人破壞了 DRM,他也可以自由分發(fā)他的軟件,不受《美國數(shù)字千禧版權(quán)法》(DMCA)和類似法律的限制。
像往常一樣,GNU GPL 并不限制人們在軟件中怎么做,只是阻止他們限制他人。
2.41 GPL v3 是否要求投票人能夠修改在投票機中運行的軟件?
不要求。企業(yè)分發(fā)包含遵循 GPL v3 軟件的設備,最多只需要為擁有目標代碼副本的人提供軟件的源代碼和安裝信息。使用投票機(如同任何其他信息亭一樣)的選民不能擁有它,甚至不能暫時擁有,所以選民也不能擁有二進制軟件。
不過,請注意,投票是一個非常特殊的情況。僅僅因為計算機中的軟件是自由軟件,并不意味著您可以信任計算機,并進行投票。我們認為電腦不值得信任,不能被用作投票。投票應在紙上進行。
2.42 GPL v3 是否包含“專利報復條款”?
實際上,是的。第 10 節(jié)禁止傳遞該軟件的人向其他被許可人發(fā)起專利訴訟。如果有人這樣做,第 8 節(jié)解釋他們將如何喪失許可證權(quán)益以及與之伴隨的所有專利許可。
2.43 在 GPL v3 和 AGPL v3中,當說到“盡管有本許可證的其他規(guī)定”時,是什么意思?
這僅僅意味著以下條款勝過許可證中可能與之沖突的其他任何內(nèi)容。例如,如果沒有該文本,有些人可能聲稱,您不能將遵循 GPL v3 的代碼與遵循 AGPL v3 的代碼結(jié)合在一起,因為 AGPL 的附加要求將被歸類為 GPL v3 第 7 節(jié)下的“進一步限制”。該文本明確表示我們的預期解釋是正確的,您可以進行組合。
該文本僅解決許可證不同條款之間的沖突。當兩個條件之間沒有沖突的時候,您必須同時滿足它們。這些段落不允許您輕率地忽略許可證的其余部分,它們只是強調(diào)了一些非常有限的例外。
2.44 在 AGPL v3 中,怎么才算是“通過計算機網(wǎng)絡遠程與[軟件]進行交互”?
如果程序被明確設計為接受用戶請求并通過網(wǎng)絡發(fā)送響應,則它符合這些標準。屬于此類程序的常見示例包括網(wǎng)絡和郵件服務器、交互式網(wǎng)絡應用程序和在線游戲的服務器。
如果程序沒有被明確設計為通過網(wǎng)絡與用戶進行交互,而是恰好在這樣做的環(huán)境中運行,那么它不屬于此類。例如,僅僅因為用戶通過 SSH 或遠程 X 會話來運行的應用程序不需要提供源代碼。
2.45 GPL v3 中“您”的概念如何與 Apache License 2.0 中“法律實體”的定義相比較?
它們是完全相同的。Apache License 2.0 中“法律實體”的定義在各種法律協(xié)議中是非常標準的,因此,如果法院在缺乏明確定義的情況下沒有以同樣的方式解釋該術(shù)語,將會令人非常驚訝。我們完全期待他們在看 GPL v3 時也會如此,并考慮到誰有資格作為被許可人。
2.46 在 GPL v3 中,“該程序”是指什么? 是每個依據(jù) GPL v3 發(fā)布的程序?
術(shù)語“該程序”是指依據(jù) GPL v3 進行許可的特定作品,由特定被許可人從上游許可人或分發(fā)者那里接收。“該程序”是您在 GPL v3 許可的指定情境下接受到的特定軟件作品。
“該程序”并不意味著“依據(jù) GPL v3 進行許可的所有作品”;由于一些原因,這種解釋沒有任何意義。針對那些想要了解更多的人,我們已經(jīng)發(fā)表了對“該程序”一詞的分析[10]。
2.47 如果某些網(wǎng)絡客戶端軟件依據(jù) AGPL v3 發(fā)布,是否必須能夠向與之交互的服務器提供源代碼?
AGPL v3 需要該程序向“所有通過計算機網(wǎng)絡進行遠程交互的用戶”提供源代碼。至于您將程序稱為“客戶端”還是“服務器”,那無關緊要。您需要詢問的問題是,是否存在合理的期望讓一個人通過網(wǎng)絡遠程與該程序交互。
2.48 對于一個運行在代理服務器上的依據(jù) AGPL 進行許可的軟件來說,如何向與該軟件交互的用戶提供源代碼書面文件?
對于代理服務器上的軟件,您可以通過向此類代理的用戶傳遞消息的常規(guī)方法來提供源代碼書面文件。例如,Web 代理可以使用登錄頁。當用戶最初開始使用代理時,您可以將他們引導到包含源代碼書面文件以及您選擇提供的任何其他信息的頁面。
AGPL 規(guī)定,您必須向“所有用戶”提供書面文件。如果您知道某個用戶已經(jīng)被展示過書面文件,對于當前版本的軟件,您不必再重復向該用戶提供。