国产SUV精品一区二区_午夜影院啊啊啊_日韩久久精品一区二区三区_一区二区三区日本在线观看,在线播放精品视频,视频一区国产精品,久久久精品456亚洲影院

 
新聞中心
News Center
開放、共享、協(xié)同,一文了解“開源”文化
來源:e-works | 作者:e-works編輯部楊培 | 發(fā)布時(shí)間: 2022-08-26 | 2765 次瀏覽 | 分享到:
開源的本質(zhì)在于開放、共享、協(xié)同。開源模式是一種依托互聯(lián)網(wǎng)平臺,大規(guī)模群體智慧通過共同參與和協(xié)作而不斷累積,實(shí)現(xiàn)持續(xù)創(chuàng)新的方法。


近年來,伴隨著開源的浪潮不斷奔涌向前,開源運(yùn)動在國內(nèi)外呈蓬勃發(fā)展之勢。比如,2021年6月和11月,華為先后將鴻蒙(HarmonyOS)核心基礎(chǔ)架構(gòu)和歐拉開源操作系統(tǒng)(openEuler)捐贈給開放原子開源基金會,以共建和繁榮國內(nèi)操作系統(tǒng)開源生態(tài)。2021年10月,阿里平頭哥宣布開源玄鐵RISC-V系列處理器,并開放系列工具及系統(tǒng)軟件,以推動RISC-V軟硬件技術(shù)加速融合發(fā)展與創(chuàng)新落地。2022年1月31日,CentOS Linux社區(qū)正式停止更新和維護(hù)CentOS Linux 8操作系統(tǒng),轉(zhuǎn)而開發(fā)和維護(hù)新的CentOS Stream版本,以實(shí)現(xiàn)完全意義的開源模式。2022年5月,百度宣布其自主研發(fā)的產(chǎn)業(yè)級深度學(xué)習(xí)開源開放平臺“飛槳(PaddlePaddle)”,已凝聚477萬開發(fā)者、服務(wù)18萬家企事業(yè)單位。2022年7月,芯華章正式宣布向openDACS捐贈高性能開源數(shù)字仿真器EpicSim,促進(jìn)芯片開源技術(shù)協(xié)作創(chuàng)新。開源運(yùn)動最早可追溯到上世紀(jì)60年代。而如果從1991年林納斯·托瓦茲(Linus Torvalds)創(chuàng)造并發(fā)布Linux操作系統(tǒng)內(nèi)核,讓開源運(yùn)動逐漸步入正軌開始算起,到如今也已經(jīng)走過了31個年頭。在這31年間,開源運(yùn)動從早期的以Linux操作系統(tǒng)、桌面辦公軟件和瀏覽器為主的開源項(xiàng)目,逐漸拓展到數(shù)據(jù)庫、中間件、物聯(lián)網(wǎng)、微服務(wù)、大數(shù)據(jù)、人工智能、邊緣計(jì)算、云計(jì)算等眾多方向和領(lǐng)域。與此同時(shí),開源文化的影響力也開始受到諸多關(guān)注。


01.開放、共享、協(xié)同“開源文化”的本質(zhì)特征


開源(Open Source)這一概念興起于軟件行業(yè),其基本內(nèi)涵是開放源代碼,也即源代碼開放共享的開發(fā)模式。在開源模式下,通過許可證的方式,使用者在遵守許可限制的條件下,可自由獲取源代碼等,并可使用、復(fù)制、修改和再發(fā)布。中國開源軟件推進(jìn)聯(lián)盟發(fā)布的《2022中國開源發(fā)展藍(lán)皮書》指出,開源的本質(zhì)在于開放、共享、協(xié)同。開源模式是一種依托互聯(lián)網(wǎng)平臺,大規(guī)模群體智慧通過共同參與和協(xié)作而不斷累積,實(shí)現(xiàn)持續(xù)創(chuàng)新的方法。該方法中,項(xiàng)目的核心開發(fā)人員與大規(guī)模的外圍群體緊密合作,他們通過互聯(lián)網(wǎng)共享資源、開展協(xié)同開發(fā)、管理代碼等,由此使得項(xiàng)目開發(fā)的效率、應(yīng)對需求變化的能力大幅提升。

表1中國開源軟件推進(jìn)聯(lián)盟于2016年歸納提出的(已被國際認(rèn)可)開源特征

發(fā)展至今,開源作為一種創(chuàng)新協(xié)作模式,其表現(xiàn)形式已不僅僅局限于開源軟件(Open Source Software),而且也包括開源硬件(Open Source Hardware)、開源設(shè)計(jì)(Open Design)、開源文檔(Open Document)、開源技術(shù)(Open source Technologies)等。

 1.開源的主要表現(xiàn)形式

·開源軟件:可以理解為一種技術(shù)和立場中立的使用許可證約束的開放源代碼的軟件。根據(jù)開放源代碼促進(jìn)會(Open Source Initiative)的開源定義(The Open Source Definition),開源軟件并不僅僅意味著源代碼可獲取,還必須滿足分發(fā)自由、原作者源碼完整性、不歧視個人或團(tuán)體、不歧視任何領(lǐng)域、不限制其他軟件、許可證必須是技術(shù)中立的等十項(xiàng)原則。Linux操作系統(tǒng)是最為典型的開源軟件。

·開源硬件:開源硬件的概念是受開源軟件的啟發(fā)而來,但實(shí)際上早在上世紀(jì)60年代就已經(jīng)有了開源硬件。根據(jù)開源硬件協(xié)會(Open Source Hardware Association)對開源硬件的定義,開源硬件是可以通過公開渠道獲得的硬件設(shè)計(jì),任何人可以對已有的設(shè)計(jì)進(jìn)行學(xué)習(xí)、修改、發(fā)布、制作和銷售。目前較為知名的開源硬件包括Arduino、樹莓派(Raspberry Pi)、BeagleBone、micro:bit、虛谷號等。

