SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor

Linux 到底誰擁有?著作權與商標完整解析

Linux 沒有單一所有者:每項貢獻的著作權各自保留,Linus Torvalds 擁有 Linux 商標,Linux Foundation 僅取得商標授權。

Linux 由誰擁有:簡短回答

Linus Torvalds 建立了 Linux。1991 年 8 月,他宣布正在開發 Linux kernel。但如今,沒有任何單一個人或公司擁有 Linux 的全部內容。「誰擁有 Linux」的答案取決於你所指的是哪個部分。

程式碼的權利歸屬於各項貢獻的擁有者。貢獻內容的著作權仍由原始擁有者持有。該擁有者可能是提交貢獻的開發者、開發者的雇主,或其他實體。整個 kernel 僅依 GNU General Public License (GPL) version 2 授權。「Linux」這個名稱則不同:它是 Linus Torvalds 本人註冊的商標。Linux Foundation 是該商標的專屬被授權人,而不是商標擁有者;它也不決定哪些修補程式會納入 kernel。

以下各節會依序說明每一層。先介紹程式碼,再介紹名稱,最後介紹 Foundation。最後一節涵蓋 SCO 訴訟,這些訴訟曾在法院中檢驗對 Linux 的所有權主張。

誰擁有 Linux kernel 程式碼的著作權?

Linux Foundation 直接說明:「沒有任何單一個人或實體擁有 Linux kernel 的全部著作權。」該基金會表示:「Linux kernel 採用分散式著作權所有權架構。」依最常見的模式,基金會指出:「貢獻者保留其著作權所有權」,而這項事實會透過 Developer Certificate of Origin (DCO) 簽署,記錄在貢獻內容中。

不過,提交 patch 的人不一定就是著作權所有人。Linux Foundation 另一篇說明著作權聲明的文章指出,每項貢獻的著作權仍由原始所有人持有,並提醒:「貢獻者可能不知道擁有著作權的特定個人或法人。」該文章也表示,所有人可能是貢獻者、貢獻者的雇主,或其他實體。

kernel 專案本身的頁面也指向相同結論。kernel.org 的法律頁面表示,分散式軟體「由各自的貢獻者持有著作權」。該頁面是針對 kernel.org 所託管全部內容的一般免責聲明,因此並非只針對 kernel 的說明。kernel 開發者的執法聲明則更為具體,其中提到「對我們社群所提交貢獻各自擁有的著作權」。

此處有一項重要區別。kernel 的 patch 提交指南說明如何為 patch 簽署,但未說明之後由誰擁有著作權。所有權的說明來自 Foundation。簽署則是 Foundation 所指出的機制。

這種架構會導出一項實際結果。由於沒有任何單一實體持有全部著作權,因此沒有任何單一實體能夠自行替整個 kernel 重新授權。

Signed-off-by 行證明什麼?

提交至 kernel 的每個 patch 都會附上 sign-off。kernel 的 submitting-patches 指南將其描述為「說明文字末尾的一行簡單文字」。貢獻者加入這一行後,即證明「該 patch 是由自己撰寫,或自己以其他方式取得將其作為 open source patch 提交的權利」。所證明的規範是 Developer's Certificate of Origin 1.1,指南也完整列出其內容。

DCO 以「透過為此專案做出貢獻,我證明:」開頭,接著列出 (a) 至 (d) 四項條款。(a) 涵蓋一般情況:該貢獻全部或部分由貢獻者建立,且貢獻者有權依檔案所標示的 open source license 提交該貢獻。(b) 涵蓋以既有程式碼為基礎的工作,且該程式碼採用適用的 open source license。(c) 涵蓋未經修改便由他人轉交的貢獻,而該他人已依 (a)、(b) 或 (c) 完成證明。

(d) 涉及公開紀錄。貢獻者同意該貢獻會公開,且「貢獻紀錄(包括我隨附提交的所有個人資訊,包括我的 sign-off)會永久保存,並可能重新散布」。指南也要求貢獻者使用「可識別的身分(抱歉,不接受匿名貢獻。)」

