X Window 系統的陷阱

是否採用著作權保護 (copyleft)?這是自由軟體社群的主要爭議之一。著作權保護 (copyleft) 的理念是,我們應該以其人之道還治其人之身——我們應該利用著作權來確保我們的程式碼保持自由。「GNU 通用公共授權條款」(GNU GPL) 就是著作權保護 (copyleft) 授權條款的一個例子。

有些自由軟體開發者偏好非著作權保護 (noncopyleft) 的發行方式。諸如 XFree86 和 BSD 授權條款等非著作權保護 (noncopyleft) 授權條款,其理念是絕不對任何人說「不」——即使是那些試圖利用您的作品作為限制他人基礎的人也一樣。非著作權保護 (noncopyleft) 授權本身沒有錯,但它錯失了積極保護我們變更和重新發行軟體自由的機會。為了達到這個目的,我們需要著作權保護 (copyleft)。

多年來,「X 聯盟」一直是著作權保護 (copyleft) 的主要反對者。它同時施加道德勸說和壓力,以阻止自由軟體開發者對他們的程式採用著作權保護 (copyleft)。它透過暗示說「說不不好」來進行道德勸說。它透過「採用著作權保護 (copyleft) 的軟體不能包含在 X 發行版中」的規定來施加壓力。

為什麼「X 聯盟」要採取這種政策?這與他們對成功的概念有關。「X 聯盟」將成功定義為普及性——具體來說,就是讓電腦公司使用 X Window 系統。這個定義讓電腦公司掌握了主導權:無論他們想要什麼,「X 聯盟」都必須幫助他們得到。

電腦公司通常發行專有軟體。他們希望自由軟體開發者捐贈他們的作品以供此類用途。如果他們直接提出這個要求,人們會一笑置之。但是,代表他們的「X 聯盟」可以將這個要求包裝成無私的要求。他們說:「加入我們,將我們的作品捐贈給專有軟體開發者吧」,暗示這是一種崇高的自我犧牲形式。「加入我們,實現普及性吧」,他們說,暗示這甚至不是一種犧牲。

但是,自我犧牲並不是重點:拋棄著作權保護 (copyleft) 提供的防禦,而這種防禦保護了整個社群的自由,這犧牲的遠遠超過您自己。那些同意「X 聯盟」要求的人,將社群的未來委託給了「X 聯盟」的善意。

這種信任被錯置了。「X 聯盟」在最後一年制定了一項計畫,限制即將發布的 X11R6.4 版本,使其不再是自由軟體。他們決定開始說「不」,不僅對專有軟體開發者說「不」,也對我們的社群說「不」。

這裡帶有一種諷刺意味。如果您在「X 聯盟」要求您不要使用著作權保護 (copyleft) 時說「是」,您就使「X 聯盟」能夠授權和限制其版本的程式,以及 X 核心的程式碼。

「X 聯盟」沒有執行這個計畫。相反,它關閉了,並將 X 的開發轉移到「開放群組」,其工作人員現在正在執行類似的計畫。值得讚揚的是,當我要求他們在發布計畫中的限制性授權條款的同時,以 GNU GPL 發布 X11R6.4 時,他們願意考慮這個想法。(他們堅決反對繼續採用舊的 X11 發行條款。)在他們對這個提議說「是」或「不」之前,它已經因為另一個原因而失敗了:「XFree86」群組遵循了「X 聯盟」的舊政策,並且不接受採用著作權保護 (copyleft) 的軟體。

1998 年 9 月,在以非自由發行條款發布 X11R6.4 幾個月後,「開放群組」推翻了其決定,並以與 X11R6.3 相同的非著作權保護 (noncopyleft) 自由軟體授權條款重新發布了它。因此,「開放群組」最終做了正確的事,但這並沒有改變普遍的問題。

即使「X 聯盟」和「開放群組」從未計畫限制 X,其他人也可能這樣做。非著作權保護 (noncopyleft) 的軟體容易受到來自各個方向的攻擊;如果有人投入足夠的資源,使用專有程式碼添加非常重要的功能,它就會讓任何人都能製造出佔主導地位的非自由版本。那些根據技術特性而不是自由來選擇軟體的使用者,很容易被短期便利性所誘惑而轉向非自由版本。

「X 聯盟」和「開放群組」不能再透過說「說不不好」來施加道德勸說。這將使人們更容易決定對您的 X 相關軟體採用著作權保護 (copyleft)。

當您在 X 核心、X 伺服器、Xlib 和 Xt 等程式上工作時,有一個不使用著作權保護 (copyleft) 的實際理由。「X.org」群組在維護這些程式方面為社群做出了重要的工作,而對我們的變更採用著作權保護 (copyleft) 的好處,將小於開發分支所造成的損害。因此,最好與他們合作,而不是對我們在這些程式上的變更採用著作權保護 (copyleft)。對於諸如 xsetxrdb 等實用程式也是如此,它們接近 X 核心,並且不需要重大改進。至少我們知道,「X.org」群組堅定承諾將這些程式開發為自由軟體。

對於 X 核心之外的程式來說,情況就不同了:應用程式、視窗管理器以及額外的函式庫和小工具。沒有理由不對它們採用著作權保護 (copyleft),我們應該對它們採用著作權保護 (copyleft)。

如果有人感到因被納入 X 發行版的標準而帶來的壓力,GNU 計劃將承諾宣傳與 X 協作的採用著作權保護 (copyleft) 的套件。如果您想對某些東西採用著作權保護 (copyleft),並且您擔心它從 X 發行版中被移除會阻礙其普及性,請請求我們協助。

同時,如果我們不太過於在意普及性,那就更好了。當一位商人用「更普及」來誘惑您時,他可能會試圖說服您,他對您的程式的使用對其成功至關重要。別相信!如果您的程式很好,它無論如何都會找到許多使用者;您不需要對任何特定的使用者感到迫切需要,如果您不這樣做,您會更強大。當您回應說:「要不要隨便您——與我無關」時,您可以獲得一種難以言喻的喜悅和自由感。通常,一旦您拆穿謊言,商人就會轉身接受採用著作權保護 (copyleft) 的程式。

朋友們,自由軟體開發者們,不要重蹈覆轍!如果我們不對我們的軟體採用著作權保護 (copyleft),我們就會將它的未來置於任何比我們更有資源但更少顧忌的人的擺布之下。有了著作權保護 (copyleft),我們就可以捍衛自由,不僅為了我們自己,也為了我們的整個社群。