·開源設(shè)計(jì):開源設(shè)計(jì)是開源項(xiàng)目的另一表現(xiàn)形式。開源設(shè)計(jì)被定義為遵循開源許可的可以通過公開渠道獲得的設(shè)計(jì)類項(xiàng)目,主要指的是非源代碼類型的項(xiàng)目,比如icon、UI、畫稿、圖紙等。這些項(xiàng)目也需要遵守開源協(xié)議,并且享受協(xié)議規(guī)章的保護(hù)。

·開源文檔:開源文檔被定義為遵循開源許可的可以通過公開渠道獲得的文檔類項(xiàng)目。開源文檔存在于各種項(xiàng)目中,種類覆蓋廣泛,比如博客、百科、菜譜、項(xiàng)目說明文檔等都可以作為開源文檔進(jìn)行分享。

·開源技術(shù):指的是從代碼托管平臺、開源社區(qū)、開源機(jī)構(gòu)官網(wǎng)等渠道獲取,或通過合作研發(fā)、商業(yè)采購等方式引入的開源代碼、開源組件、開源軟件和基于開源項(xiàng)目的云服務(wù)等。

2.主流開源技術(shù)盤點(diǎn)

伴隨著開源的浪潮奔涌向前,目前圍繞開源已經(jīng)形成了巨大的技術(shù)生態(tài)體系,并且越是在新興領(lǐng)域,開源技術(shù)的比例就越大。

(1)Docker——開源的應(yīng)用容器引擎

近年來,容器技術(shù)迅速席卷全球。應(yīng)用程序容器化,顛覆了應(yīng)用的開發(fā)、交付和運(yùn)行模式,在云計(jì)算、互聯(lián)網(wǎng)等領(lǐng)域得到廣泛應(yīng)用。容器化是指將軟件代碼和所需的所有組件(例如庫、框架和其他依賴項(xiàng))打包在一起,讓它們隔離在自己的“容器”中。這樣,容器內(nèi)的軟件或應(yīng)用就可以在任何環(huán)境和任何基礎(chǔ)架構(gòu)上一致地移動和運(yùn)行,不受該環(huán)境或基礎(chǔ)架構(gòu)的操作系統(tǒng)影響,實(shí)現(xiàn)“一次構(gòu)建,隨處運(yùn)行”。

本質(zhì)上,容器化技術(shù)借鑒的是貨物運(yùn)輸?shù)摹凹b箱”解決方案。集裝箱解決方案通過將貨物集中裝入大型標(biāo)準(zhǔn)化的貨箱內(nèi),從而可以適用于火車、卡車、輪船以及飛機(jī)等運(yùn)輸場景,進(jìn)而簡化裝卸工作,加快貨物運(yùn)輸。而容器化技術(shù)打包的是“應(yīng)用及其依賴的包”,讓應(yīng)用變成一種標(biāo)準(zhǔn)化的組件,擺脫與系統(tǒng)之間的緊耦合關(guān)系,能在任何主流系統(tǒng)中開發(fā)、調(diào)試和運(yùn)行,進(jìn)而幫助開發(fā)者和企業(yè)更加便捷地上云和進(jìn)行云上遷移,讓應(yīng)用在自有數(shù)據(jù)中心和云端實(shí)現(xiàn)動態(tài)遷移。

圖1 容器技術(shù)借鑒了集裝箱解決方案

當(dāng)前,Docker幾乎已成為容器技術(shù)的代名詞。然而,實(shí)際上Docker本身并不是容器,而是創(chuàng)建容器的工具,是開源的應(yīng)用容器引擎。Docker作為一種應(yīng)用虛擬化技術(shù),由Docker(原名dotClould)公司開發(fā),并于2013年宣布開源。Docker讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的Linux或Windows操作系統(tǒng)的機(jī)器上,也可以實(shí)現(xiàn)虛擬化。如今,Docker作為一項(xiàng)熱門的開源的容器技術(shù),正受到越來越多的開發(fā)者和面臨IT轉(zhuǎn)型的大型企業(yè)的青睞。

(2)Kubernetes——開源的容器編排平臺

在Docker技術(shù)備受追捧的同時(shí),問題也隨之而來。人們發(fā)現(xiàn),隨著微服務(wù)技術(shù)的廣泛應(yīng)用,部署項(xiàng)目容器的數(shù)量越來越多,如果將Docker應(yīng)用于具體的業(yè)務(wù)實(shí)現(xiàn),編排、管理和調(diào)度等各個方面都存在困難,因此迫切需要一套管理系統(tǒng),以對Dcoker及容器進(jìn)行更簡單、高效、靈活的管理。于是,Kubernetes技術(shù)應(yīng)運(yùn)而生。

Kubernetes源于希臘語,意為“舵手”或“領(lǐng)航員”,縮寫為K8s,用“8”代替了“ubernete”這8個字符。Kubernetes是一個可移植、可擴(kuò)展且開源的容器編排工具。容器編排是指自動執(zhí)行容器的部署、管理、擴(kuò)展和聯(lián)網(wǎng),用戶可以利用該工具來管理集群化容器應(yīng)用。Kubernetes的前身是谷歌(Google)的Borg系統(tǒng),谷歌于2014年開源了該系統(tǒng),命名為Kubernetes,并于2015年捐贈給了云原生計(jì)算基金會(CNCF)。目前,Kubernetes已擁有一個龐大且快速增長的生態(tài),其服務(wù)、支持和工具的使用范圍相當(dāng)廣泛。

(3)OpenStack——開源的云計(jì)算管理工具

