軟體專利 — 軟體開發的障礙
作者:Richard Stallman這是 Richard M. Stallman 於 2002 年 3 月 25 日在劍橋大學 電腦實驗室發表的演講稿,由 資訊政策研究基金會 組織。
文字記錄(原始版本)和 錄音檔 由 Nicholas Hill 提供。HTML 編輯和連結由 Markus Kuhn 和 GNU 網站管理員處理。
您可能已經熟悉我關於 自由軟體 的工作。這次演講與此無關。這次演講是關於一種 濫用法律 的方式,使軟體開發成為一種危險的活動。這是關於專利法應用於軟體領域時會發生的情況。
這不是關於軟體專利。這是一種非常糟糕、具有誤導性的描述方式,因為這不是關於個別程式的專利。如果是這樣,那將無關緊要,基本上是無害的。相反地,這是關於想法的專利。每項專利都涵蓋某些想法。 軟體專利 是涵蓋軟體想法的專利,也就是您在開發軟體時會用到的想法。這使得它們成為所有軟體開發的危險障礙。
著作權與專利之間的差異
您可能聽過人們使用一個具有誤導性的詞彙「智慧財產權」。正如您所看到的,這個詞彙帶有偏見,因為它做出了一個假設:無論您在談論什麼,對待它的方式都應該像是一種財產,而這只是眾多替代方案之一。這個詞彙「智慧財產權」預先判斷了您正在處理的任何領域中最基本的問題。這不利於清晰和開放的思考。
但還有一個額外的問題,它與宣傳任何一種觀點無關。它甚至阻礙了對事實的理解。「智慧財產權」這個詞彙是一個包羅萬象的詞彙。它將各種完全不同的法律領域,例如著作權和專利(專利與著作權完全不同,每個細節都不同),以及商標(商標甚至更為不同),以及其他或多或少常見的事物,統統混在一起。它們彼此之間沒有任何共同之處。它們的起源在歷史上是完全分離的。這些法律是獨立設計的。它們涵蓋了生活和活動的不同領域,並且它們引發的公共政策問題完全不相關。因此,如果您嘗試通過將它們混在一起來思考它們,您肯定會得出愚蠢的結論。無論它們可能是什麼,對於「智慧財產權」,您實際上不可能有任何明智或聰明的意見。因此,如果您想要清楚地思考,請不要將它們混在一起。思考著作權,然後思考專利。了解著作權法,然後分別了解專利法。
為了向您說明著作權和專利之間最大的一些差異
-
著作權涵蓋作品表達的細節;著作權不涵蓋任何想法。將著作權視為涵蓋任何想法是{法律錯誤}。但是專利僅涵蓋想法和想法的運用。
-
著作權自動產生。專利由專利局根據申請核發。這要花費很多錢。而且,支付律師撰寫申請書的費用甚至比實際申請的費用還要高。通常需要幾年時間才能審查申請,即使專利局通常在審查申請方面做得非常草率。
-
著作權持續的時間非常長。如今,在某些情況下,它們可以持續長達 150 年,而專利則持續 20 年,這已經足夠長,您可以活過專利期限,但在軟體等領域的時間尺度上仍然相當長。
回想 20 年前;PC 還是一個新事物。想像一下,被限制只能使用 1982 年已知的想法來開發軟體。
-
著作權涵蓋複製。如果您寫了一部小說,結果與 亂世佳人 一字不差,但您可以證明您從未看過 亂世佳人,並且是您自己寫的,那麼這將是對任何侵犯著作權指控的辯護。
但是專利是對想法使用的絕對壟斷。即使您可以證明這個想法是您自己想到的,如果這個想法已被其他人申請專利,那也完全無關緊要。
我希望您基本上忘記本次演講剩餘部分的著作權,因為這次演講是關於專利的,您永遠不應該將著作權和專利混為一談。您對這些法律問題的理解,就像您混淆水和乙醇時對實用化學的理解一樣。
專利制度
當您聽到人們描述專利制度時,他們通常是從希望獲得專利的人的角度來描述的:您獲得專利會是什麼樣;您口袋裡裝著專利走在街上會是什麼樣,這樣您就可以不時地把它拿出來,指著某人說:「給我你的錢!」這種偏見是有原因的,因為大多數會告訴您關於專利制度的人都與它有利害關係,因此他們希望您喜歡它。
還有另一個原因:專利制度很像彩票,因為只有極少數的專利實際上為專利持有人帶來任何利益。事實上,《經濟學人》 曾經將其比作耗時的彩票。如果您看過彩票的廣告,它們總是邀請您思考中獎。它們不會邀請您思考失敗,即使失敗的可能性要大得多。專利制度的廣告也是如此。它們總是邀請您思考成為贏家。
為了平衡這種偏見,我將從專利制度受害者的角度來描述專利制度。也就是從想要開發軟體但被迫應對軟體專利制度的人的角度來看,這個制度可能會導致他們被起訴。
那麼,在您想到要寫什麼樣的程式之後,您要做的第一件事是什麼?您可能想要嘗試做的第一件事是找出哪些專利可能涵蓋您想要編寫的程式。這是不可能的。原因是一些正在審查中的專利申請是秘密的。在一定時間後,它們可能會被公開,例如 18 個月。但是,這段時間足以讓您編寫程式甚至發布它,卻不知道將會有專利,而且您將會被起訴。這不僅僅是學術上的。1984 年,編寫了 Compress 程式(這是一個用於資料壓縮的程式。)當時,它使用的 LZW 壓縮演算法沒有專利。然後在 1985 年,美國為這個演算法頒發了 專利,並且在接下來的幾年中,那些發行 Compress 程式的人開始收到威脅。Compress 的作者不可能意識到他很可能會被起訴。他所做的只是使用他在期刊上找到的想法,就像程式設計師一直以來所做的那樣。他沒有意識到您不能再安全地使用在期刊上找到的想法了。
但是讓我們忘記這個問題…已核發的專利由專利局公開,因此您可以找到整個長列表,並確切地了解它們說了什麼。當然,您實際上無法閱讀整個列表,因為它們太多了。在美國,有數十萬項軟體專利,您無法追蹤它們都是關於什麼的。因此,您必須嘗試搜尋相關的專利。有些人說,在現代電腦時代,這應該很容易。您可以搜尋關鍵字等等。嗯,這在一定程度上會起作用。您會找到該領域的一些專利。但是,您不一定會找到全部專利。
例如,曾經有一項軟體專利,我認為,現在可能已經過期了,關於試算表中的自然順序重新計算。這基本上意味著,當您使某些儲存格依賴於其他儲存格時,它總是在依賴項之後重新計算所有內容,以便在一次重新計算後,所有內容都是最新的。第一個試算表從上而下進行重新計算,因此,如果您使一個儲存格依賴於一個較低的儲存格,並且您有幾個這樣的步驟,則您必須重新計算幾次才能使新值向上傳播。您應該讓事物依賴於它們上方的儲存格,您看。 然後有人意識到,「我為什麼不直接進行重新計算。所有內容都在依賴項之後重新計算。以正確的順序進行,它們都會是最新的。」這種演算法被稱為拓樸排序。我能找到的第一個參考文獻是在 1963 年。該專利涵蓋了幾十種不同的拓樸排序實作方式,但是您不會通過搜尋「試算表」來找到這個專利,因為它沒有提到這個詞。您也找不到「自然順序」或「拓樸排序」,因為它沒有包含任何這些術語。事實上,它被描述為「將公式編譯成目標程式碼的方法」。我想當我第一次看到它時,我認為它是錯誤的專利。
但是,假設您獲得了專利列表。因此,您現在想看看您不允許做什麼。您嘗試研究這些專利;嗯,您發現很難理解它們,因為它們是用曲折的法律語言寫成的,其含義很難理解。事實上,專利局所說的事情通常並不意味著它們看起來的意思。
1980 年代,澳洲政府對專利制度進行了一項研究。它的結論是,除了國際壓力之外,沒有理由設立專利制度——它對公眾沒有任何好處——並建議廢除它,如果不是因為國際壓力。他們引用的其中一件事是,工程師不會嘗試閱讀專利來學習任何東西,因為專利太難理解了。他們引用一位工程師的話說:「我在專利術語中認不出自己的發明。」[笑聲]
這不僅僅是理論上的。大約在 1990 年,一位名叫 Paul Heckel 的程式設計師起訴了蘋果公司,聲稱 Hypercard 侵犯了他的幾項 專利。當他第一次看到 Hypercard 時,他不認為它與他的「發明」有任何關係。它看起來並不相似。但是他的律師告訴他,您可以將專利解讀為涵蓋 Hypercard 的一部分,因此他決定攻擊蘋果公司。當我在史丹佛大學就此發表演講時,他在聽眾席中,他說:「這不是真的,我只是不了解我的保護範圍有多廣!」[笑聲] 我說:「是的,這就是我說的!」[笑聲]
因此,事實上,您將花費大量時間與律師交談,以弄清楚這些專利禁止您做什麼。最終,他們會說這樣的話:「如果您在這裡做某些事情,您肯定會輸;如果您在這裡做某些事情,則有很大的失敗機會;如果您真的想安全,請遠離這個區域。順便說一句,任何訴訟的結果都存在相當大的偶然性。」[觀眾席中發出輕笑聲]
開發者如何應對專利
現在您有了一個可預測的商業領域,[觀眾席中發出輕笑聲] 您打算怎麼辦?嗯,您可能會嘗試三種方法,其中任何一種方法在某些情況下都適用。
它們是
- 規避專利、
- 專利授權,或
- 在法庭上推翻它。
讓我描述這三種方法以及它們在什麼情況下可行或不可行。
- 1. 規避專利
-
這意味著不要使用專利涵蓋的想法。這可能很容易或很難,取決於這個想法是什麼。在某些情況下,某個功能已獲得專利。然後,您可以通過不實作該功能來規避專利。然後,這就取決於該功能有多重要。在某些情況下,您可以沒有它。
不久前,文字處理器 XyWrite 的使用者收到了一封降級郵件。降級刪除了一項功能,該功能允許您預定義縮寫:當您輸入縮寫後跟標點符號時,它會立即將自己替換為某些擴展。這樣,您可以為某個長語句定義縮寫,輸入縮寫,然後長語句就會出現在您的文件中。他們寫信給我,因為他們知道 Emacs 編輯器具有類似的功能。事實上,它從 70 年代就有了這個功能。這很有趣,因為它向我表明,我在一生中至少有一個可獲得專利的想法。[笑聲] 我知道它是可以申請專利的,因為後來有人為它申請了專利!實際上,他們嘗試了這些不同的方法。起初,他們嘗試與專利持有人協商,結果發現專利持有人沒有誠意協商。然後,他們研究了他們是否有機會推翻專利。他們決定做的是取消該功能。您可以沒有這個功能。如果文字處理器僅缺少此功能,也許人們仍然會使用它。但是,隨著各種功能開始受到影響,最終您會得到一個人們認為不太好的程式,他們很可能會拒絕它。
這是一個非常狹隘的專利,針對非常特定的功能。但是,您如何處理關於遍歷超連結以及撥接存取的 英國電信專利?遍歷超連結對於當今電腦的主要用途來說絕對至關重要。撥接存取也至關重要。您如何才能沒有這個功能,順便說一句,它甚至不是一個功能,它實際上只是兩個功能的組合,只是任意地並列在一起。這有點像在同一個房間裡擁有沙發和電視的專利。[笑聲]
有時,獲得專利的想法會非常廣泛和基本,以至於非常困難,基本上排除了整個領域。例如,在美國獲得專利的公開金鑰加密的想法。該專利於 1997 年到期。在此之前,它在很大程度上阻止了公開金鑰加密在美國的使用。人們開始開發的許多程式都被扼殺了,並且從未真正可用,因為專利持有人威脅了他們。然後,有一個程式逃脫了:程式 PGP,最初是作為自由軟體發布的。顯然,專利持有人在著手攻擊時,意識到他們可能會得到太多的負面宣傳。因此,他們施加了限制,使其僅供非商業用途,這意味著它無法過於流行。因此,他們在十年或更長時間內極大地限制了公開金鑰加密的使用。沒有辦法繞過該專利。您無法做任何其他類似的事情。
有時,特定的演算法會獲得專利。例如,有一項關於快速傅立葉轉換最佳化版本的專利。它的運行速度大約快兩倍。您可以通過在程式中使用普通的 FFT 來避免這種情況。您程式的該部分將花費兩倍的時間。也許這無關緊要。也許這是程式運行時間中很小的一部分,如果它慢兩倍,您可能不會真正注意到。或者,也許這意味著您的程式根本無法運行,因為它需要兩倍的實際時間才能完成其工作。影響各不相同。
在某些情況下,您可以找到更好的演算法。這可能對您有益,也可能對您沒有任何好處。因為我們無法使用 Compress,所以在 GNU 計畫中,我們開始尋找其他用於資料壓縮的演算法。有人寫信給我們說他有一個。他編寫了一個程式,並決定將其貢獻給我們。我們準備發布它,並且碰巧我看到了一份 紐約時報,其中恰好有每週專利專欄。我每隔幾個月才看到一次 泰晤士報。所以我看了看,上面說有人獲得了一項專利,用於「發明了一種新的資料壓縮方法」。我認為我最好看看這個專利。我拿到了一份副本,結果發現它涵蓋了我們距離發布僅一周之遙的程式。因此,該程式在誕生之前就夭折了。後來,我們確實找到了另一種未獲得專利的演算法。這成為了程式 Gzip,現在實際上是資料壓縮的事實標準。作為在資料壓縮程式中使用的演算法,它很好。想要進行資料壓縮的人可以使用 Gzip 而不是 Compress。但是,相同的專利 LZW 壓縮演算法也用於影像格式,例如 GIF 格式。在那裡,由於人們想要做的工作不僅僅是「壓縮我的資料」,而是「製作人們可以用他們的軟體顯示的影像」,因此事實證明很難切換到不同的演算法。事實上,我們在 10 年內都未能做到這一點!是的,在人們開始因使用 GIF 檔案而受到訴訟威脅後,人們使用新的 Gzip 演算法定義了 另一種影像格式。但是,當我們開始對人們說「嘿,停止使用 GIF 檔案,切換到這個!」時,人們說:「我們無法切換。瀏覽器尚不支援新格式。」而瀏覽器開發人員說:「我們對此並不著急。畢竟,沒有人使用這種檔案格式。」[笑聲]
實際上,社會對使用特定格式 [GIF] 具有如此大的慣性,以至於我們一直未能讓人們切換。基本上,社群對 GIF 格式的使用仍在推動網站使用 GIF 格式,導致他們容易受到這些威脅。
事實上,情況甚至更加離奇,因為實際上存在兩項涵蓋 LZW 壓縮演算法的專利。專利局甚至無法分辨他們是否正在為同一件事頒發兩項專利。他們無法追蹤。這是因為有原因的。需要花費一些時間研究這兩項專利才能看出它們實際上涵蓋了同一件事。
如果它們是關於某些化學過程的專利,那會容易得多。因為您可以查看正在使用的物質、輸入是什麼、輸出是什麼、正在採取的哪些物理動作。無論它們如何描述,您都會看到它們是什麼,然後您會看到它們是相似的。
但是,當某事物純粹是數學時,您可以使用各種方式來描述它,這些方式差異很大。它們在表面上並不相似。您必須真正理解它們才能看出它們在談論同一件事。在專利局,他們沒有時間。截至幾年前,美國專利局平均每項專利花費 17 個小時。這不足以仔細思考它們。因此,當然他們會犯這樣的錯誤。事實上,我告訴您那個在誕生之前就夭折的程式。嗯,該演算法在美國也獲得了兩項專利。顯然,這並不少見。
因此,規避專利可能很容易{或者可能}不可能;它可能很容易,但它使您的程式變得無用。這因情況而異。
這裡還有一個重點我應該提到,有時公司或聯盟可以使格式或協定成為事實標準。然後,如果該格式或協定已獲得專利,那對您來說真是一場災難。甚至有些官方標準也受到專利的限制。去年九月,當 全球資訊網協會 提議開始採用受專利保護的標準時,引起了軒然大波。社群表示反對,他們改變了主意。他們回到了堅持專利必須可以由任何人自由實作,並且標準必須對任何人免費實作。這是一次有趣的勝利。我認為這是任何標準機構第一次做出這樣的決定。標準機構通常願意將實際上受到專利限制的東西放入標準中,並且人們不被允許繼續自由實作它。我們需要前往其他標準機構,並呼籲他們更改其規則。
- 2. 專利授權
-
第二種可能性是,與其規避專利,不如獲得專利的授權。這不一定是個選項。專利持有人沒有義務向您提供授權。這不是強制性的。十年前,程式設計自由聯盟收到了一封信,請求幫助,來自一位家族企業為賭場製造賭博機器的某人,他們當時使用了電腦。他收到了另一家公司的威脅,該公司說:「我們擁有專利。您不允許製造這些東西。關門大吉。」
我查看了該專利。它涵蓋了在網路上擁有許多電腦來玩遊戲,這樣每台電腦都支援多個遊戲,並允許您一次玩多個遊戲。
您會發現專利局真的認為做任何事情超過一次都是很了不起的。[笑聲] 他們沒有意識到,在計算機科學中,這是概括任何事物的最明顯方法。您做了一次。現在您可以做任意次數,建立一個子程序。他們認為,如果您做任何事兩次而不是一次,您就做出了一項新發明。這不知何故意味著您很聰明,沒有人可以反駁您有權支配和限制他們。無論如何,他沒有獲得授權,他不得不關門大吉。他甚至真的負擔不起上法庭的費用。我會說,那個特定的專利是一個顯而易見的想法。法官可能會同意。但是,我們永遠不會知道,因為他負擔不起上法庭的費用。
但是,許多專利持有人確實提供授權。不過,他們通常收取很多錢。授權自然順序重新計算專利的公司要求美國每張試算表總銷售額的 5%。我被告知那是便宜的訴訟前價格。如果您真的讓他們起訴您並且他們勝訴,他們會要求更多。您可能負擔得起 5% 的費用來授權這項專利,但是如果您需要授權 20 項不同的專利才能製作程式呢?那麼您收到的所有錢都必須付給他們。如果您需要授權 21 項專利怎麼辦?
商業人士告訴我,實際上,其中兩三項專利就會使任何業務都不可行。
但是,在某種情況下,專利授權是一個非常好的解決方案。那就是如果您是一家跨國大型企業。因為這些公司擁有大量專利,並且它們彼此交叉授權。這樣,它們就避免了專利制度造成的大部分損害,並且只獲得了好處。IBM 在 《Think》雜誌 上發表了一篇文章——我相信是 1990 年第 5 期——關於 IBM 的專利組合,該文章說 IBM 從其 9000 項美國專利中獲得了兩種好處。我相信今天的數字更大了。這些是 (1) 收取權利金,以及 (2) 獲得他人專利的許可。他們說,後者的好處要大一個數量級。因此,IBM 從被允許使用他人專利的想法中獲得的好處是 IBM 可以從專利授權中獲得的直接好處的 10 倍。
這實際上意味著什麼?IBM 從這種他人專利的許可中獲得的好處是什麼?基本上是免於專利制度可能給您帶來麻煩的好處。專利制度就像彩票。任何給定專利會發生什麼可能什麼都不是,可能是一些專利持有人的意外之財,而對其他人來說是災難。但是 IBM 如此龐大,對他們來說,它會平均化。他們可以衡量專利制度的平均危害和好處。對他們來說,麻煩本來會是好處的 10 倍。我說是本來會是因為 IBM 通過交叉授權避免了經歷這種麻煩。這種麻煩只是潛在的。它並沒有真正發生在他們身上。但是,當他們衡量避免這種麻煩的好處時,他們估計它價值是他們從專利中收取的資金的 10 倍。
交叉授權的現象駁斥了一個常見的神話,即飢餓天才的神話。專利「保護」了「小發明家」的神話。這些術語都是宣傳術語。您不應該使用它們。情境是這樣的:假設有一位出色的設計師,無論是什麼,他自己獨自一人在閣樓裡餓了好幾年,設計出了一種新型的奇妙的無論是什麼,現在想要製造它。大型公司將與他競爭,搶走所有業務,他會「餓死」,這難道不是一種恥辱嗎?嗯,我必須指出,高科技領域的人們通常不是單獨工作的,而且想法並非憑空而來——它們是基於他人的工作——而且這些人如果需要,現在很有可能找到工作。因此,這種情境,即這個絕妙的想法來自這個單獨工作的人的想法是不現實的,而且他面臨餓死的危險的想法也是不現實的。但是,可以想像的是,某人可能有一個想法,而這個想法,也許與 100 或 200 個其他想法一起,可能是製造某種產品的基礎,而大型公司可能想要與他競爭。因此,讓我們看看如果他嘗試使用專利來阻止他們會發生什麼。他說,「喔,不,IBM。您不能與我競爭。我有這個專利。」而 IBM 說,「讓我們看看。讓我們看看您的產品。嗯。我有這個專利,這個專利,這個專利,這個專利,這個專利,這個專利,哪個部分侵犯了您的產品。如果您認為您可以在法庭上與所有這些專利作鬥爭,我會回去再找一些。所以,您為什麼不與我交叉授權呢?」然後,這位才華橫溢的小[笑聲] 發明家說,「好吧,好吧,我會交叉授權。」現在,他可以回去製造這些奇妙的無論是什麼,IBM 也可以。IBM 現在可以獲得他的專利許可,並獲得與他競爭的權利,這意味著這個專利根本沒有「保護」他。專利制度實際上並沒有做到這一點。
大型企業大致上可以避開專利制度的危害。他們主要看到的是好處。這就是為什麼他們想要擁有軟體專利。他們是將從中受益的人。但如果你真的是一位小型發明家,或是在一家小公司工作,小公司就無法做到這一點。他們嘗試過。問題是他們無法獲得足夠的專利來做到這一點。你看,任何一項專利都指向某個特定方向。所以,如果一家小公司擁有指向這裡、那裡和那裡的專利 [展示左側],而有人在那邊 [展示右側] 用一項專利指向他們,並說「把你的錢給我」,他們就無能為力,因為他們擁有的專利指向那裡或附近 [展示左側],但不是那裡 [展示右側]。IBM 可以做到,因為憑藉這 9000 項專利,它們指向四面八方。無論你在哪裡,都可能有一項 IBM 專利指向你。所以,IBM 幾乎總是能讓你交叉授權。但小公司只能偶爾讓別人交叉授權。他們會說他們想要專利是為了防禦目的,但他們不會獲得足夠的專利來保護自己。
有些情況甚至 IBM 也無法讓對方交叉授權。那就是當一家公司的唯一業務是取得專利並從人們身上榨取金錢時。擁有自然順序重新計算專利的公司正是這樣一家公司。他們唯一的業務就是威脅要起訴人們,並向真正從事開發工作的人們收取費用。
法律程序沒有專利。 [笑聲] 我猜律師們大致了解自己必須應對專利系統會有多痛苦。結果是,你無法獲得專利來讓那家公司,Refac,與你交叉授權。所以他們到處榨取每個人。但我猜像 IBM 這樣的公司認為這是做生意的代價之一,所以他們可以忍受。
所以這就是專利授權的可能性,這可能是可能的,也可能是不可能的。而且你可能負擔得起,也可能負擔不起。
- 3. 在法庭上推翻專利
-
據說,為了獲得專利,某事物必須是新穎的、有用的且非顯而易見的。這是美國使用的語言。我認為其他國家有不同的語言,但意思幾乎相同。當然,當專利局開始介入時,他們開始解釋「新穎」和「非顯而易見」,「新穎」結果變成意味著「我們的檔案裡沒有」,而「非顯而易見」往往意味著「對於智商 50 的人來說是非顯而易見的」。
有人研究了美國頒發的大部分軟體專利——或者至少他過去是這樣做的;我不知道他是否還能跟上——他說其中 90% 無法通過水晶城測試,這意味著,如果專利局的人走到外面去報攤買一些電腦雜誌,他們就會看到這些想法早已為人所知。
專利局做的事情顯然很愚蠢,你甚至不必了解現有技術就能看出它們很愚蠢。這不僅限於軟體。我曾經看過著名的哈佛小鼠專利,那是哈佛大學基因改造出一種帶有致癌基因的小鼠品系後獲得的。致癌基因早已為人所知,並且是使用已知技術插入到現有的小鼠品系中。他們獲得的專利涵蓋了使用任何方法將任何致癌基因插入到任何種類的哺乳動物中。你不需要了解任何關於基因工程的知識就能意識到這很荒謬。
但我被告知,這種過度聲明是正常做法,而且美國專利局有時會邀請專利申請人擴大他們的權利要求範圍。基本上,擴大權利要求範圍,直到你認為它們遇到了明確的先前技術為止。看看你能搶佔多少心智空間。
當程式設計師看到許多軟體專利時,他們會說:「這真是荒謬地 顯而易見!」專利官僚有各種藉口來為忽略程式設計師的想法辯護。他們說「哦!但你必須從 10 或 20 年前的情況來考慮。」然後他們發現,如果你把某件事說得太透徹,那麼你最終可能會迷失方向。如果你把任何東西都拆開來分析,分析得夠透徹,任何東西看起來都可能變得非顯而易見。你只是失去了所有顯而易見的標準,或者至少失去了證明任何顯而易見或非顯而易見的標準的能力。然後,當然,他們將專利持有人描述為傑出的發明家,他們都是。因此,我們不能質疑他們有權力支配我們能做什麼。
如果你去法院,法官可能會對什麼是顯而易見或不明顯的想法更加嚴格。但問題是這樣做要花費數百萬美元。我聽說過一個專利案例,我記得被告是高通公司,我相信最終的裁決是 1300 萬美元,其中大部分用於支付雙方律師的費用。原告還剩下幾百萬美元,因為他們敗訴了。
在很大程度上,專利的有效性問題將取決於歷史偶然事件。許多歷史偶然事件,例如確切的出版時間,以及有人設法找到哪些東西,哪些東西沒有丟失,確切的日期等等。因此,是許多歷史偶然事件決定了專利是否有效。
事實上,英國電信的連結超連結與電話存取專利是一件奇怪的事情,我認為是在 1975 年申請的。我認為我在 1974 年第一次開發了 Info 套件。Info 套件允許你遍歷超連結,人們確實使用電話撥號並存取系統。所以事實上,我為該專利製作了一件先前技術。這是我一生中第二個可取得專利的想法,但我認為我沒有任何證據證明這一點。我不認為這有趣到值得發表。畢竟,追蹤超連結的想法,我是從恩格爾巴特的編輯器的演示中得到的。他是那個擁有值得發表的有趣想法的人。我稱之為「窮人的超文本」,因為我必須在 TECO 的環境中實作它。它不如他的超文本強大,但至少對於瀏覽文檔很有用,這就是它的目的,至於對系統進行撥號存取,嗯,確實有,但我不認為其中一個與另一個有任何特別的關係。我不會試圖發表一篇論文說「哦!我實作了這個窮人的超文本,你猜怎麼著!電腦上也有撥號線!」[笑聲] 我懷疑沒有辦法準確地說出我實作這個的時間。它在任何意義上發表了嗎?嗯,我們邀請客人透過 ARPAnet 進來並登入我們的機器,這樣他們就可以使用 Info 瀏覽文檔,並看到這個東西。如果他們問我們,他們就會發現我們有撥號存取。但正如你所見,歷史偶然事件決定了你是否擁有先前技術。
現在當然,恩格爾巴特有一篇關於超文本的出版物,他們將會展示。我不認為它有說到電腦上有撥號功能。所以,它是否足夠尚不清楚。
所以,這是一個選項,即去法院推翻專利的可能性。但是,由於費用昂貴,即使你能找到應該足以推翻專利的確鑿先前技術,這通常也是不可能的。因此,一項無效專利,一項名義上不應該存在的專利(但實際上有很多這樣的專利)是一種危險的武器。如果有人用一項無效專利攻擊你,那真的會給你帶來很多麻煩。你或許可以透過向他們展示先前技術來嚇唬走他們。這取決於他們是否會被嚇跑,或者他們可能會認為「好吧,你只是在虛張聲勢,我們認為你真的無法上法庭。你負擔不起,所以我們還是要起訴你。」
所有這三種可能性都是有時你可以設法使用,但通常你不能使用的東西。所以你必須面對一個又一個的專利。每次你都可能找到這三種可能性中的一種可以使用,然後又出現另一個專利,再一個,又一個。這變得像穿越雷區一樣。你走的每一步,每個設計決策,可能都不會踩到專利。所以你可以走幾步,可能不會爆炸。但是,當程式變得越來越大時,你一路穿越雷區並開發出你想要開發的程式,而永遠不會踩到專利的機會就會越來越小。
軟體領域的特殊性
現在,人們過去常對我說:「嗯,其他領域也有專利,為什麼軟體應該豁免?」請注意其中的奇怪假設,即不知何故我們都應該忍受專利制度的痛苦。這就像說「有些人得了癌症。為什麼你應該豁免?」[笑聲] 在我看來,每個人不患癌症都是好事。但是,在這背後,有一個比較不帶偏見的問題,這是一個好問題,那就是:軟體是否與其他領域不同?不同領域的專利政策應該有所不同嗎?如果是,那是為什麼?
讓我來解決這個問題:專利與不同領域的關係不同,因為在不同領域,專利與產品的關係也不同。
在一個極端情況下,我們有藥品,其中給定的化學式會被授予專利,因此該專利僅涵蓋一種產品。其他產品不會被現有專利涵蓋。如果這個新產品要申請專利,專利持有人將是開發這個新產品的人。
這符合我們對專利制度的樸素想法,即如果你正在設計一個新產品,你將獲得「專利」,即每個產品有一項專利,並且它涵蓋了該產品的想法。在某些領域,這更接近事實。在其他領域,這離事實更遠。軟體處於另一個極端。這是因為軟體套件通常非常龐大,而且它們在新組合中使用許多不同的想法。如果這個程式是新的,它不是簡單的複製,那麼它很可能使用了不同的想法組合,當然,也結合了新編寫的程式碼,因為你不能只是神奇地說出這些想法的名稱就讓它們工作。你必須將它們全部實作出來。你必須將它們全部以這種組合實作出來。結果是,當你編寫一個程式時,你正在使用許多不同的想法,其中任何一個都可能已被他人申請專利。它們中的一對組合可能已被他人申請專利。可能有多種不同的方式來描述一個想法,這些想法可能已被不同的其他人申請專利。因此,你的程式中可能存在數千個漏洞,這些漏洞可能已經被其他人申請專利。這就是為什麼軟體專利往往會阻礙軟體進步——軟體開發工作。
如果是一個產品一個專利,那麼這些專利就不會阻礙產品的開發,因為如果你開發了一個新產品,它就不會已經被其他人申請專利。但是,當一個產品對應於許多不同想法的組合時,你的新產品很可能已經被其他人申請專利。事實上,現在有經濟研究表明,在增量創新領域實施專利制度會如何阻礙進步。你看,軟體專利的倡導者說「好吧,是的,可能存在問題,但比任何問題都更重要的是,專利必須促進創新,這非常重要,無論它們造成什麼問題都無所謂。」當然,他們不會大聲說出來,因為這很荒謬,但他們含蓄地想讓你相信,只要它促進了進步,那就超過了任何可能的成本。但實際上,沒有理由相信它會促進進步。我們現在有一個模型,精確地展示了專利如何阻礙進步。適合該模型的情況很好地描述了軟體領域:增量創新。
為什麼軟體處於這個範圍的極端?原因是,在軟體中,我們正在開發理想化的數學物件。你可以建造一座複雜的城堡,讓它支撐在一條細線上,它會保持豎立,因為它沒有重量。在其他領域,人們必須應對物質——物理物件的乖僻性。物質會做它要做的事情。你可以嘗試對其建模,如果實際行為與模型不符,那是你的問題。因為挑戰是製造真正有效的物理物件。
如果我想在 while
語句中放入一個 if
語句,我不必擔心 if
語句是否會以特定頻率振盪並與 while
語句摩擦,最終它們會斷裂。[笑聲] 我不必擔心它是否會以更高的頻率振盪,並在某些其他變數的值中感應出訊號。我不必擔心 if
語句會消耗多少電流,它是否可以在 while
語句內消散熱量。while
語句上是否會有電壓降,導致 if
語句無法運作。我不必擔心,如果我在鹽水環境中運行這個程式,鹽水是否會進入 if
語句和 while
語句之間並導致腐蝕。當我引用變數的值時,我不必擔心是否因為引用太多次而超過了扇出限制。當我引用變數時,我不必擔心它有多少電容,以及是否有足夠的時間來充電。當我編寫程式時,我不必擔心如何物理組裝每個副本,以及我是否可以設法存取以將 if
語句放入 while
語句中。而且我不必擔心,如果 if
語句壞了,我要如何存取以將其移除並更換為新的。[笑聲]
我們在軟體中不必擔心的問題太多了。這使其從根本上更容易。編寫程式從根本上比設計一個能運作的物理物件更容易。這可能看起來很奇怪,因為你可能聽說過人們談論軟體設計有多難,以及這是一個多大的問題,以及我們將如何解決它。他們實際上並不是在談論我所說的同一個問題。你看,我正在比較相同複雜度、相同零件數量的物理系統和軟體系統。我說軟體系統比物理系統更容易設計。但是這些不同領域的人們的智慧是相同的,所以當我們面對一個容易的領域時,我們該怎麼辦?我們只是把它推得更遠!我們將我們的能力推向極限。如果相同尺寸的系統很容易,那就讓我們製造比它大十倍的系統,那樣就會很難了![笑聲] 這就是我們所做的!我們製造的軟體系統在零件數量方面遠遠大於物理系統。一個設計中有一百萬個不同零件的物理系統是一個大型專案。一個設計中有一百萬個零件的電腦程式,那可能大約是 30 萬行程式碼,幾個人會在幾年內編寫出來。這並不是一個特別龐大的程式。我認為 GNU Emacs 現在的設計中有數百萬個零件,因為它有一百萬行程式碼。這是一個基本上沒有任何資金支持的專案。主要由人們在業餘時間完成。
還有另一個巨大的節省。如果你設計了一個物理產品,接下來你必須做的是設計製造它的工廠。建造這個工廠可能要花費數百萬甚至數千萬美元,而要製作程式的副本,你只需要輸入 copy
。同一個 copy
命令可以複製任何程式。你想要 CD 上的副本,沒問題。你燒錄一張母片 CD 並將其發送到 CD 工廠。他們將使用相同的設備來複製 CD 上的任何內容。你不需要建造工廠來製造這個產品。設計東西有巨大的簡化和巨大的成本降低。結果是,假設對於一家汽車公司來說,如果他們要花費 5000 萬美元來建造一家工廠,來製造一款新型汽車,他們可以聘請一些律師來應對一些專利授權談判。如果他們願意,他們甚至可以應對訴訟。設計一個與之複雜度相當的程式可能要花費 5 萬美元或 10 萬美元。相比之下,應對專利制度的成本是毀滅性的。實際上設計一個與汽車機械設計複雜度相當的程式,可能需要一個月的工作。一輛汽車有多少個零件……那是如果它是一輛沒有電腦的汽車?[1] 沒有那麼多零件,你看。這並不是說設計一個好的汽車很容易,只是說它裡面沒有那麼多不同的東西。
結果是,軟體確實與其他領域不同,因為我們正在處理數學的東西。設計東西要容易得多、得多。結果是,我們經常製造比以前大得多、得多的系統,而且只需幾個人即可完成。結果是,專利系統不再接近「一個產品,一個專利」,我們處於一個產品涉及許多、許多可能已經獲得專利的想法的系統中。
解釋它的最佳方式是用交響樂來類比。交響樂也很長,其中包含許多音符,並且可能使用許多音樂想法。想像一下,如果 1700 年代的歐洲政府決定他們想要透過建立一個歐洲音樂專利局來促進交響樂的發展,該專利局將為任何你可以用文字表達的音樂想法授予專利。然後想像一下,現在是 1800 年左右,你是貝多芬,你想寫一部交響樂。你會發現,讓你的交響樂合法,使其不侵犯任何專利,將比寫一部好的交響樂更難。當你抱怨這件事時,專利持有人會說「啊,貝多芬,你只是在抱怨,因為你沒有自己的想法。你只想抄襲我們的發明。」貝多芬碰巧有很多新的音樂想法,但他必須使用許多現有的音樂想法,才能創作出可識別的音樂,才能創作出聽眾可能喜歡的音樂,他們可以將其識別為音樂。沒有人聰明到可以重新發明音樂,並製作出人們想聽的東西。皮耶·布列茲說他會嘗試這樣做,但是……誰會聽皮耶·布列茲的音樂呢?[笑聲]
沒有人聰明到可以完全重新發明電腦科學。如果他這樣做了,他會做出一些用戶會覺得非常奇怪而不想使用的東西。如果你今天看一個文字處理器,你會發現,我認為,有數百種不同的功能。如果你開發一個不錯的創新文字處理器,這意味著它裡面有一些新的想法,但必須有數百個舊的想法在裡面。如果不允許你使用它們,你就無法製作出創新的文字處理器。
由於軟體開發工作量如此之大,結果是我們不需要任何人為的方案來激勵新的想法。你只要讓人們編寫軟體,他們就會有一些新的想法。如果你想編寫一個程式,你想讓它變得優秀。你會想到一些想法,你會看到一些使用它們的方法。過去發生的事情——因為我在軟體專利出現之前的軟體領域——是大多數開發人員都會發表他們認為值得注意的任何新想法,他們認為他們可能會因此獲得任何讚譽或尊重。那些太小或不夠令人印象深刻的想法,他們不會發表,因為那會很傻。現在專利制度應該鼓勵想法的揭露。事實上,在過去,沒有人保守想法的秘密。他們保守了程式碼的秘密,這是真的。畢竟,程式碼代表了大部分工作。他們通常會保守程式碼的秘密並發表想法。這樣,員工就可以獲得一些讚譽並感覺良好;你知道,他們被允許發表論文。在軟體專利之後,他們仍然保守程式碼的秘密,並為想法申請專利。因此,事實上,揭露並未以任何有意義的方式得到鼓勵。現在保守的秘密與以前保守的秘密相同,但過去可以讓我們使用的想法現在很可能被申請專利,並在 20 年內被禁止使用。
在公共政策中解決軟體專利問題
一個國家可以做些什麼來改變這種狀況?我們應該如何改變政策來解決這個問題?有兩個地方你可以著手解決。一個是正在申請和頒發專利的地方,即專利局。另一個是正在申請專利時——即專利涵蓋什麼範圍的問題。
改變頒發專利的標準,或者只是保持良好的頒發專利標準,可以在以前沒有授權軟體專利的國家/地區發揮作用;例如,在歐洲的大部分地區。只需明確地重申歐洲專利局的規則,即軟體不可授予專利。這對歐洲來說是一個很好的解決方案。歐洲現在正在考慮一項關於軟體專利的指令。我想該指令可能比這更廣泛,但其重要含義之一是針對軟體專利。只需修改這一點,聲明軟體想法不能被授予專利,就可以在很大程度上將問題排除在歐洲之外,除非一些國家可能自行承認了這個問題——不幸的是,其中一個是英國,對你們來說不幸的是。
這種方法在美國行不通。原因是美國已經有大量的軟體專利,而任何改變頒發專利標準的做法都無法擺脫現有的專利。然而,事實上,這些專利並未被正式標記為軟體專利。我說軟體專利,但我的真正意思是?我的意思是可能適用於軟體,可能讓你因編寫軟體而被起訴的專利。專利局不會將專利劃分為軟體專利和其他專利。因此,事實上,任何專利都可能讓你因編寫軟體而被起訴,如果它可以應用於某些軟體的話。因此,在美國,一個解決方案將必須透過改變專利的適用性、範圍來完成,即聲明純軟體實作,在通用電腦硬體上運行,本身不侵犯專利,不受任何專利涵蓋,你不能因此被起訴。那是另一種解決方案。
但第一種解決方案,即對哪些類型的專利可以有效力的解決方案,是歐洲可以使用的好解決方案。
當美國開始擁有軟體專利時,沒有任何政治辯論。事實上,沒有人注意到。在很大程度上,軟體領域甚至沒有注意到。1981 年最高法院的一項裁決審議了一項關於橡膠硫化過程的專利。裁決是,設備包含電腦和程式作為橡膠硫化過程的一部分,這一事實並不使其不可授予專利。第二年審議所有專利案件的上訴法院推翻了限定詞。他們說,其中有電腦和程式這一事實使其可以授予專利。任何東西中存在電腦和程式這一事實使其可以授予專利。這就是為什麼美國開始擁有商業程序專利的原因。因為商業程序是在電腦上執行的,這使得它們可以授予專利。因此,這項裁決做出了,我認為自然順序重新計算專利是最早的專利之一,甚至可能是第一個。
但在整個 80 年代,我們大多不知道這件事。大約在 1990 年,美國的程式設計師開始意識到他們面臨著來自軟體專利的危險。所以,我看到了該領域在那之前是如何運作的,以及之後是如何運作的。我沒有看到 1990 年之後進展有任何特別的加速。美國沒有政治辯論,但在歐洲卻進行了一場大型政治辯論。幾年前,有人推動修改建立 歐洲專利局 的慕尼黑條約。它有一條 條款,規定軟體不可授予專利。推動修改該條款是為了開始允許軟體專利。但社群注意到了這一點。實際上是自由軟體開發者和自由軟體用戶帶頭。
我們不是唯一受到軟體專利威脅的人。所有軟體開發者都受到軟體專利的威脅,甚至軟體用戶也受到威脅。例如,當蘋果公司不太害怕保羅·海克爾的威脅時,他威脅要開始起訴蘋果公司的客戶。蘋果公司發現這非常可怕。他們認為他們無法承擔讓他們的客戶被這樣起訴的後果,即使他們最終會勝訴。因此,用戶也可能被起訴,無論是作為攻擊開發者的一種方式,還是僅僅作為一種榨取他們的金錢或自行對他們造成混亂的方式。
所有軟體開發者和用戶都很脆弱,但正是歐洲的自由軟體社群帶頭組織反對。事實上,現在已經有兩次,管理歐洲專利局的國家投票決定不修改該條約。然後歐盟介入,歐盟的各個總署在這個問題上存在分歧。
負責推廣軟體的部門似乎反對軟體專利。但他們不負責這個問題。負責的是開放市場總署,該總署由一位支持軟體專利的人領導。他們基本上無視了向他們表達的公眾意見,並提出了一項允許軟體專利的指令。[2] 法國政府已經表示他們反對。人們正在歐洲其他各國政府中努力反對軟體專利,在這裡開始這樣做至關重要。
根據歐洲反對軟體專利鬥爭的領導人之一哈特穆特·皮爾希的說法,主要推動力來自 英國專利局。英國專利局 просто 偏向於軟體專利。它進行了公眾諮詢,大多數回應都反對軟體專利。然後他們寫了一份報告,說人們似乎對它們感到滿意,[笑聲] 完全無視了答案。你看,自由軟體社群說,「請將答案發送給他們,也請將你的答案發送給我們,我們將公開它們。」所以他們公開了這些答案,這些答案普遍表示反對。你永遠無法從英國專利局發布的報告中猜到這一點。
他們 [英國專利商標局] 使用一個他們稱之為「技術效果」的術語。這是一個可以極大延伸的術語。你應該認為它的意思是,只有當程式想法與特定的物理活動密切相關時,它才是可專利的。如果這是解釋,它將在很大程度上解決問題。如果唯一可以獲得專利的軟體想法是那些真正與特定的技術、特定的物理結果相關的想法,而如果你不使用程式,你可能會為此申請專利,那樣就可以了。問題是你可以延伸這個術語。你可以將運行任何程式獲得的結果描述為物理結果。這個物理結果與其他每個結果有什麼不同?嗯,這是計算的結果。結果是,英國專利局正在提出一些看起來可以大致解決問題的東西,但實際上卻為幾乎任何東西的專利授予了全權委託。
同部門的人員也捲入了一項著作權問題,這問題其實與軟體專利無關,只是由同一批人處理。這是一個關於詮釋歐盟近期著作權指令的問題,這項指令就像美國的《數位千禧年著作權法案》一樣糟糕。但各國在如何實施這項指令上仍有一定的彈性空間。英國正提議以最嚴苛的方式來實施這項指令。若能妥善實施,就能大幅減少其危害。英國似乎想將這項指令的暴政效應最大化。似乎有一個特定的團體,貿易暨工業部 [已封存],[笑聲],需要被約束。 [笑聲] 有必要對他們的活動加以制衡。阻止他們創造新的權力形式。
軟體專利以一種新的官僚形式束縛著每一位軟體開發者和每一位電腦使用者。如果使用電腦的企業意識到這會為他們帶來多大的麻煩,他們肯定會群起反抗,而且我相信他們可以阻止這一切。企業界不喜歡被官僚體制束縛。
當然,有時官僚體制也服務於重要的目的。在某些領域,我們希望英國政府在以官僚體制約束特定企業方面做得更仔細,例如在涉及動物運輸的時候。[3] 但在某些情況下,當它除了創造人為壟斷之外沒有任何目的,以至於有人可以干擾軟體開發,從開發者和使用者身上榨取金錢時,我們就應該拒絕它。
我們需要讓管理階層意識到軟體專利會對他們造成什麼影響。爭取他們的支持,一同在歐洲對抗軟體專利。
戰役尚未結束。我們仍然可以獲勝。 [掌聲]
註腳
- 一個自動變速箱大約有 300-400 個獨特的零件,而變速箱通常是汽車最複雜的組件。設計一個變速箱可能需要六個月到一年的時間,即使如此,實際製造並使其運作可能需要更長的時間。然而,一個具有 500 到 600 個功能部件的程式,實際上只有 200 到 300 行程式碼,而且可能只需要一位優秀的程式設計師花費一天到一週的時間來編寫、測試和除錯。
- 在 2005 年 7 月 6 日,歐洲議會以 680 票中的 648 票否決了軟體專利指令。然而,我們絕不能忘記軟體專利的問題,因為那些一直推動專利的人正試圖復活最近被否決的指令。我們也必須確保歐洲專利局(EPO)和歐盟各國的國家專利局停止授予包含在其他種類發明中的軟體專利。
- 為了更難以讓口蹄疫蔓延。
本演講收錄於《自由軟體,自由社會:理查·史托曼精選文集》。