官术网_书友最值得收藏!

第1章 開源簡史

1.1 開源概述

1.1.1 相較于“自由軟件”,為什么是“開源”

在20世紀中期,互聯(lián)網(wǎng)技術和電信網(wǎng)絡的研究者們在一種互助的研究氛圍中培養(yǎng)了開放和協(xié)作的精神。許多科技公司的軟件也自由地分發(fā)。但很快,基于版權(quán)和限制性許可證的專有軟件開始興起,并逐漸成為行業(yè)的主流。面對自由精神的逐漸喪失,崇尚黑客文化的開發(fā)者們開始采取行動。1983年,Richard Stallman啟動了“GNU計劃”,這成為“自由軟件運動”興起的標志性事件。

然而,盡管自由的精神鼓舞人心,但“自由軟件”(Free Software)中Free一詞的雙重含義——既指“自由”也指“免費”——卻構(gòu)成了對其理解的一個主要障礙。如果人們僅將Free理解為“免費”,這不僅可能偏離自由軟件的初始精神,也可能給軟件的商業(yè)實踐帶來挑戰(zhàn)。

那么,如何讓概念聚焦在“開放源代碼”上?這一議題在1998年Foresight Institute的會議上被提出[1]。當時,與會者在探討計算機安全問題時認識到,需要一個新術語來描述那些用戶可以自由訪問和修改源代碼的軟件。Eric S. Raymond參與了會議,并根據(jù)討論,他列出了3個可能的選項——Free Software(自由軟件)、Open Source(開源)和Sourceware(源軟件)。最終,與會者決定采用Open Source這一術語。自此,“開源”一詞開始在編程界、產(chǎn)業(yè)界和媒體中迅速傳播,并逐漸被廣泛采納。

“開源”作為一個將自由軟件的理念與現(xiàn)代商業(yè)實踐相結(jié)合的概念,一方面,它界定了在開源框架下軟件的生產(chǎn)和運營等業(yè)務活動;另一方面,它延續(xù)了自由軟件所倡導的自由權(quán)利,即“用戶自由查看源代碼、自由修改、再分發(fā),以及自由獲取和使用源代碼”。

1.1.2 開源定義的確定與許可證的發(fā)布

“開源”概念確立后,界定這一概念的任務變得迫切。這一任務由開放源代碼促進會(Open Source Initiative,OSI)完成。OSI基于Debian自由軟件指導方針,制定了開源定義(The Open Source Definition,簡稱OSD),其中包含10項基本原則(更多細節(jié),請參見6.1.1節(jié))。

基于上述定義,OSI發(fā)布了首份正式的許可證清單,其中包括GNU通用公共許可證(General Public License,GPL)、GNU寬松通用公共許可證(Lesser General Public License,LGPL)、BSD(Berkeley Software Distribution)許可證等。為了支持新興的Apache Web服務器項目,Apache軟件基金會于1999年成立,并發(fā)布了至今仍廣泛使用的Apache許可證。

此外,還有MIT(The MIT License)許可證、MPL(Mozilla Public License)許可證等,這些許可證不僅促進了開源軟件在產(chǎn)業(yè)中的廣泛應用,也確保了開源基本原則在實踐中得到貫徹。

2019年,中國發(fā)布了首個開源許可證——木蘭寬松許可證(Mulan Permissive Software License,Mulan PSL)。2020年,木蘭寬松許可證2.0版本(Mulan PSL 2.0)獲得OSI的批準,正式成為國際化的開源許可證。

1.1.3 開源內(nèi)涵的延伸

自開源概念誕生以來,其內(nèi)涵不斷擴展和深化。最初,開源主要關注軟件領域,但隨著時間推移,它逐漸展現(xiàn)出社會化特征。如今,開源已經(jīng)涵蓋了開源技術、開源項目、開源社區(qū)、開源基金會、開源商業(yè)、開源理念、開源文化、開源創(chuàng)新及開源生態(tài)等多個方面,共同推動了開源概念的擴展和深化。

開源技術:指的是源代碼可以公開訪問、查看、使用和修改的技術,如Linux操作系統(tǒng)、Python語言、MySQL數(shù)據(jù)庫、Apache服務器、Kubernetes容器編排技術等。

開源項目:指的是那些源代碼獲得許可并公開可用的項目。在這些項目中,貢獻的代碼是非常重要的,它可以來自公司或個人。開源項目構(gòu)成了開源社區(qū)的基礎,其運營質(zhì)量直接影響著社區(qū)的發(fā)展水平。

開源社區(qū):由開源項目、項目發(fā)起者、維護者、貢獻者、用戶及項目周邊的生態(tài)系統(tǒng)等組成。社區(qū)成員通過共享技術、知識、經(jīng)驗和資源,共同致力于開發(fā)、維護和推廣開源項目。

開源基金會:指的是為了維護開源項目、托管代碼,以及推廣開源原則和標準等而成立的非營利組織。自早期的自由軟件基金會成立以來,已經(jīng)出現(xiàn)了Apache軟件基金會、Linux基金會、Mozilla基金會、Eclipse基金會、OpenInfra基金會等數(shù)十個開源基金會,近年來,國內(nèi)也成立了首個開源基金會——開放原子開源基金會。

開源商業(yè):指的是基于開源軟件和開源項目進行的商業(yè)運營和實踐。這種模式包括在提供開源軟件的基礎上,通過付費支持、服務或者特定產(chǎn)品功能來實現(xiàn)盈利,從而成為開源服務提供商;或者將開源軟件作為基礎設施,以減少企業(yè)重復開發(fā)的成本;此外,還可以通過資助開源項目等方式支持開源生態(tài)系統(tǒng)的建設與發(fā)展。

開源理念:源于自由、共享和協(xié)作等理念。這些理念不僅是人類文明發(fā)展中的基因傳承,也是自然界秩序的基本邏輯。

開源文化:包括開源價值觀和行為準則。與開源理念相比,它更側(cè)重于個體的主觀價值判斷,并強調(diào)集體品質(zhì)。開源的價值觀及準則包括奉獻精神、感恩意識、開放精神等。

開源創(chuàng)新:指的是將開源的理念和文化作為推動技術進步的創(chuàng)新手段。例如,開源數(shù)字化治理就是利用開源所倡導的開放性、透明度和協(xié)作精神來推動數(shù)字化治理的一種實踐方式。

開源生態(tài):廣義上,包括所有與開源相關的物理層面、社群組織及思想精神,它們共同構(gòu)建了一個復雜的系統(tǒng);狹義上,是指以開源項目為核心,通過開發(fā)者社區(qū)的協(xié)作,形成的日常運營的開源生態(tài)系統(tǒng)。

從自由軟件的提出到開源概念的出現(xiàn),再到開源定義的明確化,如今開源的內(nèi)涵已經(jīng)非常廣泛,并形成了不斷演化的生態(tài)系統(tǒng)。


[1]  Christine Peterson,“How I coined the term ‘open source’”。

主站蜘蛛池模板: 晋江市| 新化县| 云和县| 铁力市| 炎陵县| 镇巴县| 屯门区| 吉木乃县| 句容市| 湖南省| 贵州省| 德钦县| 渭南市| 拉萨市| 佛冈县| 信宜市| 晋江市| 西丰县| 大同县| 银川市| 岳普湖县| 通化县| 汉阴县| 申扎县| 咸丰县| 屯留县| 铅山县| 建平县| 卢氏县| 津南区| 江阴市| 宜宾市| 朝阳市| 吉水县| 社旗县| 湛江市| 横山县| 景泰县| 集安市| 镇江市| 桐庐县|