張海濤
他山之石,可以攻玉,我們?cè)诶迩逅悸返幕A(chǔ)上,可以借鑒已有的經(jīng)驗(yàn),將中國(guó)的開(kāi)源項(xiàng)目推向成功。
當(dāng)前,使用自主安全可控的信息和服務(wù)是國(guó)家的重要決策,也是保障國(guó)家信息安全的必然趨勢(shì)。開(kāi)源給軟件的自主安全可控提供了支撐,本文從開(kāi)源的歷史、現(xiàn)狀、未來(lái)談起,分析開(kāi)源的戰(zhàn)略?xún)r(jià)值和意義,同時(shí)探討成功實(shí)現(xiàn)開(kāi)源項(xiàng)目的思路,希望能夠起到拋磚引玉的作用。
開(kāi)源的歷史、現(xiàn)狀和未來(lái):從小眾的極客技術(shù)到商業(yè)組織逐鹿的戰(zhàn)場(chǎng)
1.從開(kāi)源歷史看,技術(shù)如果能夠解決產(chǎn)業(yè)和行業(yè)痛點(diǎn),就能得到大的發(fā)展,否則只能是技術(shù)極客的玩具。
開(kāi)源軟件的發(fā)展大致經(jīng)歷了三個(gè)階段。第一階段是上世紀(jì)80到90年代,這個(gè)階段是以個(gè)人和大學(xué)的技術(shù)極客為主的小眾市場(chǎng);第二階段主要是互聯(lián)網(wǎng)時(shí)代,Linux和Apache Web服務(wù)器在互聯(lián)網(wǎng)業(yè)務(wù)占據(jù)了統(tǒng)治地位;第三階段是2007年云計(jì)算出現(xiàn)后,商業(yè)模式和市場(chǎng)需求推動(dòng)了開(kāi)源業(yè)務(wù)出現(xiàn)新的變化,人們開(kāi)始考慮用開(kāi)源作為工具,滿(mǎn)足商業(yè)和變現(xiàn)的訴求。
在第一階段,Linus Torvalds于1991年開(kāi)始了著名的Linux內(nèi)核項(xiàng)目,但沒(méi)有用在生產(chǎn)系統(tǒng)和主流商業(yè)場(chǎng)景,因此這個(gè)時(shí)候開(kāi)源領(lǐng)域沒(méi)有主流廠商的影子,甚至有些領(lǐng)頭企業(yè)比如微軟是反對(duì)開(kāi)源的。在互聯(lián)網(wǎng)時(shí)代,開(kāi)源軟件開(kāi)始進(jìn)入業(yè)務(wù)系統(tǒng)。當(dāng)時(shí)很多互聯(lián)網(wǎng)公司還沒(méi)有摸索到正確的商業(yè)模式,不能負(fù)擔(dān)商業(yè)軟件高昂的成本,同時(shí),互聯(lián)網(wǎng)業(yè)務(wù)的擴(kuò)展性和穩(wěn)定性又深受詬病,因此開(kāi)源的Linux和Apache服務(wù)器就成了標(biāo)配,并經(jīng)受了互聯(lián)網(wǎng)流量的檢驗(yàn)。從2007年開(kāi)始的云計(jì)算浪潮將開(kāi)源軟件推到了一個(gè)新的高度。云計(jì)算基礎(chǔ)技術(shù)的復(fù)雜度使技術(shù)成本越來(lái)越大,而開(kāi)源使得眾多廠商能夠“共享”技術(shù),因?yàn)樵朴?jì)算廠商利潤(rùn)不是靠賣(mài)技術(shù)實(shí)現(xiàn)。開(kāi)源不僅解決了云計(jì)算時(shí)代技術(shù)成本的問(wèn)題,還能構(gòu)建開(kāi)發(fā)者生態(tài)、應(yīng)用生態(tài)和解決方案,更快地應(yīng)對(duì)客戶(hù)的需求。
2.開(kāi)源已經(jīng)從技術(shù)極客的無(wú)序活動(dòng),發(fā)展到當(dāng)前領(lǐng)導(dǎo)企業(yè)不惜重金投入
當(dāng)前開(kāi)源項(xiàng)目的特點(diǎn)之一是眾多公司投入開(kāi)源項(xiàng)目,使原本只有技術(shù)特性的開(kāi)源項(xiàng)目帶著服務(wù)產(chǎn)業(yè)和行業(yè)的目標(biāo)性,各公司在開(kāi)源項(xiàng)目中不惜投入,以占領(lǐng)話(huà)語(yǔ)權(quán)。這種公司級(jí)別的投入,對(duì)開(kāi)源軟件和開(kāi)源社區(qū)來(lái)說(shuō),是一枚硬幣的兩個(gè)面。一方面,開(kāi)源項(xiàng)目容易獲得資金和資源支持,能夠迅速成長(zhǎng),并實(shí)現(xiàn)行業(yè)落地;另一方面,項(xiàng)目不可避免地帶有公司的商業(yè)訴求,影響了開(kāi)源軟件的中立性。因此,廠商、用戶(hù)、SI、開(kāi)發(fā)者等多方參與和中立的治理成為項(xiàng)目是否能走遠(yuǎn)的關(guān)鍵。
同時(shí)開(kāi)源項(xiàng)目是否有前途、是否成功,不在于發(fā)起方是否是大公司和項(xiàng)目技術(shù)是否高超,而在于開(kāi)源項(xiàng)目能否解決產(chǎn)業(yè)或者行業(yè)共同的痛點(diǎn)、能否引起其他公司共鳴和參與、方案能否被用戶(hù)使用。大公司投入資源相對(duì)多,在開(kāi)源項(xiàng)目中容易占據(jù)有影響力的位置,但是小公司和眾多初創(chuàng)企業(yè)仍然有很多機(jī)會(huì)。當(dāng)前仍有很多初創(chuàng)企業(yè)和小公司主導(dǎo)的開(kāi)源項(xiàng)目,比如Apache Kafka背后的Confluent公司、MapD后面的MapD Technologies公司等??傊?,開(kāi)源不只是大公司的工具,也給小公司的生長(zhǎng)帶來(lái)了希望。
3.開(kāi)源:趨勢(shì)已定,未來(lái)已來(lái)
在云計(jì)算流行之前,基礎(chǔ)技術(shù)總是被當(dāng)做公司和業(yè)務(wù)的差異點(diǎn)加以保護(hù);在云計(jì)算時(shí)代,給客戶(hù)提供的是個(gè)性化的服務(wù),公司和業(yè)務(wù)的差異點(diǎn)不是技術(shù)和產(chǎn)品,技術(shù)反而成為了重復(fù)制造的車(chē)輪。基礎(chǔ)的共享技術(shù)的開(kāi)源,有利于開(kāi)放和共享成本,開(kāi)源技術(shù)給第三方合作提供多樣性、個(gè)性化的業(yè)務(wù),同時(shí)吸引包括開(kāi)發(fā)者、用戶(hù)、系統(tǒng)集成商、技術(shù)提供方等多方構(gòu)建生態(tài)??梢钥吹剑_(kāi)源之路方興未艾。
開(kāi)源是中國(guó)企業(yè)實(shí)現(xiàn)商業(yè)戰(zhàn)略的工具
開(kāi)源最早興起于美國(guó),最近幾年中國(guó)政府和企業(yè)開(kāi)始對(duì)其加大投入。開(kāi)源,對(duì)中國(guó)政府和企業(yè)來(lái)說(shuō),也不應(yīng)是單純的技術(shù)問(wèn)題,而應(yīng)有著更高層面的戰(zhàn)略考慮。
1.通過(guò)開(kāi)源構(gòu)筑市場(chǎng)優(yōu)勢(shì),搶占和開(kāi)辟市場(chǎng)
最典型的例子是當(dāng)前銷(xiāo)售服務(wù)器的廠商,裝機(jī)的操作系統(tǒng)都是開(kāi)源的Linux,這些公司聚焦在硬件設(shè)計(jì)、制造優(yōu)化、成本降低和市場(chǎng)渠道上面。除了開(kāi)源軟件銷(xiāo)售硬件模式,企業(yè)還有很多可以利用開(kāi)源的方法去占領(lǐng)和開(kāi)拓市場(chǎng),比如銷(xiāo)售開(kāi)源軟件的企業(yè)版本、開(kāi)源平臺(tái)軟件銷(xiāo)售增值軟件或服務(wù)、開(kāi)源硬件設(shè)計(jì)銷(xiāo)售服務(wù)等。思科甚至利用OpenDayLight引導(dǎo)開(kāi)源方向,避免開(kāi)源項(xiàng)目朝不利于自身業(yè)務(wù)的方向演進(jìn)。總之,開(kāi)源作為一種戰(zhàn)略工具,可以有很多種拓展市場(chǎng)的使用場(chǎng)景,這些對(duì)中國(guó)企業(yè)是有參考和借鑒意義的。
2.使用開(kāi)源提高研發(fā)效率,降低成本
除了使用開(kāi)源產(chǎn)品構(gòu)建商業(yè)產(chǎn)品和解決方案,越來(lái)越多的公司會(huì)使用內(nèi)源(inner-source)來(lái)開(kāi)發(fā)自己的產(chǎn)品。內(nèi)源是把開(kāi)源開(kāi)發(fā)的最佳實(shí)踐應(yīng)用在組織內(nèi)部,并在內(nèi)部建立類(lèi)似開(kāi)源的文化,以提高內(nèi)部研發(fā)效率。即使公司在開(kāi)發(fā)專(zhuān)有軟件,內(nèi)部開(kāi)發(fā)仍可以使用內(nèi)源,對(duì)內(nèi)開(kāi)放,共享部分代碼的開(kāi)發(fā)。
3.通過(guò)開(kāi)源吸引客戶(hù)和合作伙伴構(gòu)筑生態(tài),催熟產(chǎn)業(yè)
開(kāi)源生態(tài)并不依賴(lài)與軟件公司的商業(yè)聯(lián)系,而是依賴(lài)開(kāi)源社區(qū),因此具有長(zhǎng)期的技術(shù)保證性。越來(lái)越多的互聯(lián)網(wǎng)企業(yè)、軟件和硬件廠商、應(yīng)用方案提供商、運(yùn)營(yíng)商、芯片廠商、學(xué)校和研究機(jī)構(gòu)等,都成為開(kāi)源軟件的應(yīng)用者、參與者和貢獻(xiàn)者,并成為開(kāi)源社區(qū)的重要成員。在中國(guó),有關(guān)方面均已著手于打造和推動(dòng)開(kāi)源社區(qū)、開(kāi)源平臺(tái)、開(kāi)源基金會(huì)等開(kāi)源生態(tài)的建立,僅2018年,其就在云計(jì)算、大數(shù)據(jù)、人工智能、工業(yè)互聯(lián)網(wǎng)、數(shù)字經(jīng)濟(jì)等領(lǐng)域啟動(dòng)了大量與開(kāi)源相關(guān)的重大專(zhuān)項(xiàng)、重大工程。開(kāi)源生態(tài)也在不斷完善,例如,在網(wǎng)絡(luò)七層堆棧的最下一層,開(kāi)源項(xiàng)目包括了Open vSwitch等;在網(wǎng)絡(luò)管理和編排層,有OPEN-O項(xiàng)目;而再往上的編程框架層,如Node.js,擁有的服務(wù)器端JavaScript是全球發(fā)展速度最快的網(wǎng)頁(yè)技術(shù)平臺(tái)……在堆棧的每一層,都有各類(lèi)創(chuàng)新。
4.開(kāi)源和標(biāo)準(zhǔn)
基礎(chǔ)軟件之間的互操作性涉及相當(dāng)多標(biāo)準(zhǔn)的制定,由于標(biāo)準(zhǔn)與商業(yè)利益掛鉤,企業(yè)也會(huì)通過(guò)開(kāi)源社區(qū)來(lái)控制標(biāo)準(zhǔn)。2016年,Docker還是云計(jì)算的容器技術(shù)標(biāo)準(zhǔn)制定者,CNCF開(kāi)源社區(qū)通過(guò)OCI瓦解了它的優(yōu)勢(shì),背后就是公司間標(biāo)準(zhǔn)的博弈。此外,在電信領(lǐng)域開(kāi)源項(xiàng)目中,標(biāo)準(zhǔn)的爭(zhēng)奪更加激烈。標(biāo)準(zhǔn)組織如ETSI、MEF和TMForum發(fā)起了一些開(kāi)源項(xiàng)目,以推進(jìn)標(biāo)準(zhǔn)的形成,各公司也在積極備戰(zhàn)開(kāi)源項(xiàng)目,從而影響開(kāi)源項(xiàng)目之間的標(biāo)準(zhǔn)。
5.招人才
幾乎所有與開(kāi)源相關(guān)的公司,都不會(huì)放過(guò)利用開(kāi)源招聘人才。但是,是否能留住人才,給人才提供未來(lái)的發(fā)展空間,還需要在公司文化和內(nèi)部管理上與開(kāi)源有一定匹配。因此,雖然招聘人才是公司開(kāi)源的訴求之一,但是公司的文化才能決定人才能留住多久。
他山之石,可以攻玉
什么樣的方法可以讓我們?cè)诜脚d未艾的開(kāi)源領(lǐng)域占領(lǐng)一席之地呢?中國(guó)政府和企業(yè)可以借鑒當(dāng)前一些國(guó)家的成熟做法,避免走彎路。
1.成熟的開(kāi)源產(chǎn)業(yè)生態(tài)
一個(gè)成熟的開(kāi)源產(chǎn)業(yè)生態(tài),不僅需要開(kāi)發(fā)者和技術(shù)貢獻(xiàn)方、社區(qū)、媒體、基金會(huì)、政府,還需要成熟的風(fēng)險(xiǎn)資金投入和退出機(jī)制。如果沒(méi)有風(fēng)險(xiǎn)投資的成功退出,開(kāi)源只能停留在技術(shù)極客階段,這對(duì)做大開(kāi)源產(chǎn)業(yè)是不利的。中國(guó)開(kāi)源目前在技術(shù)和社區(qū)方面追趕比較快,但有開(kāi)源的引導(dǎo)基金且有成功的營(yíng)銷(xiāo)模式,才能形成開(kāi)源產(chǎn)業(yè)的閉環(huán)。中國(guó)政府和中國(guó)領(lǐng)導(dǎo)企業(yè)可以在打造成熟開(kāi)源生態(tài)方面貢獻(xiàn)更大的力量。
2.中國(guó)企業(yè)可以借鑒成熟的開(kāi)源項(xiàng)目運(yùn)作規(guī)則,趕超世界上的領(lǐng)先企業(yè)
(1)洞察行業(yè)趨勢(shì),解決業(yè)務(wù)痛點(diǎn)
“只要站在風(fēng)口,豬也能飛起來(lái)”。開(kāi)源的技術(shù)項(xiàng)目很多,但是能夠火起來(lái)的不一定是技術(shù)最厲害的,反而是那些能解決熱點(diǎn)問(wèn)題、管理得當(dāng)?shù)捻?xiàng)目。因此,如何進(jìn)行風(fēng)口的把握、守住項(xiàng)目中的占位以及對(duì)行業(yè)趨勢(shì)的判斷,就要比拼真正的實(shí)力了。
(2)用源代碼說(shuō)話(huà)
開(kāi)源項(xiàng)目只有用源代碼做敲門(mén)磚,才能在社區(qū)和項(xiàng)目中占據(jù)關(guān)鍵位置,才能以專(zhuān)業(yè)能力影響項(xiàng)目進(jìn)度。中國(guó)企業(yè)目前的困境是,缺少開(kāi)疆?dāng)U土的架構(gòu)師,跟在別人后面修修補(bǔ)補(bǔ),貢獻(xiàn)的代碼多是影響力不大的補(bǔ)丁。相信隨著中國(guó)技術(shù)的崛起,這種情況會(huì)有根本的改變。
(3)開(kāi)源項(xiàng)目合作和市場(chǎng)上的競(jìng)爭(zhēng):加入還是發(fā)起開(kāi)源項(xiàng)目
開(kāi)源項(xiàng)目中合作的企業(yè)往往是市場(chǎng)上的競(jìng)爭(zhēng)對(duì)手,西方企業(yè)能將競(jìng)合關(guān)系玩的得心應(yīng)手,這點(diǎn)值得中國(guó)企業(yè)借鑒。由于競(jìng)爭(zhēng)關(guān)系,中國(guó)的領(lǐng)導(dǎo)企業(yè)往往喜歡“重新發(fā)明輪子”,而漠視競(jìng)爭(zhēng)對(duì)手主導(dǎo)的開(kāi)源項(xiàng)目。其實(shí),開(kāi)源是利用社區(qū)的力量來(lái)共享開(kāi)發(fā)成本,形成產(chǎn)業(yè)的生態(tài),因此“重新發(fā)明輪子”的做法往往消耗資源、分化生態(tài),不利于做大產(chǎn)業(yè)和發(fā)揮開(kāi)源的優(yōu)勢(shì)。
(4)客戶(hù)成功
開(kāi)源已經(jīng)從十幾年前純粹的技術(shù)行為,逐漸演化成能夠解決產(chǎn)業(yè)和行業(yè)痛點(diǎn)的重要力量。因此,成功的開(kāi)源項(xiàng)目背后總是有企業(yè)的背影,客戶(hù)的成功應(yīng)用對(duì)于開(kāi)源項(xiàng)目的技術(shù)推進(jìn)有示范作用,是開(kāi)源項(xiàng)目成功的保證之一。因此,關(guān)注客戶(hù)的成功,也是開(kāi)源項(xiàng)目成功的催化劑。
(5)其它
其它促進(jìn)開(kāi)源項(xiàng)目成功的因素還有很多,包括開(kāi)源項(xiàng)目上下游合作、開(kāi)源許可的選擇和根據(jù)項(xiàng)目進(jìn)展的PR活動(dòng)等。開(kāi)源上下游的項(xiàng)目負(fù)責(zé)人往往根據(jù)技術(shù)、客戶(hù)、陣營(yíng)(比如Linux或者Apache基金會(huì))、團(tuán)隊(duì)等因素的互補(bǔ)關(guān)系來(lái)決策,因此成功的開(kāi)源項(xiàng)目往往是生態(tài)的成功。
3.開(kāi)源的公司治理
在大公司,負(fù)責(zé)公司開(kāi)源事務(wù)的部門(mén)可以是central office,而小公司可能就是一或兩個(gè)負(fù)責(zé)人,但無(wú)論如何,公司戰(zhàn)略與開(kāi)源投入的匹配總是需要獲得高層認(rèn)可。由于開(kāi)源社區(qū)涉及外部組織的利益,因此項(xiàng)目的推動(dòng)并不會(huì)一帆風(fēng)順,這就更加需要厘清公司訴求,折中各方利益,在曲折中推動(dòng)前進(jìn)。此外,怎么考核和評(píng)價(jià)公司資源投入的價(jià)值,也是要明確的。
4.開(kāi)源軟件的許可
據(jù)說(shuō)當(dāng)前的開(kāi)源軟件許可有幾百種,但最常用的只有幾種,包括GPL、LGPL、Apache License、Mozilla、BSD和MIT等。開(kāi)源許可的選擇對(duì)于項(xiàng)目的推進(jìn)和成功有著很大的影響。
開(kāi)源項(xiàng)目究竟選擇什么開(kāi)源許可,需要結(jié)合項(xiàng)目的地位、目標(biāo)、競(jìng)爭(zhēng)甚至商業(yè)考慮才能最終確定。
5.社區(qū):領(lǐng)頭羊、牧羊犬和社區(qū)運(yùn)作
一個(gè)好的開(kāi)源社區(qū),既要有領(lǐng)頭羊,也要有牧羊犬。領(lǐng)頭羊是能洞察遠(yuǎn)景、看清技術(shù)方向的領(lǐng)頭人,牧羊犬是看護(hù)社區(qū)、維持社區(qū)運(yùn)作的職業(yè)經(jīng)理人。
社區(qū)運(yùn)作對(duì)于項(xiàng)目成功是非常重要的。有一種說(shuō)法:好的開(kāi)源代碼+差的項(xiàng)目運(yùn)作=失敗項(xiàng)目;差的開(kāi)源代碼+好的項(xiàng)目運(yùn)作 =成功項(xiàng)目。這說(shuō)明即使開(kāi)始開(kāi)源代碼質(zhì)量不高,在高質(zhì)量的項(xiàng)目運(yùn)作下,代碼質(zhì)量可以提升從而達(dá)到項(xiàng)目成功的目的。因此,重視開(kāi)源社區(qū)運(yùn)營(yíng),對(duì)開(kāi)源項(xiàng)目的成功至關(guān)重要。
總結(jié)
隨著云計(jì)算市場(chǎng)的發(fā)展壯大,未來(lái)會(huì)有越來(lái)越多的開(kāi)源項(xiàng)目生根發(fā)芽。開(kāi)源項(xiàng)目是對(duì)國(guó)家提倡的信息技術(shù)和服務(wù)的自主安全可控的支撐,因此未來(lái)無(wú)論是國(guó)外還是國(guó)內(nèi),開(kāi)源將持續(xù)發(fā)展。他山之石,可以攻玉,我們?cè)诶迩逅悸返幕A(chǔ)上,可以借鑒已有的經(jīng)驗(yàn),將中國(guó)的開(kāi)源項(xiàng)目推向成功。