原標(biāo)題:路與遠(yuǎn)方:從方舟開源,說到中國軟件行業(yè)的生態(tài)未來
方舟編譯器,最近幾個(gè)月始終地處科技界熱詞的頂端。
這來自于它本身的架構(gòu)級(jí)優(yōu)化,也來自于其在特殊時(shí)間背景下,與鴻蒙OS的關(guān)系。此外還有一點(diǎn),就是自誕生之日起,方舟編譯器就宣布將會(huì)開源。
對(duì)于中國軟件開發(fā)者來說,開源是一個(gè)既熟悉又陌生的詞匯。熟悉的是差不多人人都用GitHub,陌生的是似乎還沒有移動(dòng)端的中國底層軟件技術(shù)走向過開源之路。
在不久前的華為開發(fā)者大會(huì)上,華為給出了鴻蒙OS及方舟編譯器的開源時(shí)間表。而不到一個(gè)月,8月31日,華為方舟編譯器開源官網(wǎng)正式上線,框架開源代碼如約與廣大關(guān)注方舟編譯器的愛好者、開發(fā)者見面。
據(jù)悉,本次方舟編譯器的開源版本,開放了編譯器框架部分源碼,包括編譯器中間表達(dá)(IR)+語言編譯實(shí)現(xiàn),開發(fā)者可以通過官方網(wǎng)站及代碼托管網(wǎng)站獲得相關(guān)代碼和文檔,供參考學(xué)習(xí)、了解方舟編譯器的架構(gòu)和代碼。
而向更廣闊的未來看,這次開源不僅是一種技術(shù)的外放?;诜街劬幾g器,華為引領(lǐng)行業(yè)共同構(gòu)建生態(tài)與社區(qū),這是中國底層軟件開源之路的探索。
“方舟”和“開源”,或許有理由把這兩件事融合到一起來看。因?yàn)檐浖_源與社區(qū)建設(shè),長(zhǎng)時(shí)間以來都被認(rèn)為是中國軟件行業(yè)必須補(bǔ)完的關(guān)鍵環(huán)節(jié)。而方舟編譯器的戰(zhàn)略價(jià)值,恰好成為了一個(gè)契機(jī)與窗口。
開源是路,而方舟是匙。二者結(jié)合時(shí),我們或許已經(jīng)可以窺見中國移動(dòng)產(chǎn)業(yè)與軟件行業(yè)的生態(tài)未來。
五十年,軟件開源史與產(chǎn)業(yè)洪流
想要明白方舟開源對(duì)行業(yè)的價(jià)值,必須先解釋這樣一個(gè)問題:軟件開源為什么重要。
這個(gè)問題要回到五十年的漫長(zhǎng)歷史中去回答。事實(shí)上,整個(gè)信息革命進(jìn)程,始終伴隨著軟件開源事業(yè)的不斷發(fā)展和深化。一部開源史,也是一部信息技術(shù)與互聯(lián)網(wǎng)的產(chǎn)業(yè)革命史。
1969年,AT&T 貝爾實(shí)驗(yàn)室開發(fā)出了 UNIX。此后的10年,業(yè)界可以以低廉的成本獲取 UNIX 源代碼,并在此基礎(chǔ)上進(jìn)行革新改進(jìn)。事實(shí)上,UNIX和貝爾實(shí)驗(yàn)室在當(dāng)時(shí)已經(jīng)打造了原始版本的開源意識(shí)和社區(qū)化思想。雖然之后AT&T出于商業(yè)考慮,停止了免費(fèi)的UNIX版本更新,但軟件開發(fā)者的自由與分享意識(shí)已經(jīng)覺醒。此后的計(jì)算機(jī)時(shí)代,始終伴隨著軟件工作者對(duì)開源事業(yè)的熱愛與執(zhí)念。
1984年,理查德·斯托曼發(fā)起了 GNU 項(xiàng)目,目標(biāo)是創(chuàng)建一個(gè)完全自由且向下兼容 UNIX 的操作系統(tǒng)。次年,他圍繞GNU建立了自由軟件基金會(huì),至此首個(gè)推廣自由軟件的民間非營(yíng)利性組織誕生,為軟件行業(yè)正式啟動(dòng)開源工作奠定了基礎(chǔ)。
1991年,影響至今的Linux 內(nèi)核誕生。事實(shí)上,大名鼎鼎的Linux在當(dāng)時(shí)采用了GNU的系統(tǒng)軟件集,可以說是對(duì)GNU項(xiàng)目的發(fā)展和繼承。Linux內(nèi)核很快也被開源了出來,其開發(fā)生態(tài)直接影響了互聯(lián)網(wǎng)產(chǎn)業(yè)的進(jìn)程。
我們耳熟能詳?shù)陌沧?,就是采用Linux 內(nèi)核編寫的移動(dòng)端操作系統(tǒng)。而安卓的開源與生態(tài)化建設(shè),直接造就了繁盛的移動(dòng)互聯(lián)網(wǎng)和智能手機(jī)時(shí)代。相比于iOS的封閉,安卓的開源雖然有很多問題,但它的高開放度、低門檻,也帶來了行業(yè)普惠價(jià)值,以及極強(qiáng)的成長(zhǎng)空間。
而開源之路并沒有就此終止,2008年大名鼎鼎的 GitHub 發(fā)布。這一平臺(tái)的價(jià)值在于,它是一個(gè)開源的分布式軟件版本控制系統(tǒng),各種開源項(xiàng)目都可以在平臺(tái)上進(jìn)行公開公平的軟件開源,從而與全世界開發(fā)者共同打造更優(yōu)軟件體驗(yàn)。如今GitHub已經(jīng)成為了被廣泛認(rèn)可的開源民主化平臺(tái),其社區(qū)生態(tài)影響著全球各領(lǐng)域的軟件開放進(jìn)程。
回顧五十年的開源史,我們會(huì)發(fā)現(xiàn)開源平臺(tái)與技術(shù),是在時(shí)代需要與前輩技術(shù)基礎(chǔ)上逐步發(fā)展起來的。而更優(yōu)質(zhì)、更徹底、更自由的底層軟件開源,并不會(huì)降低一家公司的競(jìng)爭(zhēng)力。相反這可以推動(dòng)行業(yè)共識(shí)和生態(tài)繁榮,用所有開發(fā)者的智慧共同做大技術(shù)紅利。
所以,開源史帶給世界的結(jié)論,是平臺(tái)化技術(shù)的開源是長(zhǎng)期紅利的基礎(chǔ),是產(chǎn)業(yè)繁榮的先導(dǎo)。不斷適應(yīng)時(shí)代需求的開源技術(shù)與開源社區(qū)生態(tài),是疊層筑造的軟件高塔。在這座高塔之上,軟件用全球開發(fā)者的智慧讓自己變得更好,再反哺世界科技的發(fā)展。
生態(tài)開源的底層模式、技術(shù)民主化,以及貢獻(xiàn)越大話語權(quán)越大的社區(qū)機(jī)制,用五十年時(shí)間奠定了軟件產(chǎn)業(yè)持續(xù)進(jìn)化的基礎(chǔ)能力與全球產(chǎn)業(yè)共識(shí)。遺憾的是,這場(chǎng)宏偉變革中中國軟件人更多處在應(yīng)用者與學(xué)習(xí)者,而非變革推動(dòng)者的角色。
當(dāng)然,這一境況若干年來正在發(fā)生變化。比如華為等中國公司正在持續(xù)擁抱開源事業(yè)。目前華為在有重大國際影響力的開源社區(qū)中擁有十多個(gè)董事席位,及200多個(gè)TSC、PTL、Core Committer席位。作為L(zhǎng)inux基金會(huì)白金成員,華為對(duì)Linux kernel累計(jì)貢獻(xiàn)6800+補(bǔ)丁,是TOP 5中唯一的亞洲廠商。
在開源事業(yè)中不斷積累的華為,今天準(zhǔn)備在移動(dòng)生態(tài)這片軟件沃土上,開啟由中國科技公司主導(dǎo)的開源平臺(tái)建設(shè)。
歷史的時(shí)針,或許就此撥動(dòng)。
今日,方舟的船舵
從歷史中回看,底層軟件開源之路帶來的行業(yè)紅利,主要由這樣的模式產(chǎn)生:軟件本身具有極大應(yīng)用價(jià)值,開源后各廠商與開發(fā)者可以獲得直接效用;而廣大開發(fā)者反過來重新思考、雕琢和優(yōu)化這一軟件,匯聚而成開源社區(qū)。這個(gè)社區(qū)既是底層技術(shù)的不斷優(yōu)化,也是產(chǎn)業(yè)共識(shí)的自然建立。
而方舟編譯器的開源,顯然滿足這一邏輯的基礎(chǔ)。
對(duì)于廣大APP廠商、軟件開發(fā)者、互聯(lián)網(wǎng)企業(yè)來說,對(duì)方舟編譯器的理解和應(yīng)用可以帶來核心價(jià)值,即對(duì)自身應(yīng)用體驗(yàn)的直接提升。而向長(zhǎng)遠(yuǎn)角度看,方舟編譯器背后的技術(shù)思路與生態(tài)價(jià)值,更是對(duì)行業(yè)具有長(zhǎng)線推動(dòng)作用。
這次開源的方舟編譯器框架代碼,可以完成Java靜態(tài)編譯,包括類層次關(guān)系分析、虛方法表和接口表的生成、native函數(shù)的處理等,以及基于引用計(jì)數(shù)的內(nèi)存管理方式,提供樸素的RC插入功能。
這一階段的框架開源,主要滿足編譯器領(lǐng)域?qū)<壹皭酆谜哐芯繉W(xué)習(xí)的需要,同時(shí)華為將繼續(xù)優(yōu)化其他編譯器組件,以便讓源代碼更適應(yīng)開源社區(qū)的開發(fā)環(huán)境。同時(shí),開發(fā)者可通過代碼托管平臺(tái)參與社區(qū)貢獻(xiàn),包括文檔貢獻(xiàn)和代碼貢獻(xiàn),同時(shí)也可在此平臺(tái)上反饋相關(guān)問題和需求。
從近到遠(yuǎn),我們可以看到方舟編譯器開源,到相關(guān)社區(qū)與貢獻(xiàn)制度建立,對(duì)于整個(gè)軟件行業(yè)來說具備三重價(jià)值:
1、開發(fā)者可以通過加強(qiáng)對(duì)方舟編譯器的理解,加強(qiáng)自身產(chǎn)業(yè)競(jìng)爭(zhēng)力。
方舟編譯器具備多語言聯(lián)合優(yōu)化能力、高效的內(nèi)存回收機(jī)制、靈活的編譯優(yōu)化方式和極低的學(xué)習(xí)使用成本等特點(diǎn)。如今方舟編譯器已經(jīng)在產(chǎn)業(yè)合作中,廣泛滲透到各APP開發(fā)領(lǐng)域,成為用戶體驗(yàn)提升的新技術(shù)撬點(diǎn)。而方舟開源本身,對(duì)于這些APP開發(fā)者以及移動(dòng)應(yīng)用開發(fā)行業(yè)來說,是通過提升理解,加強(qiáng)自身產(chǎn)業(yè)與方舟編譯器耦合的機(jī)會(huì)。在同質(zhì)化競(jìng)爭(zhēng)激烈的移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè),這也是差異化競(jìng)爭(zhēng)力的又一來源。
2、理解跨語言編譯機(jī)制,提升自身業(yè)務(wù)能力和面向未來的移動(dòng)端編程能力。
方舟編譯器本身是一種新的編譯機(jī)制,尤其具備跨語言編程的能力。這在極大程度上是對(duì)現(xiàn)行編程基礎(chǔ)的一次優(yōu)化與提升。業(yè)內(nèi)人士都知道,跨語言編譯雖然已經(jīng)成為行業(yè)主流,但卻存在大量痛點(diǎn)。比如JNI和反射機(jī)制開銷巨大;Java代碼和C/C++代碼互相不可見;跨語言的全程序優(yōu)化無法實(shí)施等等。
此次開源的方舟編譯器框架代碼,包括編譯器中間表示(IR)和語言編譯實(shí)現(xiàn)。開發(fā)者可基于開源代碼+二進(jìn)制,編譯構(gòu)建出編譯器工具鏈,嘗試對(duì)Java程序進(jìn)行編譯。如此,開發(fā)者可以通過熟悉方舟編譯器的架構(gòu)思想,提升自身在跨語言編程領(lǐng)域的業(yè)務(wù)能力和理解水準(zhǔn)——通過對(duì)方舟的“拆招解式”,實(shí)現(xiàn)行業(yè)基礎(chǔ)軟件水準(zhǔn)的共同進(jìn)步。
3、參與方舟生態(tài)建立,在成長(zhǎng)的開源環(huán)境中獲得長(zhǎng)期紅利。
編譯器是個(gè)龐大的軟件工程,需要建立生態(tài)逐步完善。而對(duì)于軟件開發(fā)者、高校研究者和終端廠商來說,此時(shí)方舟開源推動(dòng)建立的開源社區(qū),可以說是中國移動(dòng)軟件開源社區(qū)的基礎(chǔ),是尋求未來產(chǎn)業(yè)共識(shí)的良好平臺(tái)。此時(shí)加入,不僅可以短期加強(qiáng)業(yè)務(wù)競(jìng)爭(zhēng)力,更有助于通過長(zhǎng)期貢獻(xiàn),積累未來社區(qū)中的話語權(quán)。方舟編譯器的陸續(xù)開源進(jìn)程中,將通過建立托管平臺(tái),實(shí)行按貢獻(xiàn)大小決定話語權(quán)、走向開放治理機(jī)制,最終形成社區(qū)生態(tài)。這是中國終端軟件的一次全新嘗試,無論是補(bǔ)完產(chǎn)業(yè)鏈,還是走向未來,都將源源不斷激發(fā)技術(shù)與社區(qū)紅利。這些紅利將長(zhǎng)期釋放給行業(yè)和開發(fā)者生態(tài),尤其對(duì)于早期參與者和積極貢獻(xiàn)者來說。
就像很多偉大的底層技術(shù)一樣,方舟編譯器也會(huì)開源開放給所有聰明的大腦。而開發(fā)者在此刻擁抱方舟時(shí),一定會(huì)注意這樣一件事:這艘方舟,正航向哪里?
路與遠(yuǎn)方
移動(dòng)時(shí)代之后,科技產(chǎn)業(yè)的下一個(gè)時(shí)代從何而來?我想現(xiàn)在這個(gè)問題應(yīng)該已經(jīng)具備了初步共識(shí):5G提升聯(lián)接能力;AI改變交互;IoT設(shè)備作為硬件形態(tài),共同編織成了下一個(gè)時(shí)代。
而對(duì)于軟件和移動(dòng)產(chǎn)業(yè)來說,今天最關(guān)鍵的問題就是:我應(yīng)該如何邁進(jìn)這條路?
要知道,AI、5G、IoT的想象力相輔相成,但其中涉及太多的技術(shù)難點(diǎn),并且在草創(chuàng)階段嚴(yán)重缺乏技術(shù)共識(shí)。比如AIoT的芯片、網(wǎng)絡(luò)、應(yīng)用、算法,以及未來演進(jìn)方向,這些在今天都充滿了不確定性,甚至自相矛盾的產(chǎn)業(yè)現(xiàn)狀。
如何讓這條未來之路真正打開呢?吸取五十年的信息技術(shù)史,我們會(huì)發(fā)現(xiàn)開源和技術(shù)民主,是確定行業(yè)底層技術(shù)共識(shí)的最佳途徑。
5G交融AI的智能時(shí)代,是中國和中國開發(fā)者首次完整抓住的科技產(chǎn)業(yè)革命,但這是機(jī)會(huì)同時(shí)也是考驗(yàn)。當(dāng)我們需要開源生態(tài)和社區(qū)化的長(zhǎng)期紅利,首先要建設(shè)生態(tài)與社區(qū)。未來技術(shù)大門需要一把鑰匙去開啟,開源社區(qū)與技術(shù)生態(tài)需要第一捧泥土去堆積。
從哪開始呢?又何不從方舟開始呢?
我們知道,方舟編譯器是鴻蒙OS的重要工具,而鴻蒙OS則是面向IoT全場(chǎng)景生態(tài)的底層操作系統(tǒng),也是AI和5G融入新硬件時(shí)代的關(guān)鍵接口。
如果我們把方舟的開源到鴻蒙的開源,看作一個(gè)長(zhǎng)期執(zhí)行、長(zhǎng)期生態(tài)化的系統(tǒng)工程,就會(huì)發(fā)現(xiàn)華為事實(shí)上在基于剛剛發(fā)生的方舟開源,打開面向未來,中國開源社區(qū)的第一步。
方舟開源和完善,是一個(gè)不間斷的過程,是系統(tǒng)化的工程,也是行業(yè)紅利釋放的長(zhǎng)期軌跡。接下來,2020年方舟編譯器將開放Java編譯器工具鏈,支持Java程序編譯;2021年方舟編譯器將開放對(duì)Java語言的支持能力,可用于JS應(yīng)用的編譯。
同期,鴻蒙OS的開源工作也將陸續(xù)展開,華為將把軟件方面的技術(shù)能力在社區(qū)中不斷貢獻(xiàn)給行業(yè),與行業(yè)一起探尋更好的、更符合時(shí)代需求的軟件技術(shù)。
沿著這條路徑,我們已經(jīng)可以在今天想象很多事,比如基于AIoT邏輯的殺手級(jí)應(yīng)用和明星公司成長(zhǎng)起來;比如IoT產(chǎn)業(yè)迎來大量共識(shí),快速提高產(chǎn)業(yè)效率;比如軟件開發(fā)行業(yè)普遍效率得到提升,將有更多創(chuàng)造性思維與人才聚集到軟件中來。
未來還長(zhǎng),但鑰匙已在手中。過去,當(dāng)我們追問中國軟件產(chǎn)業(yè),為什么總是追隨者而不是創(chuàng)造者的時(shí)候,其實(shí)很多時(shí)候答案很簡(jiǎn)單,因?yàn)闆]有人踏出第一步,沒有人選擇最苦最累的工作完成,沒有開源開放的共識(shí)與思維。
而如今,很多事情已經(jīng)改變。從方舟到開源,從開源到生態(tài)——鴻蒙已開,春來草自青。
- 美媒聚焦比亞迪“副業(yè)”:電子代工助力蘋果,下個(gè)大計(jì)劃瞄準(zhǔn)AI機(jī)器人
- 微信零錢通新政策:銀行卡轉(zhuǎn)入資金提現(xiàn)免手續(xù)費(fèi)引熱議
- 消息稱塔塔集團(tuán)將收購和碩印度iPhone代工廠60%股份 并接管日常運(yùn)營(yíng)
- 蘋果揭秘自研芯片成功之道:領(lǐng)先技術(shù)與深度整合是關(guān)鍵
- 英偉達(dá)新一代Blackwell GPU面臨過熱挑戰(zhàn),交付延期引發(fā)市場(chǎng)關(guān)注
- 馬斯克能否成為 AI 部部長(zhǎng)?硅谷與白宮的聯(lián)系日益緊密
- 余承東:Mate70將在26號(hào)發(fā)布,意外泄露引發(fā)關(guān)注
- 無人機(jī)“黑科技”亮相航展:全球首臺(tái)低空重力測(cè)量系統(tǒng)引關(guān)注
- 賽力斯發(fā)布聲明:未與任何伙伴聯(lián)合開展人形機(jī)器人合作
- 賽力斯觸及漲停,汽車整車股盤初強(qiáng)勢(shì)拉升
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。