Git 會自行寫入這一行。指南指出:「如果使用 git commit -s,系統會自動為你完成這項工作。」以下命令會設定身分、建立 signed-off commit,並顯示其訊息。

git config user.name "Ana Example"
git config user.email "ana@example.org"
git commit -s -m "docs: fix a typo in the README"
git log -1 --format=%B

顯示的訊息最後一行是 Signed-off-by: Ana Example <ana@example.org>。Git 會根據前兩個命令設定的姓名與 email 建立這一行。指南本身的範例也採用相同格式,姓名為 Random J Developer。

當一個 patch 經過多位人員處理時,每個人都會加入一行。指南指出,這些鏈結「應反映 patch 在傳遞給 maintainers,最後送達 Linus 的過程中實際經過的路徑」。

Linux Foundation 對貢獻機制的指引補充了法律層面的說明。DCO「不是合約」,也「本身不是 license」。它是貢獻者單方面做出的聲明。同一頁也指出:「Developer Certificate of Origin 源自 Linux kernel 貢獻者社群。」即使 patch 的部分內容由 coding assistant 撰寫,sign-off 仍會證明提交者具備提交該 patch 的權利;這也是 open source 專案對 AI 輔助程式碼的政策背後的問題。

哪項授權條款適用於 Linux kernel?

kernel 頂層的 COPYING 檔案會列出授權條款。檔案指出,kernel「僅依 GNU General Public License version 2 的條款」提供,並具有「明確的 syscall 例外」。檔案也指出:「所有對 Linux Kernel 的貢獻都受本 COPYING 檔案規範。」任何人都可以讀取檔案中的機器可讀標籤:

curl -s https://raw.githubusercontent.com/torvalds/linux/master/COPYING | grep SPDX

輸出結果是 SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note。SPDX(Software Package Data Exchange)是一套標準化的簡短授權名稱。該標籤寫著「GPL-2.0」,而 kernel 的 licence-rules 文件則明確說明其含義:「Linux Kernel 僅依 GNU General Public License version 2 的條款(GPL-2.0)提供。」簡單來說,kernel 採用 GPL-2.0-only。

syscall 說明回答了每個在 Linux 上執行的程式都會涉及的問題。程式透過 system call 與 kernel 交互。licence-rules 文件指出,「syscall 介面是一道明確界線,不會將 GPL 要求延伸至」使用該介面的任何軟體。因此,應用程式不會只因為在 Linux 上執行,就受到 GPL 規範。

kernel 內部的程式碼則是另一回事。合規聲明指出:「遵守 GPL-2.0 的互惠散布義務至關重要。」如需瞭解這些義務的來源,以及它們與寬鬆授權條款的差異,請參閱 GPL、MIT 與 Apache 授權條款的歷史。如需瞭解授權條款對費用的意義,請參閱 Linux 是否真的可免費使用。

誰擁有 Linux 商標?

名稱的所有權與程式碼分屬不同的財產。Linux Foundation 的商標頁面以以下法律聲明開頭:「Linux® 是 Linus Torvalds 在美國及其他國家註冊的商標。」該 Foundation 表示自己是「Linus Torvalds 的唯一被授權人;Linus Torvalds 在全球範圍內擁有該商標」。

該 Foundation 透過再授權計畫管理此商標。商標頁面在 Linux Mark Institute 之後,將此計畫稱為 LMI 的再授權計畫。依據該計畫,「Linux Foundation 會向通過核准的再授權申請人提供免費、永久且全球適用的再授權。」作為交換,再授權人「必須同意,不在任何司法管轄區質疑 Linus Torvalds 對 Linux 商標的所有權」。該 Foundation 的另一個商標使用頁面則表示,名稱的使用「必須符合 Linux Mark Institute 的政策」。

產品何時需要 Linux 商標再授權?

