| 您知道自由軟件和開源軟件之間的區別嗎? copyleft和非copyleft程序有什麼區別? 還是免費軟件,共享軟件和商業軟件之間有什麼區別? 這是其中的長篇文章之一,其中充滿了定義和概念,它們無疑會幫助您組織有關自由軟件的想法。 |
免費軟件
自由軟件是許可任何人使用,複製和分發的軟件,無論是否經過修改,都可以免費或付費使用。 特別是,這意味著源代碼必須可用。 “如果不是來源,那就不是軟件。” 這是一個簡化的定義; 另請參閱完整定義。
如果程序是免費的,則可能包含在免費的操作系統(例如GNU或免費的GNU / Linux系統)中。
使程序免費的方法有很多:要決定的問題很多,在許多情況下是細微差別,並且可以通過各種方式解決,而不必停止程序的免費。 下面描述了一些可能的變體。 有關特定的免費軟件許可證的信息,您可以查閱許可證列表。
自由軟件的形容詞“自由”是指自由,而不是自由。 但是,專有軟件公司有時會使用“免費軟件”一詞來指代價格[譯者註:英語中的“免費軟件”被拼寫為“免費軟件”,“免費”一詞可表示“免費”或“免費”]。 在談論免費提供的二進制副本時,他有時會使用該術語。 其他時間則用於限定新購買的計算機中包含的副本。 這與我們在GNU項目中使用自由軟件的含義無關。
由於這種潛在的混亂,當軟件公司聲稱其產品是自由軟件時,明智的做法是始終檢查該特定發行版的條款,以查看用戶是否擁有自由軟件所暗示的所有自由。 有時,它是真正的自由軟件。 而其他時候則不是。
許多語言有兩個不同的詞表示``自由''為自由,而``自由''為零價格。 例如,法語有“ libre”和“ gratuit”這兩個詞[在西班牙語中,“ libre”和“ gratis”這兩個詞完全相同。 這在英語中不會發生,在英語中有“自由”一詞,它明確地指價格,但沒有一個明確地指自由的共同形容詞。 因此,如果您使用英語以外的其他語言,建議您將“免費”一詞從“免費軟件”翻譯成您的語言,以使其更清晰。 請參閱我們將“自由軟件”一詞翻譯成其他語言的清單。
自由軟件通常比非自由軟件更可靠。
開源軟件
許多人使用“開源”軟件一詞來指的是與自由軟件大致相同的類別。 但是,它們不是完全相同的軟件類型:它們接受某些我們認為過於嚴格的許可證,並且有一些他們尚未接受的免費軟件許可證。 但是,這兩個類別所涵蓋的差異很少:幾乎所有的免費軟件都是開源的,幾乎所有的開源軟件都是免費的。
我們更喜歡“自由軟件”一詞,因為它指的是自由,而“開源”則不然。
公共領域軟件
公共領域的軟件是不受版權保護的軟件。 這是自由軟件不受版權保護的特殊情況,這意味著某些副本或修改版本可能不是完全免費的。
在某些情況下,可執行程序可能在公共領域中,而其源代碼不可用。 該軟件不是免費軟件,因為要使其免費,必須訪問源代碼。 就其本身而言,大多數自由軟件不是公共領域的軟件; 它受版權保護,版權所有者已獲得法律許可,允許任何人使用免費軟件許可自由使用它。
有時,術語“公共領域”被寬鬆地指“免費”或“免費提供”。 但是,“公共領域”是一個法律術語,確切地意味著“沒有版權”。 為了盡可能清楚,我們建議使用“公共領域”僅表示此含義,並建議使用其他表達方式來傳達其相應的含義。
根據大多數國家/地區簽署的《伯爾尼公約》,任何新著作都會自動獲得版權。 這包括程序。 因此,如果希望編寫的程序在公共領域,則必須遵循某些法律程序,以避免自動將版權添加到該程序中。
Copyleft受保護的軟件
受Copyleft保護的軟件是自由軟件,其分發條款確保所有版本的所有副本均為自由軟件。 例如,這意味著,Copyleft許可證不允許第三方添加任何其他要求(除了為增強保護而提供的一組有限要求之外),並且要求源代碼是公開的。 一些Copyleft許可證(例如GPL的第三版)阻止了其他使軟件專有的方法。
在GNU項目中,我們幾乎保留了所編寫的所有軟件,因為我們的目標是為每個用戶提供“自由軟件”一詞所暗示的自由。 有關copyleft的工作原理以及使用原因的進一步說明,請參見Copyleft保護。
Copyleft是一個一般概念; 要實際複製一個程序,您需要使用一組特定的發行條款。 有許多可能的方式來編寫copyleft發行條款,因此原則上可能存在許多copyleft自由軟件許可證。 但是,實際上,幾乎所有的copyleft軟件都使用GNU通用公共許可證。 通常,兩個不同的copyleft許可證是“不兼容的”,這意味著組合受這些許可證保護的代碼是非法的。 因此,如果他們都使用一個copyleft許可證,對社區將是一件好事。
自由軟件不受版權保護
非版權所有的自由軟件包括作者對重新分發和修改軟件的許可,以及添加其他限制的許可。
程序是免費的,但不受copyleft保護,這一事實意味著該程序的某些副本或修改版本可能不是完全免費的。 軟件公司可以編譯該程序(進行或不進行修改),然後將可執行文件作為專有軟件產品進行分發。
X Window系統就是一個例子。 Consortium X發行的X11具有發行條款,使其成為非Copyleft自由軟件。 如果願意,您可以獲取具有這些分發條款且免費的副本。 但是,也有非免費版本,並且有流行的工作站和PC圖形卡,其中只有非免費版本可以工作。 如果您使用此硬件,則X11不是適合您的免費軟件。 甚至X11開發人員自己也曾經製作過X11非免費軟件。
GPL涵蓋的軟件
GNU通用公共許可證(GPL)是一組特定的分發條款,用於保護Copyleft程序。 GNU項目使用此許可證來分發大多數GNU軟件。
GNU系統
GNU系統是類Unix的操作系統,完全由自由軟件組成,我們從1984年開始在GNU Project中開發。
類似Unix的操作系統由許多程序組成。 GNU系統包括所有GNU軟件,以及許多非GNU軟件的軟件包,例如X Window System和TeX。
完整GNU系統的第一個試用版於1996年推出。其中包括自1990年以來開發的我們的內核GNU Hurd。2001年,GNU系統(包括GNU Hurd)開始相當可靠地工作,但是仍然缺少Hurd一些重要功能,因此未被廣泛使用。 同時,自1990年代以來,GNU / Linux系統是使用Linux作為內核而不是GNU Hurd的GNU系統的派生產品,已經非常成功。
由於GNU的目的是成為一個自由系統,因此其每個組成部分都必須是自由軟件。 但是,並非所有人都必須受到copyleft的保護; 從法律上講,如果可以幫助實現建議的技術目標,則可以包括任何類型的免費軟件。 而且,每個組件不必單獨是GNU軟件。 GNU系統可以而且確實包括不受版權保護的自由軟件,例如在其他項目中開發的X Window System。
GNU程序
表達式“ GNU程序”等效於GNU軟件。 如果Y程序是GNU軟件(GNU Project軟件),則它是GNU程序。 有時我們會說這是一個“ GNU軟件包”。
GNU軟件
GNU軟件是在GNU項目的主持下發布的軟件。 我們也將程序稱為GNU軟件或GNU軟件包。 README文件或GNU軟件包手冊應指出該文件; 此外,自由軟件目錄標識所有GNU軟件包。
大多數GNU軟件都受版權保護,但不是全部。 但是,所有GNU軟件都必須是免費軟件。
一些GNU軟件是由自由軟件基金會的工作人員編寫的,但是大多數軟件是由志願者貢獻的。 在志願者提供的軟件中,版權持有者有時是自由軟件基金會,有時則是編寫它的貢獻者。
軟件不是免費的
非自由軟件是指任何非自由軟件。 這包括半自由軟件和專有軟件。
半免費軟件
半免費軟件是非免費的軟件,但允許個人出於非營利目的使用,複製,分發和修改它(包括分發經修改的版本)。 PGP是半自由程序的示例。
從倫理上講,半自由軟件比專有軟件要好得多,但是它仍然存在一些問題,使我們無法在自由操作系統上使用它。
Copyleft限制旨在保護所有用戶的基本自由。 對我們來說,使用程序唯一合理的實質性限制是可以防止其他人增加限制的行為。 半免費程序具有純粹出於自私目的的其他限制。
在自由操作系統中不可能包含半自由軟件。 這是因為整個免費操作系統的發行條款是組成它的所有程序的發行條款的結合。 向系統中添加半免費程序將使系統整體上僅是半免費的。 我們不希望發生這種情況有兩個原因:
我們認為,免費軟件應該適用於包括公司在內的每個人,而不僅僅是學校或私人休閒活動。 我們希望邀請公司使用完整的GNU系統,因此我們不應該在其中包含半免費程序。
免費操作系統(包括GNU / Linux系統)的商業發行非常重要,並且用戶欣賞CD-ROM上商業發行的可用性。 在操作系統中包含半自由程序將阻止其在CD-ROM上進行商業分發。
自由軟件基金會本身不是商業實體,因此可以在法律上“內部”使用半免費程序。 但這並沒有,因為這會對我們獲取可以包含在GNU系統中的程序的努力產生負面影響。
只要有一項需要用軟件完成的任務,而您沒有要執行的程序,則將缺少GNU系統。 我們應該對志願者說:“在GNU項目中,我們還沒有程序來完成這項工作,所以我們希望您能編寫它。” 如果我們使用半自由程序來完成該任務,那麼我們會抹黑自己所說的話。 這樣一來(寫我們和那些可以分享我們觀點的人的動力)就失去了寫自由替代方案的動力。 因此,我們沒有。
專有軟件
專有軟件是非免費或半免費的軟件。 禁止使用,重新分發或修改它們,要求您請求授權或受其限制,以至於您實際上不能自由地這樣做。
自由軟件基金會遵循的規則是,我們只能在臨時安裝專有程序的情況下才能在計算機上安裝專有程序,目的是為該程序編寫免費替代方案。 除了這種特定情況外,我們認為沒有任何藉口可以安裝專有程序。
例如,我們認為1980年代在計算機上安裝Unix是合理的,因為我們正在使用它來編寫Unix本身的免費替代方案。 當前,考慮到有可用的免費操作系統,此藉口不再有效; 我們已經淘汰了所有非自由操作系統; 在任何新計算機上,我們都安裝了完全免費的操作系統。
我們不堅持GNU用戶或貢獻者遵守此標準。 我們為自己創建此標準。 但是我們希望他們也決定跟隨她。
免費軟件
術語“免費軟件”沒有明確的公認定義,但通常用於表示可以分發但不能修改(並且其源代碼不可用)的程序包。 這些軟件包不是免費軟件。 因此,請勿使用術語“免費軟件”來指代自由軟件。
共享軟件
共享軟件是允許重新分發副本的軟件,但是對於每個使用的副本,用戶必須支付許可費。
共享軟件不是免費軟件,甚至不是半免費的。 這樣做是出於兩個原因:
對於大多數共享軟件,源代碼不可用。 因此,您不能以任何方式修改程序。
即使沒有使用共享軟件進行非營利活動的個人,也無法複製和安裝共享軟件,而無需支付許可費(實際上,用戶經常無視分發條款,但無論如何都這樣做,但是這些條款不允許它)。
私人軟件
私人或定制軟件是為用戶(通常是組織或公司)開發的軟件。 該用戶擁有並使用它,並且不會以源代碼或二進制形式將其發布給公眾。
如果私有程序的唯一用戶擁有全部權利,那麼私有程序在某種意義上就是自由軟件。 但是,在更深入地考慮這個問題時,這種程序是否免費的問題失去了意義。
通常,我們不認為開發程序而不發布程序是錯誤的。 有時,某個程序非常有用,以至於自己ho積它會對人類有害。 但是,大多數程序並不那麼出色,並且不發布它們也不是特別有害。 因此,私有或定制軟件的開發與自由軟件運動的原理之間沒有衝突。
僱用程序員的大部分是為了開發定制軟件。 因此,大多數編程工作是以或可以與自由軟件運動兼容的方式完成的。
商業軟件
商業軟件是由企圖通過使用獲得收益的企業開發的軟件。 “商業”和“專有”不一樣! 大多數商業軟件是專有的,但是有商業免費軟件,也有非商業非自由軟件。
例如,GNU的Ada始終按照GNU GPL的條款進行分發,並且其每個副本都是免費軟件; 但是,其開發人員簽訂了維護合同。 感興趣的客戶有時會對賣家說:“使用商用編譯器,我們會感到更加安全。” 對此廠商答复:“來自GNU的Ada是商業編譯器; 特別是它也是免費軟件»。
對於GNU工程,重點放在另一個層次上:重要的是GNU的Ada是自由軟件。 是否商業化不是關鍵問題。 但是,GNU Ada商業化所帶來的進一步發展無疑是有益的。
請幫助傳播一個說法,即可以使用商業免費軟件。 您可以通過在您的意思是“專有”時不說“商業”來做到這一點。
資料來源:自由軟體基金會(FSF)