為何軟體應該自由

軟體的出現不可避免地引發了關於如何決定其使用方式的問題。例如,假設某人擁有一份程式副本,而另一個人想要一份副本。他們有可能複製該程式;應該由誰來決定是否進行複製?是相關的個人?還是另一個被稱為「擁有者」的第三方?

軟體開發者通常基於最大化開發者利潤的標準來考慮這些問題。商業的政治力量導致政府採納了這個標準以及開發者提出的答案:程式有一個擁有者,通常是與其開發相關的公司。

我想使用不同的標準來考慮相同的問題:公眾的繁榮和自由。

這個答案不能由現行法律決定——法律應該符合倫理,而不是相反。目前的實踐也不能決定這個問題,儘管它可能暗示可能的答案。唯一的判斷方法是看看承認軟體擁有者會幫助誰,傷害誰,為什麼,以及傷害程度如何。換句話說,我們應該代表整個社會進行成本效益分析,同時考慮個人自由和物質商品的生產。

在這篇文章中,我將描述擁有所有權的影響,並表明結果是有害的。我的結論是,程式設計師有責任鼓勵他人分享、重新發布、研究和改進我們編寫的軟體:換句話說,編寫「自由」軟體(1)

擁有者如何證明其權力是正當的

那些從目前程式為財產的系統中受益的人提出了兩個論點來支持他們擁有程式的主張:情感論證和經濟論證。

情感論證是這樣的:「我把我的汗水、我的心血、我的靈魂都投入到這個程式中。它來自,它是我的!」

這個論點不需要嚴肅的反駁。依戀感是程式設計師在適合他們時可以培養的一種情感;這不是不可避免的。例如,考慮一下,同樣的程式設計師通常多麼願意為了薪水而將所有權利轉讓給一家大公司;情感依戀神奇地消失了。相比之下,想想中世紀偉大的藝術家和工匠,他們甚至沒有在自己的作品上簽名。對他們來說,藝術家的名字並不重要。重要的是工作已經完成——以及它將服務的目的。這種觀點盛行了數百年。

經濟論證是這樣的:「我想要致富(通常不準確地描述為『謀生』),如果你不允許我透過程式設計致富,那麼我就不會編寫程式。其他人也和我一樣,所以永遠不會有人編寫程式。然後你就會完全沒有程式可用!」這個威脅通常偽裝成來自智者的友善建議。

稍後我會解釋為什麼這個威脅是虛張聲勢。首先,我想討論另一個論證表述中更明顯的隱含假設。

這個表述首先比較了專有程式的社會效用與沒有程式的社會效用,然後得出結論,專有軟體開發總體而言是有益的,應該受到鼓勵。這裡的謬誤在於僅比較兩種結果——專有軟體與沒有軟體——並假設沒有其他可能性。

在軟體著作權系統下,軟體開發通常與控制軟體使用的擁有者的存在聯繫在一起。只要這種聯繫存在,我們常常面臨專有軟體或沒有軟體的選擇。然而,這種聯繫並非內在或不可避免的;它是我們正在質疑的特定社會/法律政策決定的結果:擁有所有者的決定。將選擇表述為專有軟體與沒有軟體之間的選擇是乞題。

反對擁有所有者的論證

手邊的問題是,「軟體的開發是否應該與擁有所有者來限制其使用聯繫起來?」

為了決定這個問題,我們必須獨立地判斷這兩個活動對社會的影響:開發軟體的影響(無論其發行條款如何),以及限制其使用的影響(假設軟體已經開發完成)。如果其中一個活動是有益的,而另一個活動是有害的,那麼我們最好放棄這種聯繫,只做有益的活動。

換句話說,如果限制已經開發的程式的發行對整個社會有害,那麼有道德的軟體開發者將拒絕這樣做的選項。

為了確定限制分享的影響,我們需要比較受限制(即專有)程式對社會的價值與相同的程式,但每個人都可以使用的價值。這意味著比較兩個可能的世界。

這個分析也解決了有時提出的簡單反駁,「給鄰居一份程式副本的好處被對擁有者造成的損害抵消了。」這個反駁假設損害和好處在程度上是相等的。分析涉及比較這些程度,並表明好處要大得多。

