為何程式不應限制執行自由
作者:Richard Stallman自由軟體意指軟體由其使用者控制,而非相反。具體而言,這表示軟體附帶軟體使用者應得的四項基本自由。首要的是自由 0,也就是隨心所欲執行程式的自由,以便做您想做的事。
有些開發者提議在軟體授權條款中加入使用限制,禁止將程式用於特定目的,但這將是一條災難性的道路。本文解釋了為何自由 0 絕不能受到限制。限制程式使用的條件無法實現其目標,反而可能破壞自由軟體社群。
首先,讓我們釐清自由 0 的含義。這表示軟體的散布不會限制您如何使用它。這並不能讓您免於法律制裁。例如,詐欺在美國是一種犯罪行為——我認為這項法律是正確且合理的。無論自由軟體授權條款如何規定,使用自由程式進行詐欺行為並不能保護您免於起訴。
在詐欺是犯罪的國家,禁止詐欺的授權條款是多餘的。但是,為何不加入禁止使用於酷刑的條款呢?酷刑是國家經常在「安全部隊」執行時寬恕的做法?
禁止酷刑的條款不會奏效,因為任何自由軟體授權條款的執行都必須透過國家來完成。想要執行酷刑的國家會無視授權條款。當美國酷刑的受害者試圖起訴美國政府時,法院會以他們的待遇屬於國家安全機密為由駁回案件。如果軟體開發者試圖起訴美國政府違反授權條款使用程式進行酷刑,該訴訟也會被駁回。一般而言,國家很擅長為他們想做的任何可怕事情找到法律藉口。擁有強大遊說能力的企業也能做到這一點。
如果條件是針對某些特定的私人活動呢?例如,PETA 提出了一個授權條款,禁止使用該軟體對脊椎動物造成痛苦。或者,可能會有一項條款禁止使用某個程式來製作或發布穆罕默德的畫像。或者禁止將其用於胚胎幹細胞實驗。或者禁止使用它來製作未經授權的音樂錄音副本。
這些條款是否可執行尚不清楚。自由軟體授權條款基於著作權法,而試圖以這種方式強加使用條件,是在危險地延伸著作權法允許的範圍。您會希望書籍帶有關於如何使用其中資訊的授權條款嗎?
如果這些條件在法律上可執行——那會是好事嗎?
事實是,人們對於可能使用軟體進行的活動,有著非常不同的道德觀念。我碰巧認為這四種不尋常的活動是合法的,不應被禁止。特別是,我支持使用軟體進行動物醫療實驗和肉品加工。我捍衛動物權利運動者的公民權利,但我不同意他們的觀點;我不希望 PETA 得逞,限制軟體的使用。
由於我不是和平主義者,我也不會同意「禁止軍事用途」的規定。我譴責侵略戰爭,但不譴責反擊。事實上,我一直支持努力說服各國軍隊改用自由軟體,因為他們可以檢查軟體中是否存在可能危害國家安全的後門和監控功能。
由於我並不反對商業行為,我會反對禁止商業用途的限制。一個我們只能用於休閒、嗜好和學校的系統,對於我們使用電腦的許多方面來說是遙不可及的。
我在上面陳述了我對某些與自由軟體議題無關的政治議題的看法——關於哪些活動是不公正的。您對它們的看法可能不同,而這正是重點。如果我們接受帶有使用限制的程式作為 GNU 等自由作業系統的一部分,人們就會提出許多不同的使用限制。會有禁止用於肉品加工的程式、僅禁止用於豬肉的程式、僅禁止用於牛肉的程式,以及僅限於猶太潔食的程式。討厭菠菜的人可能會授權一個程式,允許用於加工除菠菜以外的任何蔬菜,而大力水手粉絲的程式可能只允許用於菠菜。會有僅允許用於饒舌音樂的音樂程式,以及其他僅允許用於古典音樂的程式。
結果將是一個您無法指望用於任何目的的系統。對於您希望執行的每個任務,您都必須檢查許多授權條款,才能了解系統的哪些部分對於該任務是受限的。不僅包括您明確使用的組件,還包括它們連結、調用或通訊的數百個組件。
使用者會如何回應?我認為他們中的大多數人會使用專有系統。在自由軟體中允許使用限制,主要會將使用者推向非自由軟體。試圖透過自由軟體中的使用限制來阻止使用者做某些事情,就像透過一根又長又直又軟的煮熟的義大利麵來推動物體一樣無效。正如一位愛開玩笑的人所說,這就像是「一個拿著非常小的槌子的人,把每個問題都看作釘子,甚至沒有意識到釘子對於槌子來說太大了。」
這不僅僅是無效;這也是錯誤的,因為軟體開發者不應對使用者做什麼事擁有這種權力。想像一下販售帶有關於您可以用它們寫什麼的條件的筆;那將是令人厭惡的,我們不應該容忍它。通用軟體也是如此。如果您製造出像筆一樣通用的東西,人們會用它來寫各種東西,甚至是可怕的東西,例如酷刑異議人士的命令;但您絕不能有權力透過他們的筆來控制人們的活動。文字編輯器、編譯器或核心也是如此。
您確實有機會決定您的軟體可以用於什麼用途:當您決定要實作哪些功能時。您可以編寫主要用於您認為是正面用途的程式,並且您沒有義務編寫任何可能特別適用於您不贊成活動的功能。
結論很明確:程式絕不能限制其使用者用它做什麼工作。自由 0 必須是完整的。我們需要阻止酷刑,但我們不能透過軟體授權條款來做到這一點。軟體授權條款的適當工作是建立和保護使用者的自由。