歡迎光臨
每天分享高質量文章

容器、GPL 與左版:無需過度擔憂 | Linux 中國

想要知道開源許可證對 Linux 容器有什麼影響嗎?以下問題您需要瞭解。
— Richard Fontana


轉載自 | https://opensource.com/article/18/1/containers-gpl-and-copyleft
 作者 | 集慧智佳 / 薛亮

提要:想要知道開源許可證對 Linux 容器有什麼影響嗎?以下問題您需要瞭解。

儘管目前開源軟體已經成為主流,但是不斷涌現的軟體新技術以及重新流行的舊技術有時也會引發對開源許可證的強烈擔憂。大多數情況下,大家關註的焦點是 GPL 許可證,特別是經常(有時是誤導性的)被描述為 GPL 衍生作品問題的左版copyleft範圍問題。

將該問題結構化的一個不完美方式是:遵循 GPL 許可證的代碼在某種意義上與專有代碼相結合,形成一個單獨的修改後作品,是否可以解釋為該專有代碼受到 GPL 許可證的約束?雖然我們還沒有看到很多針對 Linux 容器的問題,但隨著容器的採用持續增長,我們預計會有更多的問題提出來。不過,有相當簡單的方式可以表明,容器不會引發新的或有關 GPL 範圍的問題。

法規和判例在解釋類似 GPL 這樣的許可證方面幾乎沒有什麼幫助。另一方面,即使是在自由軟體基金會(FSF)不是相關軟體版權持有者的典型情況下,我們中的許多人也重視 FSF 作為 GPL 起草者和管理者的解釋性觀點。除了作為許可證文本的作者之外,FSF 多年來一直致力於向社區提供有關許可證的評論和指導。基於自由軟體政策的公共利益使命和領導力,FSF 的觀點具有特殊的可信度和影響力。

FSF 關於 GPL 解釋的現有指導,有助於理解在容器中將 GPL 代碼和非 GPL 代碼包含在內所產生的效果。FSF 在界定左版範圍時重點考慮了行程的邊界,以及多個軟體組件之間的通信機制和語意,以確定它們的緊密集成程度是否足以被視為 GPL 意義下的單個程式。例如,GNU 許可證常見問題解答[1]認為,在沒有足夠“密切”intimate通信的情況下,管道、套接字和命令列引數通常可以被隱含認為是具備獨立性的機制

考慮容器中有 GPL 代碼和專有代碼可能共存並執行的情況,實際上,容器是一個孤立的用戶空間棧。在 OCI 容器映像格式[2]中,代碼被打包為一組檔案系統的變更層,基本層通常是一個沒有內核的精簡傳統 Linux 發行版。與非容器化的 Linux 發行版的用戶空間一樣,這些基本層包括許多遵循 GPL 許可證(GPL v2 以及 GPL v3)的軟體包,以及許多遵循被認為與 GPL 不兼容許可證的軟體包,並且通常作為專有以及開源應用的運行環境。GPL v2 中“單純聚合mere aggregation[3]”條款(以及 GPL v3 中有關“聚合[4]”的條款)表明,這種組合通常是可以被接受的,在 GPL 中進行了特別考慮,如果不兼容的被許可組件是分離和獨立的,就不會影響兩個程式的許可。

當然,在特定情況下,兩個組件之間的關係可能不是“單純聚合”,但是在 Linux 系統上的非容器化用戶空間中運行的軟體也是如此。容器或容器映像的技術構成中沒有任何暗示表明需要應用特殊形式的左版範圍分析。

因此,當考察運行在容器中的代碼和運行在容器外面的代碼之間的關係時,幾乎肯定會滿足“分離和獨立”的標準。代碼將作為單獨的行程運行,使用容器的整個技術要點是與運行在系統上的其他軟體隔離。

現在考慮兩個組件的情況,其中一個遵循 GPL 許可證,另一個為專有軟體,它們運行在分離但可能交互的容器中,也許作為使用微服務[5]體系結構設計的應用程式的一部分。在沒有特別不尋常事實的情況下,我們不應該期望看到左版的範圍跨越多個容器。分離的容器涉及分離的行程。通過網絡接口在容器之間進行通信類似於管道、套接字等機制,多容器微服務場景似乎排除了 FSF 所定義的“密切[6]”通信。使用多個容器的應用程式的組成可能不是 GPL 範圍問題的決定因素,但它使組件之間的技術邊界更加明顯,併為爭論“分離性”提供了強有力的基礎。這其中也沒有容器的技術特征暗示對左版的範圍分析應用不同或更嚴格的方法。

過度關心分發 GPL 代碼潛在影響的企業可能會試圖禁止其開發人員將任何此類代碼添加到計劃分發的容器映像中,目的就是為了避免依據 GPL 許可證分發代碼,但這是一個容易受到質疑的策略。如上所述,常規容器映像的基礎層將包含多個遵循 GPL 的組件。如果該公司將容器映像推送到註冊表中,通常無法保證這其中不包含基礎層,即使它被廣泛共享。

另一方面,通過隔離 GPL 代碼和專有代碼,企業可能會決定採用容器化作為減少左版範圍影響的一種手段,雖然人們希望基於技術上的益處,而不是莫須有的對 GPL 焦慮所帶來的法律擔憂來推動該決策。而在非容器化環境中,兩個相互作用的軟體組件之間的關係往往是單純聚合,容器化所提供的“分離性”證據可能讓那些擔心 GPL 範圍的人們感到安慰。

共享容器映像時,可能會出現開源許可證合規義務問題。但是,對於容器來說,沒有什麼技術上的不同或獨一無二的東西可以改變這些義務的性質,或者使它們更難滿足。關於左版的範圍,容器化應該能夠緩解過度的擔憂。


作者簡介:Richard Fontana 是紅帽公司法律部門產品和技術團隊的高級商業顧問。 他的大部分工作都集中在開源相關的法律問題上。

譯者簡介:薛亮,集慧智佳知識產權咨詢公司高級咨詢師,擅長專利檢索、專利分析、競爭對手跟蹤、FTO分析、開源軟體知識產權風險分析,致力於為互聯網企業、高科技公司提供知識產權咨詢服務。

推薦文章

< 左右滑動查看相關文章 >

點擊圖片、輸入文章 ID 或識別二維碼直達

赞(0)

分享創造快樂