Foundation 的頁面提供 3 個問題的判定方式。名稱是否為商標?是否包含「Linux」?是否用於軟體相關的商品或服務?「如果以下 3 個問題的答案全都是『是』,就需要申請再授權。」如果其中任何一個答案是「否」,就不需要再授權。

大多數日常使用都不符合這項判定。該頁面指出,「合理使用『Linux』不需要取得再授權」,而撰寫包含該詞文章的記者也不需要取得再授權。頁面也表示,包含 Linux 的網域名稱不需要再授權,除非該網域名稱被用作商標;同時指出 T 恤和馬克杯「通常被視為合理使用」。

商標涵蓋的範圍也比許多人預期的更窄。2007 年,InformationWeek 報導 Torvalds 擁有 Linux 商標,而且「Rosch 也擁有該商標;Rosch 是一家位於瑞士的洗衣劑公司」,原因是「商標的授予基礎要狹窄得多」。這是 2007 年的媒體報導。該註冊目前是否仍然存在,需查閱瑞士商標註冊簿。

Linux Foundation 何時成立?由哪些組織合併而成?

Linux Foundation 源自一次合併。2000 年,包括 IBM、HP 和 Intel 在內的企業聯盟成立了 Open Source Development Labs (OSDL)。2007 年,OSDL 與 Free Standards Group 合併,成立 Linux Foundation。Linux Foundation 將自身描述為「501(c)(6) 非營利組織」。

誰資助 Linux Foundation,以及該基金會聘用哪些人?

會員公司提供資金。Linux Foundation 的一篇介紹基金會運作方式的部落格文章,提到「LF 的公司會員在贊助開放原始碼專案及聘用開發人員方面扮演重要角色」。同一篇文章也表示,LF 最大型專案的「主要維護者多數(若非全部)並不是志願者,而是會員公司的全職員工」。基金會的會員頁面則表示,會員「協助支援共享技術資源的開發」。

此處引用的基金會頁面未提供營收明細或費用表。需要這些數字的讀者,應查閱發布於 linuxfoundation.org 的年度報告;這些報告是主要紀錄。

在人員方面,基金會將 Linus Torvalds 和 Greg Kroah-Hartman 列為 Fellows。Torvalds 的人物介紹表示:「Linus 仍是納入標準 Linux kernel 之新程式碼的最終決策者。」其 Fellows 頁面表示,Kroah-Hartman 持續維護 kernel,「同時在完全中立的環境中工作」。兩人的人物介紹都未說明聘用條件。

Linux Foundation 不控制什麼?

它不控制哪些修補程式會合併。核心的流程文件明確指出:「只有一個人可以將修補程式合併至主線核心儲存庫:Linus Torvalds。」Torvalds 會從子系統維護者取得變更;文件也指出,「一般而言,Linus 信任子系統維護者不會將有問題的修補程式送至上游。」文件將這些維護者稱為其所管理核心部分的「守門人(廣義而言)」。

新程式碼會在約 2 週的合併窗口期間加入;合併窗口會在第 1 個 release candidate(-rc1)發布時結束。這個流程中的合併決策由 Torvalds 及他所信任的維護者負責。Torvalds 在 Linux Foundation 擔任 Fellow,但他的合併權限來自核心本身的流程。若要了解這套流程如何從單一開發者的專案逐步發展而來,請參閱 Linux 核心歷史時間軸。

SCO 訴訟主張了什麼?最後如何收場?

SCO Group 的訴訟在法院中檢驗了 Linux 及其相關程式碼的所有權主張。最重要的是兩起案件:SCO 控告 Novell,爭議 UNIX 著作權歸誰所有;以及 SCO 控告 IBM。

在 Novell 案中,Utah 聯邦地方法院最初就著作權所有權一事作出有利於 Novell 的即決判決。2009 年 8 月 24 日,US Court of Appeals for the Tenth Circuit(No. 08-4217)撤銷了該部分判決:「我們部分維持、部分撤銷地方法院的判決,並將其發回,就剩餘爭點進行審判。」所有權問題因此發回審判。