OpenStack被稱為當(dāng)今世界部署最廣泛的開源的云計(jì)算管理工具,它通過命令或者基于Web的可視化控制面板來管理IaaS云端的資源池(服務(wù)器、存儲和網(wǎng)絡(luò))。OpenStack是由美國國家航空航天局(NASA)和Rackspace于2010年合作研發(fā)并發(fā)起,旨在為公共及私有云的建設(shè)與管理提供軟件的開源項(xiàng)目。2012年,OpenStack基金會作為獨(dú)立組織來管理和推廣這項(xiàng)技術(shù),成為該項(xiàng)目的分水嶺時(shí)刻。根據(jù)OpenStack基金會官方數(shù)據(jù),如今OpenStack為100多個公有云數(shù)據(jù)中心及上千個私有云的運(yùn)行提供支持,整體部署規(guī)模超過2500萬計(jì)算核心。

(4)Hadoop——開源的分布式存儲計(jì)算架構(gòu)

混合云時(shí)代,為了應(yīng)對數(shù)據(jù)的爆發(fā)式增長、生產(chǎn)系統(tǒng)對系統(tǒng)連續(xù)性的要求,提升運(yùn)維效率,降低運(yùn)維風(fēng)險(xiǎn)和管理成本,企業(yè)紛紛構(gòu)建“數(shù)據(jù)湖”,以打破數(shù)據(jù)孤島與信息孤島,實(shí)現(xiàn)對海量數(shù)據(jù)的高效存儲、管理和使用。而談及大數(shù)據(jù)、數(shù)據(jù)湖,人們往往會把它們與Hadoop聯(lián)系到一起。

Hadoop是由Apache基金會開發(fā),較早用于處理大數(shù)據(jù)集合的開源的分布式存儲計(jì)算架構(gòu),主要是為了解決海量數(shù)據(jù)的存儲和分析計(jì)算問題。Hadoop包括4個基本模塊,分別是Hadoop基礎(chǔ)功能庫、HDFS分布式文件系統(tǒng)、YARN分布式資源調(diào)度系統(tǒng)和MapReduce分布式離線并行計(jì)算框架。此外,Hadoop生態(tài)圈還包括Ambari、Avro、Hive、Pig、Spark等組件。在工業(yè)界,Hadoop已經(jīng)是公認(rèn)的大數(shù)據(jù)通用存儲和分析平臺,許多廠商都圍繞Hadoop提供開發(fā)工具、開源軟件、商業(yè)化工具和技術(shù)服務(wù)。

圖3 Hadoop開源生態(tài)

當(dāng)下熱門的開源技術(shù)還有很多,比如MySQL、openGauss、Hyperledger、RISV-C、TensFlow、PyTorch、ROS(Robot Operating System)、EdgeX Foundry、EdgeGallery等,涉及數(shù)據(jù)庫、區(qū)塊鏈、芯片設(shè)計(jì)與開發(fā)、人工智能與深度學(xué)習(xí)、機(jī)器人以及邊緣計(jì)算等眾多領(lǐng)域。

 

02.開源推動敏捷開發(fā)持續(xù)交付與云計(jì)算創(chuàng)新


對于開源的優(yōu)勢,開源運(yùn)動的靈魂人物埃里克·雷蒙德(Eric S.Raymond)曾經(jīng)做過非常生動形象的比喻。在他的著作《大教堂與集市(The Cathedral & the Bazaar)》中,他把等級森嚴(yán)的閉源世界比作大教堂,而把開源的軟件開發(fā)世界比作集市;相比莊嚴(yán)肅穆的大教堂,集市更有生機(jī)和活力,也更適合人與人之間的交流。事實(shí)上,開源也正是如此。開源作為一種扁平化、自洽管理的協(xié)作形式,能夠匯聚眾智,高效調(diào)動開發(fā)資源,更好地實(shí)現(xiàn)優(yōu)勢互補(bǔ),促進(jìn)多方協(xié)同和技術(shù)迭代演進(jìn)。而且,開源共享也是當(dāng)前數(shù)字技術(shù)深入發(fā)展的鮮明特征,以開源開放的形式來集聚力量,實(shí)現(xiàn)“技術(shù)共建”,往往要比各自為戰(zhàn)的效果更好。當(dāng)前,開源在助力敏捷開發(fā)、DevOps與持續(xù)交付,以及云計(jì)算創(chuàng)新等方面發(fā)揮著重要作用。

1.開源推動敏捷開發(fā)

近年來,在科學(xué)技術(shù)飛速進(jìn)步、市場競爭加劇、消費(fèi)者需求多樣化和個性化以及不確定風(fēng)險(xiǎn)增加等多重因素的疊加之下,產(chǎn)品更新?lián)Q代的速度越來越快,產(chǎn)品生命周期也正在變得越來越短,這尤其體現(xiàn)在高科技電子、軟件和互聯(lián)網(wǎng)等行業(yè)。“敏捷開發(fā)”(Agile Development)作為一種能應(yīng)對快速變化的需求,縮短交付周期的開發(fā)模式越來越受到關(guān)注。

敏捷開發(fā)常常被拿來與瀑布模型(Waterfall Model) 作對比。瀑布模型,是一個經(jīng)典的理想化的軟件開發(fā)模型,也被稱為傳統(tǒng)模型(Conventional Model),于1970年被溫斯頓·羅伊斯(Winston Royce)提出。瀑布模型的核心思想是,按照工序?qū)栴}化繁為簡,將功能的實(shí)現(xiàn)與設(shè)計(jì)分開,便于分工協(xié)作,即采用結(jié)構(gòu)化的分析與設(shè)計(jì)方法將邏輯實(shí)現(xiàn)與物理實(shí)現(xiàn)分開;它將軟件生命周期劃分為制定計(jì)劃、需求分析、軟件設(shè)計(jì)、程序編寫、軟件測試和運(yùn)行維護(hù)等六個基本活動,并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,自上而下逐級下落,完成一個階段后再繼續(xù)下一個階段。

圖4 瀑布模型/V模型

