為何自由軟體需要自由文件

自由作業系統中最大的缺陷不在於軟體本身,而在於缺乏我們可以納入這些系統的優良自由手冊。我們許多最重要的程式都沒有附帶完整的手冊。文件是任何軟體套件的基本組成部分;當重要的自由軟體套件沒有附帶自由手冊時,這是一個主要的缺口。我們今天存在許多這樣的缺口。

很久以前,我曾經想學習 Perl。我取得了一份自由手冊,但我發現它很難閱讀。當我向 Perl 使用者詢問是否有其他選擇時,他們告訴我有一些更好的入門手冊,但那些手冊不是自由的(不尊重自由)。

為什麼會這樣呢?優秀手冊的作者為 O'Reilly Associates 撰寫了這些手冊,該公司以限制性條款出版這些手冊——禁止複製、禁止修改、不提供原始檔——這使得它們成為非自由的,因此被排除在自由世界之外。

這不是第一次發生這種事情,而且(對我們的社群來說是巨大的損失)遠非最後一次。從那時起,專有手冊出版商誘使許多作者限制他們的手冊。我曾多次聽到 GNU 使用者興奮地告訴我他正在撰寫一本手冊,他期望這本手冊能幫助 GNU 專案——然後我的希望破滅了,因為他接著解釋說他與出版商簽訂了合約,該合約將對其進行限制,以至於我們無法使用它。

鑑於撰寫優秀英文對於程式設計師來說是一項稀有技能,我們無法承受以這種方式失去手冊。



自由文件,就像自由軟體一樣,是自由的問題,而不是價格的問題。這些手冊的問題不在於 O'Reilly Associates 對印刷版收取價格——這本身沒有問題。(自由軟體基金會也銷售自由 GNU 手冊的印刷版。)但是 GNU 手冊以原始碼形式提供,而這些手冊僅以紙本形式提供。GNU 手冊附帶複製和修改的許可;Perl 手冊則沒有。這些限制才是問題所在。

自由手冊的標準與自由軟體的標準幾乎相同:這都是給予所有使用者某些自由的問題。必須允許再發行(包括商業再發行),以便手冊可以隨附程式的每個副本,無論是在線上還是紙本上。修改許可也至關重要。

作為一般規則,我不認為人們必須獲得許可才能修改各種文章和書籍。寫作的問題不一定與軟體的問題相同。例如,我不認為您或我有義務允許修改像這篇描述我們行動和觀點的文章。

但是,對於自由軟體的文件來說,修改自由至關重要有一個特殊的原因。當人們行使修改軟體的權利,並新增或變更其功能時,如果他們盡責,他們也會修改手冊——以便他們可以為修改後的程式提供準確且可用的文件。禁止程式設計師盡責並完成工作的,或者更準確地說,要求他們在變更程式時從頭開始編寫新手冊的手冊,不能滿足我們社群的需求。

雖然全面禁止修改是不可接受的,但對修改方法的一些限制不會造成問題。例如,保留原始作者的著作權聲明、發行條款或作者列表的要求是可以接受的。要求修改後的版本包含已修改的通知,甚至包含不得刪除或變更的整個章節也沒有問題,只要這些章節處理的是非技術性主題。(一些 GNU 手冊就有這些。)

這些種類的限制不是問題,因為實際上,它們不會阻止盡責的程式設計師調整手冊以適應修改後的程式。換句話說,它們不會阻止自由軟體社群充分利用手冊。

但是,必須可以修改手冊的所有技術內容,然後通過所有常見媒體、通過所有常見管道發行結果;否則,這些限制確實會阻礙社群,手冊不是自由的,因此我們需要另一本手冊。

不幸的是,當存在專有手冊時,通常很難找到人來撰寫另一本手冊。障礙在於許多使用者認為專有手冊已經足夠好——因此他們看不到撰寫自由手冊的必要性。他們沒有看到自由作業系統存在需要填補的缺口。

為什麼使用者認為專有手冊已經足夠好?有些人沒有考慮過這個問題。我希望這篇文章能對此有所改變。

其他使用者認為專有手冊可以接受,原因與許多人認為專有軟體可以接受的原因相同:他們純粹從實用角度判斷,而不是使用自由作為標準。這些人有權表達自己的意見,但由於這些意見源於不包含自由的價值觀,因此它們不能為我們這些重視自由的人提供指導。

請廣傳關於這個問題的訊息。我們持續不斷地將手冊輸給專有出版。如果我們廣傳專有手冊是不夠的訊息,也許下一個想透過撰寫文件來幫助 GNU 的人會在為時已晚之前意識到,他首先必須使其成為自由的。

我們也可以鼓勵商業出版商銷售自由的、copyleft 的手冊,而不是專有的手冊。您可以幫助實現這一目標的一種方法是在購買手冊之前檢查其發行條款,並優先選擇 copyleft 手冊而不是非 copyleft 手冊。

[註:我們維護一個頁面,列出其他出版商提供的自由書籍]。