為了闡明這個論點,讓我們將其應用於另一個領域:道路建設。

有可能透過收費來資助所有道路的建設。這將需要在所有街角設置收費站。這樣的系統將為改善道路提供很大的誘因。它也具有讓任何特定道路的使用者為該道路付費的優點。然而,收費站是對順暢駕駛的人為障礙——人為的,因為它不是道路或汽車如何運作的結果。

透過比較免費道路和收費道路的實用性,我們發現(在所有其他條件相同的情況下)沒有收費站的道路建設成本更低、運行成本更低、更安全且使用效率更高。(2)在貧窮國家,收費可能會使許多公民無法使用道路。因此,沒有收費站的道路以更低的成本為社會提供更多的好處;它們對社會來說更可取。因此,社會應該選擇以另一種方式資助道路,而不是透過收費站。道路一旦建成,就應該免費使用。

當收費站的倡導者將其提出為僅僅一種籌集資金的方式時,他們歪曲了可用的選擇。收費站確實可以籌集資金,但它們也做了其他事情:實際上,它們降低了道路的品質。收費道路不如免費道路好;如果這意味著用收費道路取代免費道路,那麼給我們更多或技術上更優越的道路可能並不是一種改進。

當然,建設免費道路確實需要花錢,這筆錢必須由公眾以某種方式支付。然而,這並不意味著收費站是不可避免的。我們這些無論如何都必須付錢的人,透過購買免費道路將獲得更高的價值。

我並不是說收費道路比沒有道路更糟糕。如果收費太高以至於幾乎沒有人使用道路,那將是真的——但這對於收費員來說是不太可能的政策。然而,只要收費站造成顯著的浪費和不便,以一種較少阻礙的方式籌集資金會更好。

為了將相同的論點應用於軟體開發,我現在將展示,對有用的軟體程式設置「收費站」會使社會付出巨大的代價:它使程式的建構更昂貴、發行更昂貴,並且使用起來更不令人滿意和效率更低。由此可見,應該以其他方式鼓勵程式建構。然後我將繼續解釋其他鼓勵和(在實際必要的程度上)資助軟體開發的方法。

阻礙軟體造成的危害

考慮一下,一個程式已經開發完成,並且已經支付了其開發所需的任何費用;現在社會必須選擇使其成為專有的還是允許自由分享和使用。假設程式的存在及其可用性是一件可取的事情。(3)

對程式發行和修改的限制不能促進其使用。它們只會干擾。因此,效果只能是負面的。但是多少?以及什麼類型?

這種阻礙會造成三個不同程度的物質損害

  • 使用該程式的人數減少。
  • 沒有使用者可以改編或修復該程式。
  • 其他開發者無法從該程式中學習,或在其基礎上進行新的工作。

每個程度的物質損害都伴隨著一種心理社會損害形式。這指的是人們的決定對他們隨後的感受、態度和傾向產生的影響。人們思維方式的這些變化將進一步影響他們與同胞的關係,並可能產生物質後果。

這三個程度的物質損害浪費了程式可能貢獻的部分價值,但它們不能將其降至零。如果它們浪費了程式幾乎所有的價值,那麼編寫程式對社會的傷害最多只是投入編寫程式的努力。可以說,有利可圖的銷售程式必須提供一些淨直接物質利益。

然而,考慮到伴隨而來的心理社會損害,專有軟體開發可能造成的損害是沒有限制的。

阻礙程式的使用

第一級損害阻礙了程式的簡單使用。程式副本的邊際成本幾乎為零(您可以透過自己完成工作來支付此成本),因此在自由市場中,它的價格幾乎為零。許可費是對使用程式的重大抑制。如果一個廣泛有用的程式是專有的,那麼使用它的人會少得多。

很容易證明,透過為程式指定所有者,程式對社會的總體貢獻會減少。每個程式的潛在使用戶,在面臨支付才能使用的需要時,可能會選擇支付,或者可能會放棄使用該程式。當使用者選擇支付時,這是雙方之間財富的零和轉移。但是,每次有人選擇放棄使用該程式時,這都會傷害該人而沒有使任何人受益。負數和零的總和必須為負數。