瀑布模型非常符合軟件工程學(xué)的分層設(shè)計(jì)思路,適用于大型軟件的開發(fā),因此成為軟件開發(fā)企業(yè)使用最多的開發(fā)模型。瀑布模型的優(yōu)點(diǎn)是,它借鑒了建筑工程領(lǐng)域的思想,使得軟件開發(fā)如同蓋房子一樣簡單易行;而且,它也讓軟件開發(fā)過程有序可控,能實(shí)現(xiàn)項(xiàng)目經(jīng)理、產(chǎn)品經(jīng)理、架構(gòu)師、軟件工程師、測試工程師、運(yùn)維工程師良好的分工協(xié)作,同時(shí)也能保障所開發(fā)出的軟件產(chǎn)品的質(zhì)量。然而,瀑布模型的缺點(diǎn)在于,一是難以及時(shí)響應(yīng)需求變更。需求具有不確定性,而且并不是一次性或者一段時(shí)間內(nèi),就能完全定義清楚的;在瀑布模式里,當(dāng)需求發(fā)生變更時(shí),越到后期代價(jià)越大。二是工作量分布不均衡。比如前期開發(fā)、測試人員無法參與,而后期開發(fā)、測試人員又會特別忙碌,如果上個階段進(jìn)度受阻,則會一直壓縮后續(xù)階段的時(shí)間,導(dǎo)致延期或影響質(zhì)量;三是價(jià)值交付周期長。在瀑布模型里,一個產(chǎn)品從立項(xiàng)到交付給用戶,一般需要幾個月、一年甚至幾年的時(shí)間。四是開發(fā)出的軟件產(chǎn)品可能并非用戶所需。在瀑布模型下,用戶通常只有在最后階段才能看到可運(yùn)行的軟件產(chǎn)品,最終開發(fā)出的產(chǎn)品可能并不是用戶真正所需要的。

敏捷開發(fā)以用戶的需求進(jìn)化為核心,采用迭代、循序漸進(jìn)的方法進(jìn)行軟件開發(fā)。在敏捷開發(fā)中,軟件項(xiàng)目被切分為多個子項(xiàng)目,各個子項(xiàng)目的成果都經(jīng)過測試,具備可視、可集成和可運(yùn)行的特征。簡單來說,敏捷開發(fā)并不追求在前期就實(shí)現(xiàn)完美設(shè)計(jì)、完美編碼,而是力求在很短的時(shí)間內(nèi)開發(fā)出產(chǎn)品的核心功能,盡早發(fā)布出可用的版本,然后在后續(xù)的生產(chǎn)周期內(nèi),按照新需求不斷迭代升級,完善產(chǎn)品,做到“小步快跑、快速迭代”。

敏捷開發(fā)本質(zhì)上是一種思維,并沒有固定的流程和方法論。目前敏捷開發(fā)的實(shí)現(xiàn)方式,主要包括SCRUM(迭代式增量開發(fā))、XP(全稱“Extreme Programming”,極限編程)、Crystal Methods(水晶方法)、FDD(特性驅(qū)動開發(fā))等。其中,SCRUM和XP最為流行。與瀑布模型相比,敏捷開發(fā)的優(yōu)點(diǎn)是能更加靈活地應(yīng)對需求變更,縮短功能開發(fā)時(shí)間,并可盡早得到市場反饋,從而快速響應(yīng)市場變化,提高規(guī)避風(fēng)險(xiǎn)的能力。

圖5 極限編程

實(shí)際上,要實(shí)現(xiàn)敏捷開發(fā),擁抱開源是比較可行的方法。這是因?yàn)椋谀壳懊艚蓍_發(fā)、快速迭代的需求下,對大多數(shù)企業(yè)而言,試圖獨(dú)立完成所有工作可能并非是最好的方法。當(dāng)一個企業(yè)已經(jīng)完成了一個軟件項(xiàng)目并準(zhǔn)備推出時(shí),它的競爭對手很有可能已經(jīng)領(lǐng)先了好幾圈,而借助開源可以形成后發(fā)者優(yōu)勢。有了開源,許多軟件開發(fā)的基本構(gòu)件已經(jīng)就位,因此項(xiàng)目可以更快地完成,并且可以將更多的注意力集中在那些對業(yè)務(wù)最有價(jià)值的領(lǐng)域。

在當(dāng)今的敏捷開發(fā)實(shí)踐中,開源技術(shù)已被大量使用,并已從軟件開發(fā)擴(kuò)展到更廣泛的領(lǐng)域,成為增強(qiáng)敏捷性的關(guān)鍵。比如,在芯片設(shè)計(jì)與開發(fā)領(lǐng)域,伴隨著摩爾定律幾近失效,傳統(tǒng)的追求通用性能的芯片開發(fā)策略難以持續(xù),但芯片領(lǐng)域過高的門檻和商業(yè)限制又阻礙了進(jìn)一步創(chuàng)新和對市場的響應(yīng)速度,在此背景下,開放指令集(如RISC-V)、開源硬件構(gòu)造語言(如Chisel)以及開源EDA等的出現(xiàn)及崛起,使得開源技術(shù)成為降低芯片開發(fā)門檻、助力芯片敏捷開發(fā)的關(guān)鍵因素。

而且,中國信通院于2021年發(fā)布的《開源生態(tài)白皮書》數(shù)據(jù)顯示,物聯(lián)網(wǎng)行業(yè)89%的代碼庫中包含開源代碼;生產(chǎn)制造和網(wǎng)絡(luò)安全領(lǐng)域開源代碼占比均為84%;移動應(yīng)用軟件、教育技術(shù)、醫(yī)藥健康以及營銷技術(shù)行業(yè)開源代碼占比均為 82%,開源正深刻地影響著千行百業(yè)信息技術(shù)的革新與演進(jìn)。

2.開源推動DevOps與持續(xù)交付

