- 企業開源實踐之旅:基于紅帽客戶的開源建設實踐案例
- 劉翔 任衛海等編著
- 9字
- 2024-04-15 11:51:21
1.3 認識企業開源軟件
1.3.1 開源軟件存在的基礎
開源軟件的發展經歷了多個階段,從最初“自由軟件”的源代碼分享到開源軟件的源代碼共建,再到當前的開源生態建設。開源軟件從一個個獨立發展的軟件應用,到相互依賴、門類齊全的軟件項目家族,在云計算、容器、大數據、區塊鏈、人工智能等很多領域已經可以完全使用開源軟件構建出整個應用環境,這樣的領域正在變得越來越廣泛。開源軟件也形成了一定的發展模式,開源軟件的發展呈現出有組織、體系化、定向化的特點。大多數廣泛使用的開源軟件都不是孤立的個體,它們多數依托于某一個基金會或者社區。
開源的發展離不開開源基金會,在1985年自由軟件基金會創立之后,全球各類開源基金會快速發展壯大,據不完全統計,各類開源基金會已經超過100家,其中具有代表性的有Apache軟件基金會(1999年成立)、Mozilla基金會(2003年成立)、Linux基金會(2007年成立)、云原生計算基金會(2015年成立)、開放原子開源基金會(2020年成立)等。開源基金會是開源生態中的重要部分。對于非營利性且處于中立位置的開源基金會來說,它們擁有開源項目的知識產權,而且沒有任何商業目的,這為貢獻者、開發者、用戶提供了良好的協作平臺;基金會也會通過技術服務和項目孵化來幫助開發者和開源企業;基金會還會提供項目日常的運營和治理,以滿足在項目生命周期不同階段對于管理項目的需求。有關開源基金會的具體職能,可以參考適兕所著《開源之謎》一書的第6章。
開源社區是推動開源軟件發展的最直接組織,基本上分為兩種類型,即項目型社區和用戶型社區。像我們熟知的Linux Kernel、Kubernetes、Google Source、MySQL和Fedora,以及國內的OpenHarmony、深度、Kylin、OceanBase、RocketMQ,既有由單一機構維護開發的社區,也有開放式維護的社區,它們的工作內容是開發新的軟件,屬于項目型社區。另一類社區是用戶型社區,工作內容是更好地運用和推廣開源軟件,國外有FOSSASIA、Open Forum Europe,國內有51CTO、OSChina、LinuxFans、Python中國等。項目型社區多數會依托于某一基金會或某一公司,用戶型社區的存在形式相對多種多樣,甚至由一些開源軟件的追隨者共同來維護和運轉。
有了社區的組織者和推動者,開源軟件仍然需要一個開放的載體來存放代碼,這就是代碼托管平臺,以提供全球范圍內的協同開發。一般來說,每個開源項目只會選擇一個代碼托管平臺作為開發庫,這樣的平臺有GitHub、Gitee、GitLab、SourceForge,很多云廠商都提供代碼托管平臺,但是從開源軟件的傳播性和可獲取性來說,頭部的存儲庫已經積累了大量開源項目。以GitHub為例,截至2023年1月,GitHub有3.7億個存儲庫,其中公共存儲庫有2800萬個,你可以很方便地檢索任何一個公共存儲庫,并了解更新狀況、關注度等。
GitHub作為全球最大的存儲庫,注冊的開發者人數已經超過1億,在2021年有超過250萬新人加入了GitHub,這些人中將誕生大量的開源使用者和貢獻者。