但是,這不會減少開發程式所需的工作量。結果,整個過程的效率,即每小時工作交付的使用者滿意度,降低了。

這反映了程式副本與汽車、椅子或三明治之間的一個關鍵區別。在科幻小說之外,沒有物質物體的複製機器。但是程式很容易複製;任何人都可以生產任意數量的副本,而且只需很少的努力。對於物質物體來說,情況並非如此,因為物質是守恆的:每個新副本都必須像第一個副本一樣從原材料中建造出來。

對於物質物體,抑制其使用是有道理的,因為購買的物體越少,意味著製造它們所需的原材料和工作就越少。確實,通常也存在啟動成本,即開發成本,這會分攤到生產運行中。但是,只要生產的邊際成本顯著,增加一部分開發成本就不會產生質的差異。而且它不需要限制普通使用者的自由。

然而,對原本免費的東西強加價格是一種質的變化。中央強加的軟體發行費用成為一種強大的抑制因素。

更重要的是,即使作為交付軟體副本的手段,目前實行的中央生產效率也很低。這個系統涉及將物理磁碟或磁帶封裝在多餘的包裝中、將大量磁碟或磁帶運往世界各地,以及將它們儲存起來出售。這種成本被視為經商費用;事實上,它是擁有所有者造成的浪費的一部分。

損害社會凝聚力

假設您和您的鄰居都發現運行某個程式很有用。出於對鄰居的倫理關懷,您應該感到妥善處理這種情況將使您們倆都能使用它。一項僅允許您們其中一人使用該程式,同時限制另一人的提議是分裂性的;您和您的鄰居都不應該覺得可以接受。

簽署典型的軟體許可協議意味著背叛您的鄰居:「我承諾剝奪我的鄰居使用這個程式的權利,以便我自己可以擁有一份副本。」做出這種選擇的人會感受到內在的心理壓力來為自己辯解,貶低幫助鄰居的重要性——因此公共精神受到了損害。這是與阻止程式使用相關的物質損害相關的心理社會損害。

許多使用者無意識地認識到拒絕分享是錯誤的,因此他們決定無視許可協議和法律,並仍然分享程式。但他們經常對這樣做感到內疚。他們知道他們必須違反法律才能成為好鄰居,但他們仍然認為法律是權威的,他們得出結論,做好鄰居(他們正在做)是頑皮或可恥的。這也是一種心理社會損害,但可以透過決定這些許可協議和法律沒有道德約束力來擺脫它。

程式設計師也遭受心理社會損害,因為他們知道許多使用者將不被允許使用他們的工作成果。這導致了一種犬儒主義或否認的態度。一位程式設計師可能會熱情地描述他發現技術上令人興奮的工作;然後當被問到,「我會被允許使用它嗎?」他的臉色沉了下來,並承認答案是否定的。為了避免感到沮喪,他要么大部分時間忽略這個事實,要么採取一種犬儒主義的立場,旨在盡量減少它的重要性。

自雷根時代以來,美國最大的稀缺不是技術創新,而是為公共利益共同工作的意願。鼓勵前者而犧牲後者是沒有道理的。

阻礙程式的自訂改編

第二級物質損害是無法改編程式。軟體易於修改是其優於舊技術的巨大優勢之一。但大多數市售軟體即使在您購買後也不能修改。您可以選擇接受或拒絕它,作為一個黑盒子——僅此而已。

您可以運行的程式由一系列意義不明的數字組成。沒有人,即使是優秀的程式設計師,也很容易更改這些數字以使程式執行不同的操作。

程式設計師通常使用程式的「原始碼」工作,原始碼是用 Fortran 或 C 等程式語言編寫的。它使用名稱來指定正在使用的資料和程式的各個部分,並用符號表示運算,例如 + 表示加法,- 表示減法。它旨在幫助程式設計師閱讀和更改程式。這是一個範例;一個計算平面上兩點之間距離的程式

     float
     distance (p0, p1)
          struct point p0, p1;
     {
       float xdist = p1.x - p0.x;
       float ydist = p1.y - p0.y;
       return sqrt (xdist * xdist + ydist * ydist);
     }