現(xiàn)代化軟件不僅追求開發(fā)階段的敏捷性,也需要填補(bǔ)開發(fā)端和運(yùn)維端之間的信息鴻溝,促進(jìn)開發(fā)、測試、運(yùn)維之間的高效協(xié)同,從而以持續(xù)交付來實(shí)現(xiàn)修復(fù),并更快地解決問題。這是因?yàn)椋艚蓍_發(fā)雖然極大地提高了軟件開發(fā)速度,但是它僅注重開發(fā)階段,并未兼顧到運(yùn)維階段。在開發(fā)人員、測試人員與運(yùn)維人員進(jìn)行交接的時(shí)候,并沒有體現(xiàn)敏捷的價(jià)值和原則,因此開發(fā)、測試和運(yùn)維之間仍缺少必要的協(xié)作效率。在此背景之下,DevOps應(yīng)運(yùn)而生。DevOps是Development(開發(fā))和Operations(運(yùn)維)的縮寫。各大廠商對DevOps的定義雖然焦點(diǎn)不一,但本質(zhì)上基本一致,即開發(fā)和運(yùn)維的一體化。參考主流廠商的定義,DevOps可以理解為一種文化理念、流程和工具的組合。它可以在保證產(chǎn)品卓越質(zhì)量的同時(shí),提高組織交付軟件的能力,以便更好地為客戶提供服務(wù),并在市場上搶占競爭優(yōu)勢。DevOps的宗旨在于消除開發(fā)團(tuán)隊(duì)和運(yùn)維團(tuán)隊(duì)這兩個傳統(tǒng)上孤立的團(tuán)隊(duì)之間的壁壘,將開發(fā)人員、測試工程師、運(yùn)維工程師以及其它相關(guān)人員集成到一個高度自動化的工作流程中,共同關(guān)注快速交付高質(zhì)量的軟件,滿足所有用戶要求,同時(shí)保持整個系統(tǒng)的完整性和穩(wěn)定性。

表2各主流廠商對DevOps的定義及描述(來源:各廠商官網(wǎng))

DevOps在敏捷開發(fā)和精益原則的基礎(chǔ)上發(fā)展而來,支持企業(yè)最大限度地提高產(chǎn)品或服務(wù)的交付速度,覆蓋從初步創(chuàng)意、生產(chǎn)發(fā)布、客戶反饋到基于反饋實(shí)施改進(jìn)的各個環(huán)節(jié)。在DevOps的具體實(shí)踐中,需要各種工具以支持異步協(xié)作,無縫集成DevOps工作流程,以及盡可能自動執(zhí)行整個DevOps。DevOps工具的類別,一般包括項(xiàng)目管理工具、協(xié)作式代碼存儲庫、持續(xù)集成/持續(xù)部署(CI/CD)管道、測試自動化框架、配置管理(基礎(chǔ)架構(gòu)即代碼)工具、監(jiān)控工具和持續(xù)反饋工具等。

圖6 DevOps參考架構(gòu)(圖源:《DevOps傻瓜書》,IBM限量版,第3版)

如今,在開發(fā)、測試、部署、交付、維護(hù)以及監(jiān)控分析工作中,有越來越多的開源DevOps工具可以使用。比如,版本控制系統(tǒng)Git、代碼評審工具Gerrit、項(xiàng)目管理平臺Taiga、自動化測試工具selenium、應(yīng)用容器引擎Docker、容器編排工具Kubernetes、持續(xù)集成和持續(xù)交付工具Jenkins、配置管理工具Chef、自動化運(yùn)維工具Ansible、監(jiān)控工具Nagios等都是開源的。

3.開源推動云計(jì)算創(chuàng)新

當(dāng)前,新一輪科技革命和產(chǎn)業(yè)變革不斷深入,數(shù)字經(jīng)濟(jì)蓬勃發(fā)展,計(jì)算能力已成為產(chǎn)業(yè)核心競爭力之一。作為主流的先進(jìn)計(jì)算模式,云計(jì)算既為大數(shù)據(jù)、人工智能、5G等新技術(shù)提供了基礎(chǔ)支撐,也為產(chǎn)業(yè)轉(zhuǎn)型和數(shù)字經(jīng)濟(jì)發(fā)展帶來新動能。

開源與云計(jì)算密不可分、相互促進(jìn)。一方面,開源日漸成為云計(jì)算技術(shù)的主流。開源生態(tài)為云計(jì)算行業(yè)的產(chǎn)品創(chuàng)新提供了持續(xù)的動力,在云計(jì)算興起過程中發(fā)揮了至關(guān)重要的作用,在云原生等新興領(lǐng)域也將持續(xù)產(chǎn)生深刻影響。近些年來,在開源技術(shù)的支持和推動下,云原生的理念不斷豐富和落地,并迅速從以容器技術(shù)、容器編排技術(shù)為核心的生態(tài),擴(kuò)展至涵蓋微服務(wù)、自動化運(yùn)維、服務(wù)監(jiān)測分析等領(lǐng)域。這具體表現(xiàn)在:Docker技術(shù)熱度不減;Kubernetes已成為被企業(yè)選用最多的容器編排技術(shù);Redis作為在微服務(wù)和容器開發(fā)者中最受歡迎的高性能開源鍵值存儲數(shù)據(jù)庫,目前已被9億個容器使用;云原生應(yīng)用開發(fā)框架SpringCloud已經(jīng)成為分布式微服務(wù)框架中的領(lǐng)導(dǎo)者之一;開源分布式存儲系統(tǒng)Ceph,憑借其高可靠、高性能、易擴(kuò)容三大特性,搶占了大部分云平臺存儲市場;發(fā)展至今,OpenStack幾乎成為云計(jì)算開源技術(shù)的事實(shí)標(biāo)準(zhǔn)等。

而且,多家國際巨頭也通過收購開源公司,以開拓更為廣闊的市場,整體提升在云計(jì)算領(lǐng)域的市場競爭力。比如,Salesforce收購開源應(yīng)用集成服務(wù)發(fā)行商MuleSoft,以繼續(xù)鞏固其在云服務(wù)中的領(lǐng)先地位;微軟收購開源云計(jì)算平臺jClarity,以此來增強(qiáng)微軟Azure云計(jì)算平臺;IBM收購紅帽RedHat,使自身成為全球領(lǐng)先的混合云供應(yīng)商。

