不完美不等同於壓迫
作者:理查·史托曼當自由程式缺少使用者想要的功能時,這很遺憾;我們鼓勵人們添加缺少的東西。有些人會更進一步聲稱,如果一個程式缺少某些功能,甚至不能算是自由軟體——它拒絕了使用者或其不支持的用途的自由 0(隨意執行程式的自由)。這種論點是誤導性的,因為它基於將能力等同於自由,將不完美等同於壓迫。
每個程式不可避免地都有某些功能,並缺少其他可能令人嚮往的功能。有些工作它可以做,有些工作如果沒有進一步的努力就做不到。這就是軟體的本質。
關鍵功能的缺失可能意味著某些使用者會發現該程式完全無法使用。例如,如果您只理解圖形介面,命令列程式可能對您來說是不可能使用的。如果您看不到螢幕,沒有螢幕閱讀器的程式可能對您來說是不可能使用的。如果您只說希臘語,選單和訊息為英語的程式可能對您來說是不可能使用的。如果您的程式是用 Ada 寫的,C 編譯器對您來說是不可能使用的。要求您自己克服這些障礙是不合理的。自由軟體確實應該提供您需要的功能。
自由軟體確實應該提供它,但是缺少該功能並不會使程式變成非自由軟體,因為這是不完美,而不是壓迫。
使程式成為非自由軟體是開發者犯下的不公正行為,剝奪了任何使用者的自由。開發者應該為此受到譴責。譴責該開發者至關重要,因為只要開發者繼續這樣做,就沒有其他人可以撤銷這種不公正行為。我們可以並且確實嘗試通過開發自由的替代品來拯救受害者,但我們無法使非自由程式變成自由程式。
開發一個沒有添加某些重要功能的自由程式並沒有對任何人做錯事。相反,它做了一些好事,但並非人們需要的所有好事。沒有人特別應該因沒有開發缺失的功能而受到譴責,因為任何有能力的人都可以做到。如果因為自由程式的作者沒有做一些額外的工作而單獨挑出他們來責備,那將是不知感恩,而且適得其反。
我們能做的是聲明完成這項工作需要做一些額外的工作。這是建設性的,因為它有助於我們說服某人去做那項工作。
如果您認為自由程式中的某個擴展很重要,請以尊重我們貢獻者的方式推動它。不要批評那些貢獻了我們擁有的有用程式碼的人。相反,尋找完成這項工作的方法。您可以敦促程式的開發人員在他們有時間做更多工作時,將注意力轉向缺失的功能。您可以主動提供幫助。您可以招募人員或籌集資金來支持這項工作。