原始碼的確切含義不是重點;重點是它看起來像代數,並且懂這種程式語言的人會覺得它有意義且清晰。相比之下,這是同一程式的可執行形式,在我寫這篇文章時我通常使用的電腦上

     1314258944      -232267772      -231844864      1634862
     1411907592      -231844736      2159150         1420296208
     -234880989      -234879837      -234879966      -232295424
     1644167167      -3214848        1090581031      1962942495
     572518958       -803143692      1314803317

原始碼對程式的每個使用者都有用(至少有潛在的用處)。但大多數使用者不被允許擁有原始碼副本。通常,專有程式的原始碼由所有者保密,以免其他人從中學到任何東西。使用者只收到電腦將執行的難以理解的數字檔案。這意味著只有程式的所有者才能更改程式。

一位朋友曾經告訴我,她曾在一家銀行擔任程式設計師約六個月,編寫一個類似於市售程式的程式。她相信,如果她能夠獲得該市售程式的原始碼,就可以很容易地根據他們的需求進行改編。銀行願意為此付費,但不被允許——原始碼是秘密。因此,她不得不做六個月的虛工,這項工作計入 GNP,但實際上是浪費。

MIT人工智慧實驗室(AI 實驗室)在 1977 年左右收到施樂公司贈送的一台圖形印表機。它由自由軟體運行,我們在其中添加了許多便利功能。例如,軟體會在列印工作完成後立即通知使用者。每當印表機出現問題時,例如卡紙或缺紙,軟體會立即通知所有已將列印工作排隊的使用者。這些功能有助於順利運行。

後來施樂公司給了 AI 實驗室一台更新、更快的印表機,這是第一批雷射印表機之一。它由專有軟體驅動,該軟體在單獨的專用電腦中運行,因此我們無法添加任何我們喜歡的功能。我們可以安排在列印工作發送到專用電腦時發送通知,但不能在工作實際列印時發送通知(延遲通常相當長)。沒有辦法知道工作何時實際列印;您只能猜測。而且當發生卡紙時,沒有人會被告知,因此印表機經常會閒置一個小時而沒有人修理。

AI 實驗室的系統程式設計師有能力解決這些問題,可能與原始程式的作者一樣有能力。施樂公司對解決這些問題不感興趣,並選擇阻止我們,因此我們被迫接受這些問題。這些問題從未得到解決。

大多數優秀的程式設計師都經歷過這種挫敗感。銀行有能力透過從頭開始編寫一個新程式來解決問題,但典型的使用者,無論技能多麼熟練,都只能放棄。

放棄會造成心理社會損害——對自力更生的精神。住在一個您無法重新佈置以滿足您需求的房子裡會令人沮喪。它會導致 resignation 和沮喪,這可能會蔓延到影響一個人生活的其他方面。有這種感覺的人不快樂,也做不好工作。

想像一下,如果食譜像軟體一樣被囤積起來會是什麼樣子。您可能會說,「我該如何更改這個食譜以去除鹽?」而偉大的廚師會回應說,「你怎麼敢侮辱我的食譜,我大腦和味蕾的孩子,試圖篡改它?你沒有判斷力來更改我的食譜並使其正常運作!」

「但是我的醫生說我不應該吃鹽!我該怎麼辦?您會為我去除鹽嗎?」

「我很樂意這樣做;我的費用僅為 50,000 美元。」由於所有者對變更具有壟斷權,因此費用往往很高。「但是,我現在沒有時間。我正忙於為海軍部設計一種新的艦船餅乾食譜的委託。我可能會在兩年左右的時間內處理您的需求。」

阻礙軟體開發

第三級物質損害影響軟體開發。軟體開發過去是一個演進過程,一個人會採用現有的程式並為一個新功能重寫部分程式碼,然後另一個人會重寫部分程式碼以添加另一個功能;在某些情況下,這種情況持續了二十多年。同時,程式的各個部分會被「蠶食」,形成其他程式的開端。

所有者的存在阻止了這種演進,使得在開發程式時必須從頭開始。它也阻止了新的從業者研究現有程式,以學習有用的技術,甚至大型程式的結構方式。