另一方面,云計(jì)算也促進(jìn)了開源的發(fā)展。云計(jì)算與云平臺所提供的按需使用、隨需彈性、輕運(yùn)維等關(guān)鍵特征,為各類開源軟件提供了最佳的運(yùn)行時(shí)環(huán)境和重要的市場分發(fā)渠道。開放核心(OpenCore)和云原生,為開源的商業(yè)化提供了新的模式,并成為當(dāng)前開源商業(yè)公司采用的主要模式。云平臺與開源社區(qū)的有效合作,賦予了用戶靈活的選擇權(quán),不用擔(dān)心被廠商鎖定。

不過,值得注意的是,由于開源許可證一般都規(guī)定只有在“分發(fā)”時(shí)才需要遵守相關(guān)許可證的要求對外公開源代碼,目前大部分主流的開源許可證并沒有將以SaaS形式提供服務(wù)視為“分發(fā)”場景,因此,云服務(wù)提供商在使用開源軟件提供云服務(wù)時(shí),一般不必提供相應(yīng)的源代碼。而隨著多個著名開源軟件廠商紛紛修改原軟件所使用的開源許可證,旨在對云服務(wù)商使用開源軟件提供SaaS服務(wù)而不回饋社區(qū)的行為進(jìn)行約束,會在一定程度上限制云服務(wù)商向云用戶提供開源軟件產(chǎn)品和服務(wù)的能力。


03.開源≠免費(fèi)開源的五大商業(yè)模式


開源軟件的定義起源于自由軟件(Free Software)。所謂自由軟件,是指那些尊重用戶和社區(qū)自由的軟件。粗略地說,自由軟件賦予用戶運(yùn)行、復(fù)制、分發(fā)、學(xué)習(xí)、修改并改進(jìn)軟件的自由(Liberty),而并不意味著它就可以免費(fèi)(Free)獲得和使用。為了減少意識形態(tài)上的溝壑,以及避免“自由(Free)”一詞造成免費(fèi)軟件的誤解,成立于1998年的開放源代碼促進(jìn)會(OSI),決定使用“Open Source Software”(開源軟件)作為共通名稱,并被越來越多的人接受。如今開源軟件一詞的使用頻率也遠(yuǎn)遠(yuǎn)高于自由軟件。由此可以看出,開源軟件脫胎于自由軟件,它并不等于免費(fèi)軟件;開源和免費(fèi)之間也不能劃上等號。

實(shí)際上,雖然開源項(xiàng)目在早期大多都是項(xiàng)目創(chuàng)造者“用愛發(fā)電”,但是為了讓開源項(xiàng)目能夠可持續(xù)發(fā)展,同時(shí)吸引更多開發(fā)者參與,共同改進(jìn)缺陷和豐富功能,開源項(xiàng)目并不排斥商業(yè)化。而且,一個成功的開源項(xiàng)目通常離不開市場的推動和商業(yè)公司的支持。開源與商業(yè)化之間的互補(bǔ),有力促進(jìn)了開源技術(shù)的革新。如今,圍繞著開源項(xiàng)目,已經(jīng)形成了五大商業(yè)模式。

1.訂閱式產(chǎn)品化和技術(shù)支持模式

受到一些嚴(yán)格的開源協(xié)議的限制,開源軟件在授權(quán)轉(zhuǎn)讓的時(shí)候不允許收取費(fèi)用,于是一個新詞匯“Subscription(訂閱)”被用來指代這一收費(fèi)過程。在開源軟件免費(fèi)的前提下,用戶可通過付費(fèi)訂閱,獲得每一版本產(chǎn)品一定時(shí)間內(nèi)的技術(shù)服務(wù)支持,諸如產(chǎn)品升級、電話支持等;而如果用戶不想付費(fèi)訂閱,除了能獲得開源產(chǎn)品及其源代碼,其它的諸如代碼質(zhì)量、產(chǎn)品穩(wěn)定性等都無法保證。采用這種商業(yè)模式的典型代表就是紅帽(RedHat)公司。于2022年7月卸任紅帽公司總裁的Paul Cormier,是開源商業(yè)化“訂閱”模式的提出者。雖然這一模式提出之后引起了巨大爭議,但也促使紅帽公司逐步發(fā)展成為全球最大的開源軟件公司,Paul Cormier也因此成為紅帽公司轉(zhuǎn)型的關(guān)鍵人物。

2.雙授權(quán)(Dual License)模式

所謂雙授權(quán)模式,指的是代碼具有兩套許可證,一套是傳統(tǒng)的開源許可證(如GPL、AGPL等),另一套是商業(yè)許可證。如果一個開源軟件完全由一個廠商獨(dú)立完成,也即該廠商擁有該軟件的代碼所有權(quán),那么它就有可能采用雙授權(quán)模式。如此一來,一方面廠商可以對商業(yè)用戶收取授權(quán)費(fèi)用;另一方面,產(chǎn)品也仍能夠融入開源社區(qū)生態(tài)系統(tǒng),獲得改進(jìn)信息,得到開發(fā)者支持,贏得口碑,增加用戶基數(shù),進(jìn)而占領(lǐng)市場。關(guān)系型數(shù)據(jù)庫管理系統(tǒng)MySQL就是雙授權(quán)模式的典型。

3.開放核心(OpenCore)模式

