Linux 黑話解釋:什么是 FOSS(自由和開源軟件)?什么是開源?
什么是 FOSS?
在過去,我曾多次被問到這個(gè)問題,現(xiàn)在是時(shí)候解釋一下什么是 Linux 和軟件世界中的 FOSS 了。
這個(gè)區(qū)別很重要,因?yàn)?FOSS 是一個(gè)通用的詞匯,它可以根據(jù)上下文的不同而有不同的含義。在這里,我討論的是軟件中的 FOSS 原則。
1. 什么是 FOSS?
FOSS 是指 自由和開放源碼軟件(Free and Open Source Software)。這并不意味著軟件是免費(fèi)的。它意味著軟件的源代碼是開放的,任何人都可以自由使用、研究和修改代碼。這個(gè)原則允許人們像一個(gè)社區(qū)一樣為軟件的開發(fā)和改進(jìn)做出貢獻(xiàn)。
FOSS 的起源
在上世紀(jì) 60、70 年代,計(jì)算機(jī)以硬件為主,硬件價(jià)格昂貴。它們主要由大學(xué)的學(xué)者或?qū)嶒?yàn)室的研究人員使用。以前有限的軟件都是免費(fèi)的,或者是帶有它們的源代碼,用戶可以根據(jù)自己的需要修改源代碼。
在上世紀(jì) 70 年代末和 80 年代初,制造商為了不讓自己的軟件在競爭對(duì)手的計(jì)算機(jī)上運(yùn)行,停止了分發(fā)源代碼。
這種限制性的許可導(dǎo)致了那些習(xí)慣和喜歡修改軟件的人的不便和不喜。上世紀(jì) 80 年代中期,Richard Stallman 發(fā)起了 自由軟件運(yùn)動(dòng)(Free Software Movement)。
Stallman 指明了一個(gè)軟件要成為 FOSS 的四個(gè)基本自由 。
自由軟件自由
為了便于理解,我將它們重新表述:
- 任何用戶應(yīng)能為任何目的運(yùn)行軟件。
- 用戶應(yīng)能自由查看軟件的源代碼,如有需要,應(yīng)允許用戶修改代碼。
- 用戶應(yīng)能自由地將軟件的副本分發(fā)給他人。
- 如果用戶修改了代碼,她/他應(yīng)該可以自由地將修改后的代碼發(fā)布給他人。修改后的代碼必須開放源代碼。
如果有興趣,我建議閱讀這篇關(guān)于 FOSS 的歷史 的文章。
FOSS 中的 “Free” 并不意味著免費(fèi)
你可能已經(jīng)注意到了,自由和開源軟件中的 “Free” 并不意味著它是免費(fèi)的,它意味著運(yùn)行、修改和分發(fā)軟件的“自由”。
人們經(jīng)常錯(cuò)誤地認(rèn)為,F(xiàn)OSS 或開源軟件不能有價(jià)格標(biāo)簽。這是不正確的。
大多數(shù) FOSS 都是免費(fèi)提供的,原因有很多:
- 源代碼已經(jīng)向公眾開放,所以一些開發(fā)者認(rèn)為沒有必要在下載軟件時(shí)貼上價(jià)格標(biāo)簽。
- 有些項(xiàng)目是由一些志愿者免費(fèi)提供的。因此,主要的開發(fā)者認(rèn)為對(duì)這么多人免費(fèi)貢獻(xiàn)的東西收費(fèi)是不道德的。
- 有些項(xiàng)目是由較大的企業(yè)或非營利組織支持和/或開發(fā)的,這些組織會(huì)雇傭開發(fā)人員在他們的開源項(xiàng)目上工作。
- 有些開發(fā)者創(chuàng)建開源項(xiàng)目是出于興趣,或者出于他們對(duì)用代碼為世界做貢獻(xiàn)的熱情。對(duì)他們來說,下載量、貢獻(xiàn)和感謝的話比金錢更重要。
為了避免強(qiáng)調(diào) “免費(fèi)”,有些人使用了 FLOSS 這個(gè)詞(LCTT 譯注:有時(shí)候也寫作 F/LOSS)。FLOSS 是 自由和開源軟件(Free/Libre Open Source Software)的縮寫。單詞 Libre(意為自由)與 gartuit/gratis(免費(fèi))不同。
“Free” 是言論自由的自由,而不是免費(fèi)啤酒的免費(fèi)。
FOSS 項(xiàng)目如何賺錢?
開源項(xiàng)目不賺錢是一個(gè)神話。紅帽是第一個(gè)達(dá)到 10 億美元大關(guān)的開源公司。 IBM 以 340 億美元收購了紅帽 。這樣的例子有很多。
許多開源項(xiàng)目,特別是企業(yè)領(lǐng)域的項(xiàng)目,都會(huì)提供收費(fèi)的支持和面向企業(yè)的功能。這是紅帽、SUSE Linux 和更多此類項(xiàng)目的主要商業(yè)模式。
一些開源項(xiàng)目,如 Discourse、WordPress 等,則提供其軟件的托管實(shí)例,并收取一定的費(fèi)用。
許多開源項(xiàng)目,特別是桌面應(yīng)用程序,依靠捐贈(zèng)。VLC、GIMP、Inkscape 等這類開源軟件就屬于這一類。有 資助開源項(xiàng)目的方法 ,但通常,你會(huì)在項(xiàng)目網(wǎng)站上找到捐贈(zèng)鏈接。
利用開源軟件賺錢可能很難,但也不是完全不可能。
但我不是程序員,我為什么要關(guān)心一個(gè)軟件是否開源?
這是一個(gè)合理的問題。你不是一個(gè)軟件開發(fā)者,只是一個(gè)普通的計(jì)算機(jī)用戶。即使軟件的源代碼是可用的,你也不會(huì)理解程序的工作原理。
這很好。你不會(huì)明白,但有必要技能的人就會(huì)明白,這才是最重要的。
你可以這樣想。也許你不會(huì)理解一份復(fù)雜的法律文件。但如果你有看文件的自由,并保留一份副本,你就可以咨詢某個(gè)人,他可以檢查文件中的法律陷阱。
換句話說,開源軟件具有透明度。
FOSS 與開源之間的區(qū)別是什么?
你會(huì)經(jīng)常遇到 FOSS 和 開源(Open Source)的術(shù)語。它們經(jīng)常被互換使用。
它們是同一件事嗎?這很難用“是”和“不是”來回答。
你看,F(xiàn)OSS 中的“Free”一詞讓很多人感到困惑,因?yàn)槿藗冨e(cuò)誤地認(rèn)為它是免費(fèi)的。企業(yè)高管、高層和決策者往往會(huì)關(guān)注自由和開源中的“免費(fèi)”。由于他們是商業(yè)人士,專注于為他們的公司賺錢,“自由”一詞在采用 FOSS 原則時(shí)起到了威懾作用。
這就是為什么在上世紀(jì) 90 年代中期創(chuàng)立了一個(gè)名為 開源促進(jìn)會(huì) (Open Source Initiative)的新組織。他們從自由和開放源碼軟件中去掉了“自由”一詞,并創(chuàng)建了自己的 開放源碼的定義 ,以及自己的一套許可證。
“ 開源(Open Source)”一詞在軟件行業(yè)特別流行。高管們對(duì)開源更加適應(yīng)。開源軟件的采用迅速增長,我相信 “免費(fèi)”一詞的刪除確實(shí)起到了作用。
有問題嗎?
這正如我在 什么是 Linux 發(fā)行版 一文中所解釋的那樣,F(xiàn)OSS/開源的概念在 Linux 的發(fā)展和普及中起到了很大的作用。
我試圖在這篇黑話解釋文章中用更簡單的語言解釋 FOSS 和開源的概念,而試圖避免在細(xì)節(jié)或技術(shù)精度上做過多的闡述。