所有者也阻礙了教育。我遇到過一些聰明的電腦科學學生,他們從未見過大型程式的原始碼。他們可能擅長編寫小型程式,但如果他們看不到其他人是如何做的,他們就無法開始學習編寫大型程式的不同技能。

在任何知識領域,一個人都可以透過站在巨人的肩膀上達到更高的高度。但這在軟體領域通常不再被允許——您只能站在您自己公司中其他人的肩膀上。

相關的心理社會損害影響了科學合作的精神,這種精神曾經非常強大,以至於科學家們甚至在他們的國家處於戰爭狀態時也會合作。本著這種精神,在太平洋島嶼上放棄實驗室的日本海洋學家仔細保存了他們的工作成果,以供入侵的美國海軍陸戰隊使用,並留下了一張紙條,要求他們妥善保管。

利潤衝突摧毀了國際衝突倖免於難的東西。如今,許多領域的科學家在他們的論文中發表的內容不足以使其他人能夠重複實驗。他們只發表足夠的內容,讓讀者驚嘆於他們能夠做多少事情。在電腦科學領域,情況肯定是這樣,因為所報告程式的原始碼通常是秘密的。

分享受到限制的方式並不重要

我一直在討論阻止人們複製、更改和基於程式進行建構的影響。我沒有具體說明如何執行這種阻礙,因為這不會影響結論。無論是透過複製保護、著作權、許可協議、加密、ROM卡,還是硬體序號來完成,如果它成功地阻止了使用,它就會造成損害。

使用者確實認為其中一些方法比其他方法更令人討厭。我認為最令人憎恨的方法是那些實現其目標的方法。

軟體應該是自由的

我已經展示了程式的所有權——限制更改或複製它的權力——是如何具有阻礙性的。它的負面影響是廣泛且重要的。由此可見,社會不應該擁有程式的所有者。

理解這一點的另一種方式是,社會需要的是自由軟體,而專有軟體是一種糟糕的替代品。鼓勵這種替代品並不是獲得我們所需物品的理性方式。

Vaclav Havel 建議我們「為某件事努力,因為它是好的,而不僅僅是因為它有成功的機會。」一家製作專有軟體的企業在其狹隘的條款中很有可能成功,但這並不是對社會有益的事情。

人們為什麼會開發軟體

如果我們取消著作權作為鼓勵人們開發軟體的一種手段,起初開發的軟體會減少,但這些軟體會更有用。目前尚不清楚總體交付的使用者滿意度是否會降低;但如果降低了,或者如果我們希望無論如何都要提高它,那麼還有其他方法可以鼓勵開發,就像除了收費站之外還有其他方法可以為街道籌集資金一樣。在我談論如何做到這一點之前,我首先想質疑真正需要多少人為的鼓勵。

程式設計很有趣

有些工作很少有人會從事,除非為了錢;例如,道路建設。還有其他研究和藝術領域,在這些領域中,致富的機會很少,人們為了它們的魅力或它們對社會的感知價值而進入這些領域。範例包括數理邏輯、古典音樂和考古學;以及在勞動人民中進行政治組織。人們競爭,更多的是悲傷而不是痛苦,爭奪少數可用的資助職位,這些職位都沒有得到很好的資助。如果他們負擔得起,他們甚至可能會為獲得在該領域工作的機會付費。

如果一個領域開始提供致富的可能性,它可以在一夜之間轉型。當一個工人致富時,其他人會要求同樣的機會。很快,所有人都可能要求高額報酬來做他們過去為了樂趣而做的事情。又過了幾年,與該領域相關的每個人都會嘲笑如果沒有豐厚的經濟回報,該領域就會完成工作的想法。他們會建議社會規劃者確保這些回報是可能的,規定必要的特殊權利、權力和壟斷。

這種變化發生在 1980 年代的電腦程式設計領域。在 1970 年代,有關於「電腦成癮」的文章:「使用者正在『線上』,並且有每週數百美元的習慣。人們普遍認為,人們經常非常熱愛程式設計,以至於會導致婚姻破裂。今天,人們普遍認為,除非有高薪,否則沒有人會編寫程式。人們已經忘記了他們當時知道的事情。