顧名思義,開放核心指的是核心代碼開源,而專有的工具或功能包閉源。簡單來說,開放核心模式,就是在開源版本基礎(chǔ)上添加一些付費(fèi)特性,打造成商業(yè)化版本進(jìn)行售賣,并不斷迭代。我們經(jīng)常見到很多“社區(qū)版”的軟件可能是開源的,而與之對應(yīng)的“企業(yè)版”就有可能提供了很多額外功能并收費(fèi)。采用這類模式,典型的有Kafka、Cassandra、GitLab等。而且,谷歌對于Android操作系統(tǒng)所采取的市場策略,在某種意義上也是開放核心模式。如今,各大手機(jī)廠商可以免費(fèi)獲得的是作為操作系統(tǒng)框架的AOSP(Android Open Source Project),在此基礎(chǔ)上,各手機(jī)廠商可以進(jìn)行進(jìn)一步定制開發(fā)。比如,小米的MIUI、OPPO的ColorOS等,都是基于AOSP深度定制研發(fā)。在AOSP之外,谷歌還提供收費(fèi)的GMS服務(wù)(Google Mobile Service)。只有獲得授權(quán)許可的Android手機(jī),才能使用GMS服務(wù);而在國際市場,GMS服務(wù)是不可或缺的。

4.軟件即服務(wù)(SaaS)模式

近年來,伴隨著云服務(wù)技術(shù)的成熟,云基礎(chǔ)設(shè)施的完善,SaaS模式逐漸興起。SaaS是一種基于互聯(lián)網(wǎng)提供軟件服務(wù)的軟件應(yīng)用模式,具有投入低、收益高、易于實(shí)施和管理等特點(diǎn)。在SaaS模式下,用戶不需要部署自己的服務(wù)器,軟件開發(fā)商不需要投入大量的線下運(yùn)維人員,SaaS模式擁有高可用性、應(yīng)用高可配置性、功能服務(wù)的高擴(kuò)展性,用戶完全可以根據(jù)自己的需要進(jìn)行靈活配置,使用效率高。

雖然SaaS模式并不是開源軟件專有的商業(yè)模式,但如今越來越成為開源軟件的主流商業(yè)模式。比如,大數(shù)據(jù)領(lǐng)域的獨(dú)角獸廠商Databricks就是通過開源SaaS模式來服務(wù)企業(yè)客戶,這種業(yè)務(wù)模式也成為其發(fā)展過程中的關(guān)鍵優(yōu)勢。

5.捆綁銷售模式

這種模式主要針對硬件制造商。市場競爭壓力迫使硬件公司開發(fā)并維護(hù)軟件,但是軟件本身卻并不是利潤中心,因而采用開源軟件。這種模式為大型公司廣泛采納。比如IBM 、惠普等服務(wù)器供應(yīng)商巨頭,通過捆綁免費(fèi)的Linux操作系統(tǒng)銷售硬件服務(wù)器。另外,也存在將免費(fèi)的開源軟件與可贏利商業(yè)軟件捆綁銷售,以開源軟件帶動商業(yè)軟件銷售的情況。當(dāng)然,開源項(xiàng)目的商業(yè)模式還有很多,還包括銷售品牌周邊產(chǎn)品,比如Mozilla基金會、維基百科基金會等會銷售一些T恤、咖啡杯等周邊產(chǎn)品,這實(shí)際上也可以視為一種開源商業(yè)化的模式;廣告模式,比如火狐瀏覽器Mozilla Firefox作為開源的網(wǎng)頁瀏覽器,通過與谷歌公司達(dá)成合作,將谷歌搜索作為默認(rèn)搜索引擎,從而從谷歌公司獲得大量收入;培訓(xùn)(或咨詢)模式,即基于開源項(xiàng)目提供培訓(xùn)、認(rèn)證或咨詢服務(wù);以及利用開源軟件來搭建應(yīng)用系統(tǒng),壯大開源生態(tài),通過開源生態(tài)上的產(chǎn)品分成等模式。


04.促進(jìn)開源生態(tài)發(fā)展四類開源組織發(fā)揮重要作用


開源軟件及開源硬件等的發(fā)展,離不開背后強(qiáng)大的開源組織的管理和推動。通常來說,國內(nèi)外的開源組織主要可以分為以下幾類:

1.開源解決方案供應(yīng)商

開源解決方案供應(yīng)商,主要包括開源軟件、開源硬件、開源技術(shù)等的提供商。比如,紅帽(RedHat)作為全球領(lǐng)先的企業(yè)級開源解決方案供應(yīng)商,依托社區(qū)力量為客戶提供Linux、OpenShift、容器和Kubernetes等技術(shù)。Arduino公司作為開源硬件的先驅(qū),其研發(fā)的開源硬件Arduino深受電子愛好者、硬件極客等的歡迎,成為最主流的開源硬件平臺之一,也推動了開源硬件的發(fā)展。此外,國際廠商如微軟、IBM、谷歌、甲骨文、英特爾等,國內(nèi)廠商如華為、百度、阿里巴巴、騰訊等科技企業(yè),如今也都積極擁抱開源發(fā)展戰(zhàn)略,參與開源技術(shù)生態(tài)建設(shè)。

2.開源聯(lián)盟組織

開源聯(lián)盟組織又可分為綜合性開源聯(lián)盟組織、專業(yè)性開源聯(lián)盟組織等。比如,綜合性開源聯(lián)盟組織包括開放源代碼促進(jìn)會(Open Source Initiative)、開源硬件協(xié)會(OSHWA)、中國開源軟件推進(jìn)聯(lián)盟、“科創(chuàng)中國”開源創(chuàng)新聯(lián)合體等。專業(yè)性的開源聯(lián)盟組織包括開放設(shè)計(jì)聯(lián)盟(Open Design Alliance)、國際ITC組織(The IntelliCAD Technology Consortium)、開源GitOps產(chǎn)業(yè)聯(lián)盟、OpenStack中國聯(lián)盟、中國人工智能開源軟件發(fā)展聯(lián)盟等。

3.開源基金會

開源基金會是開源生態(tài)中的重要組成部分。一般而言,開源基金會是具備公益性、非營利性以及非政府性的社會公益組織,目的是幫助開源項(xiàng)目的成長。開源基金會通過非營利方式如捐贈、會員費(fèi)等渠道籌集資金,接受企業(yè)捐贈和申請將滿足基金會要求的開源項(xiàng)目納入基金會名下,并以提供軟硬件基礎(chǔ)設(shè)施、雇傭?qū)I(yè)人員購買服務(wù)、組織市場宣傳活動等方式將資金投入于項(xiàng)目發(fā)展。與投資基金不同,開源基金會不會以股權(quán)投資形式將資金投入企業(yè)和項(xiàng)目。

