網路服務並非自由或非自由軟體;它們引發其他議題
作者:Richard Stallman程式和服務是不同種類的實體。程式是您可以執行的作品;服務是您可能會互動的活動。
對於程式,我們區分自由軟體和非自由(專有)軟體。更精確地說,這種區分適用於您擁有一份副本的程式:您要麼對您的副本擁有四項自由,要麼沒有。 如果您沒有,那麼該程式對您造成了一種特定的不公正待遇,僅僅因為它是非自由軟體。
非自由軟體的著作權持有人可以用一種簡單明瞭的方式來彌補這種不公正待遇:以自由軟體授權條款發布相同的原始碼。說服他們做到這一點可能很困難,但這個行動本身很直接。
活動(例如服務)並不是以副本的形式存在的,因此使用者不可能擁有它的副本,更不用說製作更多副本了。由於沒有副本可以修改,使用者也無法修改它。 因此,定義自由軟體的四項自由對於服務而言沒有意義。 說服務是「非自由」或「自由」是沒有意義的。這種區分對於服務而言毫無意義。
這並不意味著服務會公正地對待使用者。恰恰相反——許多服務以各種方式對使用者造成損害,我們稱它們為「劣質服務」——但對於這種情況,沒有像非自由軟體那樣的簡單通用解決方案(將其作為自由軟體發布,以便使用者可以運行和控制他們的副本和版本)。
用烹飪來比喻,我的烹飪方式不可能是你的烹飪方式的副本,即使我是透過觀察你學習烹飪的。 我可能有並使用你烹飪時使用的食譜副本,因為食譜就像程式一樣,是一種作品,並且以副本形式存在,但你的食譜與你的烹飪方式不同。(而且兩者都與你的烹飪所產生的食物不同。)
以今天的技術而言,服務通常是透過在電腦上運行程式來實現的,但這並不是實現它們的唯一方法。(事實上,有些網路服務是透過要求人類輸入問題的答案來實現的。) 無論如何,服務的實作對於服務使用者而言是不可見的,因此對他們沒有直接影響。
網路服務可能會透過使用它所需的用戶端軟體,為其使用者帶來自由軟體與非自由軟體的問題。 如果服務需要使用非自由的用戶端程式,則使用該服務就需要將您的自由讓渡給該程式。 對於許多網路服務而言,非自由軟體是 JavaScript 程式碼,它會靜默安裝在使用者的瀏覽器中。 GNU LibreJS 程式可以更輕鬆地拒絕運行此非自由 JavaScript 程式碼。 但用戶端軟體的問題在邏輯上與服務本身是分開的。
在一種情況下,服務可以直接與程式相提並論:當使用服務相當於擁有一個假設程式的副本並自行運行它時。 在這種情況下,我們稱之為「服務即軟體替代品」(Service as a Software Substitute),或 SaaSS(我們創造這個詞是為了使其比「軟體即服務」(Software as a Service)更精確且更具體),而這樣的服務始終是不好的。 它所做的工作是使用者自己的運算,使用者應該對此擁有完全的控制權。 使用者控制自己運算的方式是透過運行他們自己的自由軟體副本來完成。 使用別人的伺服器來進行運算意味著失去對它的控制。
SaaSS 相當於使用具有監控功能和通用後門的非自由軟體,因此您應該拒絕它並用一個執行相同工作的自由軟體替換它。
然而,大多數服務的主要功能是溝通或發布資訊;它們與自己運行任何程式都不一樣,因此它們不是 SaaSS。 它們也不能被您的程式副本所取代;在您自己的電腦中運行的程式,僅供您自己使用且與他人隔離,不會與任何人溝通。
非 SaaSS 服務可能會透過對使用者做出特定且不公正的事情來虐待使用者。 例如,它可能會濫用使用者發送給它的資料,或收集過多的資料(監視)。 它可能被設計為誤導或欺騙使用者(例如,使用「暗黑模式」)。 它可能會施加反社會或不公正的使用條件。《富蘭克林街聲明》曾嘗試解決這些問題,但我們尚未完全理解它們。 顯而易見的是,關於服務的問題不同於關於程式的問題。 因此,為了清晰起見,最好不要將「自由」和「非自由」這些術語應用於服務。
假設某項服務是使用軟體實作的:伺服器營運商擁有許多程式的副本,並運行它們以實作該服務。 這些副本可能是自由軟體,也可能不是。 如果營運商開發了它們並在沒有散布副本的情況下使用它們,那麼它們在微不足道的意義上是自由的,因為每個使用者(只有一個)都擁有四項自由。
如果其中一些是非自由軟體,這通常不會直接影響服務的使用者。 他們沒有運行這些程式;服務營運商正在運行它們。 在特殊情況下,這些程式可能會間接影響服務的使用者:如果服務持有私人資訊,使用者可能會擔心伺服器上的非自由軟體可能會有後門,讓其他人可以看到他們的資料。 實際上,伺服器上的非自由軟體要求使用者信任這些程式的開發者以及服務營運商。 這在實踐中有多重要取決於細節,包括非自由軟體所做的工作。
然而,肯定會受到實作該服務的非自由軟體虐待的一方是伺服器營運商自己。 我們不會因為伺服器營運商受制於非自由軟體而譴責她,我們當然也不會因此抵制她。 相反,我們關心她的自由,就像任何非自由軟體的使用者一樣。 如果有機會,我們會嘗試解釋它如何限制她的自由,希望她會轉向自由軟體。
相反,如果服務營運商運行 GNU/Linux 或其他自由軟體,這不是影響您的美德,而是對她有利。 我們不會為此讚揚或感謝她;相反,我們祝賀她做出了明智的選擇。
如果她為該服務開發了一些軟體,並將其作為自由軟體發布,那麼這就是我們有理由感謝她的時候。 我們建議根據 GNU Affero GPL 發布這些程式,因為顯然它們在伺服器上很有用。
因此,我們沒有規定自由系統不應使用(或不應依賴)使用非自由軟體實作的服務(或網站)。 但是,它們不應依賴、建議或鼓勵使用 SaaSS 服務;使用 SaaSS 需要用使用自由軟體來取代。 在所有條件相同的情況下,最好支持那些透過發布有用的自由軟體來為社群做出貢獻的服務提供者,並且最好支持點對點通訊,而不是基於伺服器的集中式通訊,對於那些本質上不需要中央樞紐的活動。