Tenth Circuit 後續的裁定記載了結果:「發回後,陪審團經過為期 2 週的審判,認定 Novell 擁有著作權。」地方法官也「認定 Novell 保留了授權中的權利,其中包括阻止 SCO 終止移轉前簽發的 UNIX 授權之權利。」SCO 再次提起上訴。2011 年 8 月 30 日,Tenth Circuit(No. 10-4122)表示:「我們維持原判。」該裁定屬於未刊行的命令與判決,法院並註明其不構成具拘束力的判例。因此,陪審團認定爭議中的 UNIX 著作權屬於 Novell,而非 SCO。

在 IBM 案中,Tenth Circuit 的意見書記載,SCO 指控 IBM 揭露 Santa Cruz 的專有資料,將其納入 Linux。法院(No. 16-4040)於 2017 年 10 月 30 日提出意見書,並於 2018 年 1 月 2 日提出修正版意見書。法院裁定:「我們撤銷地方法院就不當挪用主張所作的即決判決,並就其餘爭點予以維持。」其中一項主張被發回地方法院。該案在 US District Court for the District of Utah 的案號為 No. 2:03-CV-00294。需要確認最終結果的人,應查閱該案的 docket,而不要只依賴摘要。

這些案件的背景可追溯至 UNIX 本身,從 UNIX 到 Linux 的歷史有完整說明。若要了解 GPL 及更廣泛的社群運動如何圍繞 Linux 形成,請參閱開放原始碼的歷史。

FAQ

Linus Torvalds 擁有 Linux 嗎?

Linus Torvalds 擁有 Linux 商標。Linux Foundation 的法律頁面表示:「Linux® 是 Linus Torvalds 在美國及其他國家註冊的商標。」但他並不擁有全部程式碼。該基金會表示,沒有任何單一個人或實體擁有 Linux kernel 的全部著作權,因為各項貢獻的著作權仍由原始權利人持有;原始權利人可能是貢獻者、貢獻者的雇主或其他實體。不過,只有他能將 patch merge 至 mainline kernel。

Linux Foundation 擁有 Linux kernel 嗎?

不擁有。該基金會本身表示,kernel 採分散式著作權所有結構,沒有單一所有人。就商標而言,該基金會是 Linus Torvalds 的專屬被授權人,而非商標所有人。它也不負責 merge code:kernel 的流程文件指出,只有 Linus Torvalds 能將 patch merge 至 mainline repository。

我需要取得使用 Linux 名稱的許可嗎?

只有在以下 3 項條件同時成立時才需要:該名稱是你自己的商標、名稱包含「Linux」,且用於軟體相關商品或服務。在此情況下,Linux Foundation 提供免費、永久且全球適用的再授權,且被再授權人同意不挑戰 Torvalds 的所有權。合理使用情形,例如撰寫介紹 Linux 的文章,則不需要再授權。包含該字詞的網域名稱也不需要,但若該網域名稱被用作商標則除外。

在 Linux 上執行的軟體必須採用 GPL 嗎?

不必。kernel 僅採用 GPL version 2,並附有 syscall exception。kernel 的授權規則文件指出,syscall interface 是明確的界線,不會將 GPL 要求延伸至使用該介面的軟體。成為 kernel 一部分的 code 則不同,因為 COPYING 檔案指出,對 kernel 的所有貢獻都受該授權條款規範。

SCO 訴訟主張了什麼?誰勝訴?

SCO 主張擁有 UNIX 的著作權,並指控 IBM 洩露專有資料,供納入 Linux 使用。在 SCO 對 Novell 案中,陪審團認定 Novell 擁有該等著作權;第十巡迴上訴法院於 30 August 2011 維持該判決。在 SCO 對 IBM 案中,第十巡迴上訴法院於 2 January 2018 作出的修正版意見,將一項不當挪用主張發回 Utah district court,並維持其餘判決。該案的最終結果載於 district court 案件卷宗,案號為 No. 2:03-CV-00294。

#linux#linux-foundation#linus-torvalds#gpl#trademark#open-source