當在給定時間大多數人只為了高薪才在特定領域工作時,它不必保持真實。如果社會提供動力,變革的動力可以逆轉。如果我們消除巨額財富的可能性,那麼過一段時間,當人們重新調整他們的態度時,他們將再次渴望為了成就的喜悅而在該領域工作。

當我們意識到這不是支付他們一筆財富的問題時,「我們如何支付程式設計師的費用?」這個問題就變得更容易了。僅僅是維持生計更容易籌集。

資助自由軟體

支付程式設計師費用的機構不必是軟體公司。許多其他機構已經存在,可以做到這一點。

硬體製造商發現支持軟體開發至關重要,即使他們無法控制軟體的使用。在 1970 年,他們的許多軟體都是免費的,因為他們不認為要限制它。今天,他們越來越願意加入聯盟,這表明他們意識到擁有軟體並不是對他們真正重要的東西。

大學進行許多程式設計專案。今天,他們經常出售成果,但在 1970 年代,他們沒有這樣做。如果大學不被允許出售軟體,他們是否會開發自由軟體有任何疑問嗎?這些專案可以由現在支持專有軟體開發的同一政府合約和補助金支持。

今天,大學研究人員獲得補助金來開發系統是很常見的,他們將系統開發到幾乎完成的程度並稱之為「完成」,然後創辦公司,在那裡他們真正完成專案並使其可用。有時他們宣稱未完成的版本是「免費的」;如果他們徹底腐敗,他們反而從大學獲得獨家許可。這不是秘密;所有相關人員都公開承認這一點。然而,如果研究人員沒有受到做這些事情的誘惑,他們仍然會進行研究。

編寫自由軟體的程式設計師可以透過銷售與軟體相關的服務來謀生。我曾受聘將 GNU C 編譯器移植到新的硬體,並對 GNU Emacs 進行使用者介面擴充。(一旦完成,我就會將這些改進提供給公眾。)我也教授付費課程。

我並不是唯一以這種方式工作的人;現在有一家成功的、不斷發展的公司,它不做其他類型的工作。其他幾家公司也為 GNU 系統的自由軟體提供商業支援。這是獨立軟體支援產業的開端——如果自由軟體變得普遍,這個產業可能會變得相當龐大。它為使用者提供了一個通常對專有軟體不可用的選項,除非對於非常富有的人。

自由軟體基金會 這樣的新機構也可以資助程式設計師。基金會的大部分資金來自使用者透過郵件購買磁帶。磁帶上的軟體是免費的,這意味著每個使用者都有複製和更改它的自由,但許多人仍然付費購買副本。(回想一下,「自由軟體」指的是自由,而不是價格。)一些已經擁有副本的使用者訂購磁帶,作為一種他們認為我們應得的貢獻方式。基金會還收到來自電腦製造商的大筆捐款。

自由軟體基金會是一個慈善機構,其收入用於聘請盡可能多的程式設計師。如果它被設立為一家企業,以相同的費用向公眾發行相同的自由軟體,那麼它現在將為其創始人提供非常好的生活。

由於基金會是一個慈善機構,程式設計師經常為基金會工作,工資只有他們在其他地方可以賺到的一半。他們這樣做是因為我們沒有官僚作風,而且因為他們在知道他們的工作不會被阻止使用時感到滿意。最重要的是,他們這樣做是因為程式設計很有趣。此外,志願者為我們編寫了許多有用的程式。(甚至技術作家也開始志願服務。)

這證實了程式設計是所有領域中最令人著迷的領域之一,與音樂和藝術一樣。我們不必擔心沒有人願意編寫程式。

使用者欠開發者什麼?

軟體使用者有充分的理由感到有道義上的義務為其支援做出貢獻。自由軟體開發者正在為使用者的活動做出貢獻,為他們提供資金以繼續下去既公平又符合使用者的長遠利益。

然而,這不適用於專有軟體開發者,因為阻礙主義應該受到懲罰而不是獎勵。

因此,我們有一個悖論:有用的軟體開發者有權獲得使用者的支持,但任何將這種道義義務轉變為要求的嘗試都會破壞這種義務的基礎。開發者可以值得獎勵或要求獎勵,但不能兩者兼得。

