十多年的老碼農(nóng)來回答一下:
這里的開源、閉源的“源”指的是源代碼,也就是由程序員所編寫、人類可讀可維護(hù)的計(jì)算機(jī)語(yǔ)言的代碼文本。通常而言,類似操作系統(tǒng)等等大型的軟件都是使用C和C++語(yǔ)言所編寫而成,經(jīng)過編譯器軟件的處理,把源代碼轉(zhuǎn)換成電腦可以執(zhí)行的機(jī)器碼,再經(jīng)過打包等步驟,就成了我們可以使用的成品軟件。
舉個(gè)例子說,源代碼相當(dāng)于是建筑施工的圖紙,而編譯器是具體的施工人員。
所以故名思意,開源的意思就是開放源代碼,閉源的意思就是封閉源代碼。Windows作為一個(gè)商業(yè)軟件,由微軟公司開發(fā),Windows的源代碼就保存在微軟公司內(nèi)部,作為微軟公司的商業(yè)秘密和財(cái)產(chǎn),對(duì)外界是不公開的。你所購(gòu)買的Windows系統(tǒng)商品,微軟公司只是授予了你只有使用權(quán),軟件本身的所有權(quán)是屬于微軟公司的。
而Linux,最初是一個(gè)個(gè)人的業(yè)余作品,為了方便大家研究,采用了GPL協(xié)議開源。GPL協(xié)議授權(quán)的作品和衍生作品都必須公開所有的源代碼。這樣一來人人都可以免費(fèi)獲取到源代碼(可以理解為設(shè)計(jì)圖紙),因此Linux成為了眾多程序員學(xué)習(xí)操作系統(tǒng)原理和開發(fā)的寶貴學(xué)習(xí)材料。而且由于GPL協(xié)議的限制,對(duì)Linux的改進(jìn)和貢獻(xiàn)也同樣是對(duì)大眾開放的。這樣一步步良性循環(huán),經(jīng)過若干年的時(shí)間,有無(wú)數(shù)的愛好者為L(zhǎng)inux添磚加瓦共同開發(fā),讓Linux從一個(gè)個(gè)人的玩具項(xiàng)目發(fā)展成了可媲美商業(yè)操作系統(tǒng)的高質(zhì)量產(chǎn)品。
最近二十年隨著IT行業(yè)進(jìn)入互聯(lián)網(wǎng)時(shí)代,各個(gè)互聯(lián)網(wǎng)巨頭的海量服務(wù)器催生出了巨大的操作系統(tǒng)軟件的需求,而Windows商業(yè)軟件的特性造成了購(gòu)買數(shù)以萬(wàn)計(jì)的Windows授權(quán)將會(huì)是一筆天文數(shù)字的費(fèi)用。另一方面,由于Windows是閉源產(chǎn)品,第三方無(wú)法依據(jù)自身需求進(jìn)行修改。因此巨頭們都將目光投向了可以免費(fèi)使用的Linux。
為了利用Linux滿足自身的需求,各大互聯(lián)網(wǎng)巨頭,包括英特爾、三星這樣的硬件公司,甚至最近微軟公司都派出了全職的開發(fā)人員參與Linux開發(fā),也就造就了目前Linux統(tǒng)治服務(wù)器端的局面。
當(dāng)然開源和閉源雖然和收費(fèi)有很大的關(guān)系,但不是完全相等的概念。比如RedHat公司在Linux源代碼的基礎(chǔ)上發(fā)行了自己的RedHatLinux企業(yè)版,依據(jù)Linux的授權(quán)協(xié)議,同樣是源代碼完全開放的,但銷售價(jià)格卻遠(yuǎn)高于同類型的WindowsServer軟件,因?yàn)槔锩孢€包含了及時(shí)的bug修復(fù)、安全更新和技術(shù)支持服務(wù)等。
以上希望對(duì)題主了解開源閉源的概念有所幫助。