對于非營利性且處于中立位置的開源基金會而言,它們擁有開源項(xiàng)目的知識產(chǎn)權(quán),而且沒有任何商業(yè)利益,這為貢獻(xiàn)者、開發(fā)者以及用戶提供了良好的協(xié)作平臺;基金會也會通過技術(shù)服務(wù)和項(xiàng)目孵化來幫助開發(fā)者和開源企業(yè),如軟件倉庫、問題跟蹤、技術(shù)指導(dǎo)、法律支持、項(xiàng)目投資、公共關(guān)系維護(hù)等;基金會還會提供項(xiàng)目日常的運(yùn)營和治理,以滿足在項(xiàng)目生命周期不同階段對于管理項(xiàng)目的需求。開源基金會在國外(尤其在美國)較為流行,全球著名的開源基金會包括Apache軟件基金會、Linux基金會、Eclipse基金會等。我國的開源基金會還處于發(fā)展初期。2020年設(shè)立的開放原子開源基金會(OpenAtom Foundation),是我國首個開源基金會,具有里程碑意義。

圖7 開放原子開源基金會官網(wǎng)

4.代碼托管平臺

代碼托管平臺在開源生態(tài)中也具有突出價(jià)值。一是為開源軟件開發(fā)提供協(xié)作環(huán)境,集聚廣大開發(fā)者智慧,快速實(shí)現(xiàn)軟件迭代更新。二是作為代碼托管基礎(chǔ)設(shè)施,匯聚大量重要開源項(xiàng)目,成為開源代碼數(shù)據(jù)儲備資源池。三是托管開源項(xiàng)目、孵化項(xiàng)目社區(qū),促進(jìn)開源軟件的推廣應(yīng)用。四是設(shè)立活躍度、受歡迎程度等指標(biāo),折射開源技術(shù)熱點(diǎn)及創(chuàng)新發(fā)展趨勢。工信部印發(fā)的《“十四五”軟件和信息技術(shù)服務(wù)業(yè)發(fā)展規(guī)劃》明確提出“加快建設(shè)開源代碼托管平臺等基礎(chǔ)設(shè)施”。

目前,全球主流的代碼托管平臺包括GitHub、GitLab和Gitee(碼云)等。2018年10月26日,微軟斥資75億美元收購了GitHub。我國許多開發(fā)者和企業(yè)使用GitHub,用戶數(shù)僅次于美國,位居全球第二。2021年3月18日,GitLab Inc.與紅杉寬帶、高成資本共同成立了中國合資公司極狐信息技術(shù)(湖北)有限公司,致力于為中國用戶提供一站式覆蓋軟件開發(fā)生命周期的開放一體化DevOps平臺。Gitee是開源中國社區(qū)于2013年推出的基于Git的代碼托管服務(wù),目前已經(jīng)成為國內(nèi)最大的代碼托管平臺,致力于為國內(nèi)開發(fā)者提供優(yōu)質(zhì)穩(wěn)定的托管服務(wù)。

此外,我國的代碼托管平臺還包括百度效率云、華為云CodeHub、阿里云云效代碼管理Codeup、騰訊旗下騰云扣叮(CODING)以及CSDN旗下 GitCode等。

 

參考資料

1.中國開源軟件推進(jìn)聯(lián)盟.《2022中國開源發(fā)展藍(lán)皮書》.

2.艾瑞咨詢.2022年中國開源軟件產(chǎn)業(yè)研究報(bào)告.https://mp.weixin.qq.com/s/71C_gElix5stCQyn9IYnLA

3.開放源代碼促進(jìn)會(OSI).The Open Source Definition (Annotated).https://opensource.org/docs/definition.php

4.Gitee.一篇文章帶你了解「開源」和它的前世今生.https://my.oschina.net/gitosc/blog/5016932

5.谷業(yè)凱.在開源開放中推動國產(chǎn)基礎(chǔ)軟件發(fā)展.http://cpc.people.com.cn/n1/2021/1227/c64387-32317470.html

6.微軟.什么是 DevOps?.https://azure.microsoft.com/zh-cn/resources/cloud-computing-dictionary/what-is-devops

7.IBM.什么是DevOps?.https://www.ibm.com/cn-zh/cloud/learn/devops-a-complete-guide.

8.亞馬遜云科技.什么是DevOps?.https://aws.amazon.com/cn/devops/what-is-devops

9.“相愛相殺”的開源與云計(jì)算.https://baijiahao.baidu.com/s?id=1651422669393621070

10.雪哥視野.開源的商業(yè)模式與創(chuàng)新.https://www.36kr.com/p/801990980906757

11.紙飛機(jī).自由/開源軟件/硬件的商業(yè)模式.https://zhuanlan.zhihu.com/p/360893820

12.Driss.Vin.開源代碼托管平臺調(diào)研(附行業(yè)人士訪談).https://mp.weixin.qq.com/s/DS3H0gnTwdfUDmRYn2s0oA


如有侵權(quán),電聯(lián)即刪。





















主站蜘蛛池模板: 林甸县| 娱乐| 武乡县| 遵化市| 吴川市| 唐海县| 大冶市| 定结县| 浑源县| 卫辉市| 晋江市| 三都| 内江市| 十堰市| 河津市| 海口市| 渝北区| 元阳县| 古蔺县| 新沂市| 长阳| 资溪县| 文成县| 苗栗县| 永定县| 奇台县| 唐河县| 巨鹿县| 武陟县| 白水县| 东港市| 德安县| 大宁县| 溧阳市| 吴旗县| 青冈县| 洪湖市| 屯昌县| 莱州市| 九寨沟县| 沂源县|