我相信,面對這個悖論的有道德的開發者必須採取行動以值得獎勵,但也應該懇求使用者自願捐款。最終,使用者將學會在沒有脅迫的情況下支持開發者,就像他們學會支持公共廣播和電視台一樣。

什麼是軟體生產力?

如果軟體是自由的,仍然會有程式設計師,但可能人數會減少。這對社會來說會很糟糕嗎?

未必如此。現今的先進國家,農民人數比 1900 年時還少,但我們不認為這對社會有害,因為少數農民提供的食物,比過去眾多農民所提供的還多。我們稱之為生產力提升。自由軟體將只需要極少數的程式設計師就能滿足需求,因為各層面的軟體生產力都提高了。

  • 更廣泛地使用每個被開發出來的程式。
  • 能夠調整現有程式以進行客製化,而不是從頭開始。
  • 程式設計師受到更好的教育。
  • 消除重複的開發工作。

那些反對合作,聲稱合作會導致程式設計師雇用人數減少的人,實際上是在反對生產力提升。然而,這些人通常也接受軟體產業需要提升生產力的普遍觀點。這是怎麼回事呢?

「軟體生產力」可能有兩種不同的含義:所有軟體開發的整體生產力,或是個別專案的生產力。整體生產力是社會想要改善的,而最直接的方法是消除那些會降低生產力的,人為的合作障礙。但是,研究「軟體生產力」領域的研究人員,只專注於這個詞彙的第二種,有限的意義,在這種意義下,生產力的提升需要艱難的技術進步。

競爭是不可避免的嗎?

人們試圖競爭,在社會中超越對手,這是不可避免的嗎?也許是這樣。但競爭本身並無害;有害的是「爭鬥」。

競爭有很多種方式。競爭可以包含試圖達成更多成就,超越他人已完成的事。例如,在過去,程式設計高手之間存在競爭——競爭誰能讓電腦做出最令人驚嘆的事情,或者誰能為給定的任務編寫出最短或最快的程式。這種競爭可以使所有人受益,「只要」保持良好的運動家精神。

建設性的競爭就足以激勵人們做出巨大的努力。有許多人競相成為第一個訪問地球上所有國家的人;有些人甚至花費巨資嘗試這樣做。但他們不會賄賂船長,將競爭對手滯留在荒島上。他們滿足於讓最優秀的人獲勝。

當競爭者開始試圖阻礙彼此,而不是提升自己時——當「讓最優秀的人獲勝」讓位於「讓我贏,不管是不是最優秀的」時,競爭就變成了爭鬥。專有軟體是有害的,不是因為它是一種競爭形式,而是因為它是我們社會公民之間的一種爭鬥形式。

商業競爭不一定是爭鬥。例如,當兩家雜貨店競爭時,他們所有的努力都是為了改進自己的營運,而不是破壞競爭對手。但這並不是展現對商業道德的特別承諾;而是,在這個行業中,除了肢體暴力之外,幾乎沒有爭鬥的空間。並非所有商業領域都具有這種特徵。隱瞞可能幫助所有人進步的資訊是一種爭鬥形式。

商業意識形態並未讓人們準備好抵制與競爭對手爭鬥的誘惑。某些形式的爭鬥已被反托拉斯法、廣告真實法等禁止,但高階主管們並未將其推廣到普遍原則性地拒絕爭鬥,而是發明其他未被明確禁止的爭鬥形式。社會資源被浪費在派系內戰的經濟對等物上。

「你為什麼不搬去俄羅斯?」

在美國,任何非極端放任自由的自私主義倡導者,經常聽到這種指責。例如,這種指責會針對全民健保體系的支持者,就像在所有其他自由世界的工業化國家所見到的那樣。這種指責也會針對公共支持藝術的倡導者,這在先進國家中也很普遍。公民對公共利益有任何義務的想法,在美國被等同於共產主義。但這些想法有多相似呢?

蘇聯實行的共產主義是一種中央控制的體系,所有活動都被嚴格管制,名義上是為了共同利益,但實際上是為了共產黨成員的利益。而且複製設備受到嚴密看管,以防止非法複製。

美國的軟體著作權制度對程式的發行實施中央控制,並用自動複製保護機制看管複製設備,以防止非法複製。

相反地,我正在努力建立一個體系,讓人們可以自由地決定自己的行為;特別是,自由地幫助鄰居,以及自由地修改和改進他們日常生活中使用的工具。一個基於自願合作和權力分散的體系。

因此,如果我們要根據觀點與俄羅斯共產主義的相似性來判斷,那麼軟體所有者才是共產主義者。

前提的問題

我在這篇文章中假設,軟體使用者與作者,甚至作者的雇主同樣重要。換句話說,當我們決定哪種行動方案最佳時,他們的利益和需求具有同等權重。

這個前提並非普遍被接受。許多人認為,作者的雇主在本質上比任何人都重要。例如,他們說,擁有軟體所有者的目的是為了給予作者的雇主他應得的優勢——無論這可能會如何影響公眾。

試圖證明或反駁這些前提是沒有用的。證明需要共同的前提。因此,我所說的大部分內容僅針對那些與我使用相同前提的人,或至少對這些前提的後果感興趣的人。對於那些認為所有者比任何人都重要的人來說,這篇文章根本無關緊要。

但是,為什麼大量的美國人會接受一個將某些人的重要性提升到高於其他所有人的前提?部分原因是相信這個前提是美國社會法律傳統的一部分。有些人認為,懷疑這個前提意味著挑戰社會的基礎。

對於這些人來說,重要的是要知道這個前提並不是我們法律傳統的一部分。從來都不是。

因此,《憲法》指出,著作權的目的是「促進科學和實用技藝的進步」。最高法院對此進行了闡述,在「福斯影片公司訴多伊爾案」中指出,「美國的唯一利益,以及授予(著作權)壟斷權的主要目的,在於公眾從作者的勞動中獲得的普遍利益」。

我們不一定要同意《憲法》或最高法院。(他們曾經都寬恕奴隸制。)因此,他們的立場並不能反駁所有者至上的前提。但我希望,認識到這是一個激進的右翼假設,而不是傳統上被認可的假設,將會削弱其吸引力。

結論

我們喜歡認為我們的社會鼓勵助人為樂;但是,每次我們獎勵某人妨礙他人,或讚賞他們以這種方式獲得的財富時,我們都在傳達相反的訊息。

囤積軟體是我們普遍願意為了個人利益而無視社會福祉的一種形式。我們可以從羅納德·雷根到迪克·切尼,從埃克森美孚到安隆,從倒閉的銀行到失敗的學校,追溯到這種漠視。我們可以透過無家可歸人口和監獄人口的規模來衡量它。反社會精神會自我滋長,因為我們越是看到其他人不願意幫助我們,就越覺得幫助他們是徒勞的。因此,社會衰退成一片叢林。

如果我們不想生活在叢林中,我們必須改變我們的態度。我們必須開始傳達這樣的訊息:一個好公民是在適當的時候合作的人,而不是成功地從他人那裡奪取的人。我希望自由軟體運動能為此做出貢獻:至少在一個領域,我們將用一個更有效率的系統取代叢林,這個系統鼓勵並依賴自願合作來運作。

註腳

  1. 「自由軟體」中的「自由」指的是自由,而不是價格;為一份自由程式副本所支付的價格可能是零,或很小,或(極少數情況下)相當大。
  2. 污染和交通壅塞的問題並未改變這個結論。如果我們希望提高開車成本以普遍勸退開車行為,那麼使用收費站來做到這一點是不利的,因為收費站會加劇污染和交通壅塞。對汽油徵稅要好得多。同樣地,希望透過限制最高速度來提高安全性的想法並不相關;在任何給定的速限下,免收費道路透過避免停靠和延誤來提高平均速度。
  3. 有人可能會將特定的電腦程式視為有害的東西,根本不應該提供,就像 Lotus Marketplace 個人資訊資料庫一樣,由於公眾的反對而被撤回銷售。我所說的大部分內容都不適用於這種情況,但以所有者會讓程式更不容易取得為由,來主張應該有所有者是沒有意義的。所有者不會讓它「完全」無法取得,就像人們希望對於那些被認為具有破壞性用途的程式所做的那樣。