"

方舟編譯器,最近幾個月始終地處科技界熱詞的頂端。

這來自於它本身的架構級優化,也來自於其在特殊時間背景下,與鴻蒙OS的關係。此外還有一點,就是自誕生之日起,方舟編譯器就宣佈將會開源。

對於中國軟件開發者來說,開源是一個既熟悉又陌生的詞彙。熟悉的是差不多人人都用GitHub,陌生的是似乎還沒有移動端的中國底層軟件技術走向過開源之路。

在不久前的華為開發者大會上,華為給出了鴻蒙OS及方舟編譯器的開源時間表。而不到一個月,8月31日,華為方舟編譯器開源官網正式上線,框架開源代碼如約與廣大關注方舟編譯器的愛好者、開發者見面。

據悉,本次方舟編譯器的開源版本,開放了編譯器框架部分源碼,包括編譯器中間表達(IR)+語言編譯實現,開發者可以通過官方網站及代碼託管網站獲得相關代碼和文檔,供參考學習、瞭解方舟編譯器的架構和代碼。

"

方舟編譯器,最近幾個月始終地處科技界熱詞的頂端。

這來自於它本身的架構級優化,也來自於其在特殊時間背景下,與鴻蒙OS的關係。此外還有一點,就是自誕生之日起,方舟編譯器就宣佈將會開源。

對於中國軟件開發者來說,開源是一個既熟悉又陌生的詞彙。熟悉的是差不多人人都用GitHub,陌生的是似乎還沒有移動端的中國底層軟件技術走向過開源之路。

在不久前的華為開發者大會上,華為給出了鴻蒙OS及方舟編譯器的開源時間表。而不到一個月,8月31日,華為方舟編譯器開源官網正式上線,框架開源代碼如約與廣大關注方舟編譯器的愛好者、開發者見面。

據悉,本次方舟編譯器的開源版本,開放了編譯器框架部分源碼,包括編譯器中間表達(IR)+語言編譯實現,開發者可以通過官方網站及代碼託管網站獲得相關代碼和文檔,供參考學習、瞭解方舟編譯器的架構和代碼。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

而向更廣闊的未來看,這次開源不僅是一種技術的外放。基於方舟編譯器,華為引領行業共同構建生態與社區,這是中國底層軟件開源之路的探索。

“方舟”和“開源”,或許有理由把這兩件事融合到一起來看。因為軟件開源與社區建設,長時間以來都被認為是中國軟件行業必須補完的關鍵環節。而方舟編譯器的戰略價值,恰好成為了一個契機與窗口。

開源是路,而方舟是匙。二者結合時,我們或許已經可以窺見中國移動產業與軟件行業的生態未來。

五十年,軟件開源史與產業洪流

想要明白方舟開源對行業的價值,必須先解釋這樣一個問題:軟件開源為什麼重要。

這個問題要回到五十年的漫長曆史中去回答。事實上,整個信息革命進程,始終伴隨著軟件開源事業的不斷髮展和深化。一部開源史,也是一部信息技術與互聯網的產業革命史。

1969年,AT&T 貝爾實驗室開發出了 UNIX。此後的10年,業界可以以低廉的成本獲取 UNIX 源代碼,並在此基礎上進行革新改進。事實上,UNIX和貝爾實驗室在當時已經打造了原始版本的開源意識和社區化思想。雖然之後AT&T出於商業考慮,停止了免費的UNIX版本更新,但軟件開發者的自由與分享意識已經覺醒。此後的計算機時代,始終伴隨著軟件工作者對開源事業的熱愛與執念。

"

方舟編譯器,最近幾個月始終地處科技界熱詞的頂端。

這來自於它本身的架構級優化,也來自於其在特殊時間背景下,與鴻蒙OS的關係。此外還有一點,就是自誕生之日起,方舟編譯器就宣佈將會開源。

對於中國軟件開發者來說,開源是一個既熟悉又陌生的詞彙。熟悉的是差不多人人都用GitHub,陌生的是似乎還沒有移動端的中國底層軟件技術走向過開源之路。

在不久前的華為開發者大會上,華為給出了鴻蒙OS及方舟編譯器的開源時間表。而不到一個月,8月31日,華為方舟編譯器開源官網正式上線,框架開源代碼如約與廣大關注方舟編譯器的愛好者、開發者見面。

據悉,本次方舟編譯器的開源版本,開放了編譯器框架部分源碼,包括編譯器中間表達(IR)+語言編譯實現,開發者可以通過官方網站及代碼託管網站獲得相關代碼和文檔,供參考學習、瞭解方舟編譯器的架構和代碼。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

而向更廣闊的未來看,這次開源不僅是一種技術的外放。基於方舟編譯器,華為引領行業共同構建生態與社區,這是中國底層軟件開源之路的探索。

“方舟”和“開源”,或許有理由把這兩件事融合到一起來看。因為軟件開源與社區建設,長時間以來都被認為是中國軟件行業必須補完的關鍵環節。而方舟編譯器的戰略價值,恰好成為了一個契機與窗口。

開源是路,而方舟是匙。二者結合時,我們或許已經可以窺見中國移動產業與軟件行業的生態未來。

五十年,軟件開源史與產業洪流

想要明白方舟開源對行業的價值,必須先解釋這樣一個問題:軟件開源為什麼重要。

這個問題要回到五十年的漫長曆史中去回答。事實上,整個信息革命進程,始終伴隨著軟件開源事業的不斷髮展和深化。一部開源史,也是一部信息技術與互聯網的產業革命史。

1969年,AT&T 貝爾實驗室開發出了 UNIX。此後的10年,業界可以以低廉的成本獲取 UNIX 源代碼,並在此基礎上進行革新改進。事實上,UNIX和貝爾實驗室在當時已經打造了原始版本的開源意識和社區化思想。雖然之後AT&T出於商業考慮,停止了免費的UNIX版本更新,但軟件開發者的自由與分享意識已經覺醒。此後的計算機時代,始終伴隨著軟件工作者對開源事業的熱愛與執念。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

1984年,理查德·斯托曼發起了 GNU 項目,目標是創建一個完全自由且向下兼容 UNIX 的操作系統。次年,他圍繞GNU建立了自由軟件基金會,至此首個推廣自由軟件的民間非營利性組織誕生,為軟件行業正式啟動開源工作奠定了基礎。

1991年,影響至今的Linux 內核誕生。事實上,大名鼎鼎的Linux在當時採用了GNU的系統軟件集,可以說是對GNU項目的發展和繼承。Linux內核很快也被開源了出來,其開發生態直接影響了互聯網產業的進程。

我們耳熟能詳的安卓,就是採用Linux 內核編寫的移動端操作系統。而安卓的開源與生態化建設,直接造就了繁盛的移動互聯網和智能手機時代。相比於iOS的封閉,安卓的開源雖然有很多問題,但它的高開放度、低門檻,也帶來了行業普惠價值,以及極強的成長空間。

而開源之路並沒有就此終止,2008年大名鼎鼎的 GitHub 發佈。這一平臺的價值在於,它是一個開源的分佈式軟件版本控制系統,各種開源項目都可以在平臺上進行公開公平的軟件開源,從而與全世界開發者共同打造更優軟件體驗。如今GitHub已經成為了被廣泛認可的開源民主化平臺,其社區生態影響著全球各領域的軟件開放進程。

"

方舟編譯器,最近幾個月始終地處科技界熱詞的頂端。

這來自於它本身的架構級優化,也來自於其在特殊時間背景下,與鴻蒙OS的關係。此外還有一點,就是自誕生之日起,方舟編譯器就宣佈將會開源。

對於中國軟件開發者來說,開源是一個既熟悉又陌生的詞彙。熟悉的是差不多人人都用GitHub,陌生的是似乎還沒有移動端的中國底層軟件技術走向過開源之路。

在不久前的華為開發者大會上,華為給出了鴻蒙OS及方舟編譯器的開源時間表。而不到一個月,8月31日,華為方舟編譯器開源官網正式上線,框架開源代碼如約與廣大關注方舟編譯器的愛好者、開發者見面。

據悉,本次方舟編譯器的開源版本,開放了編譯器框架部分源碼,包括編譯器中間表達(IR)+語言編譯實現,開發者可以通過官方網站及代碼託管網站獲得相關代碼和文檔,供參考學習、瞭解方舟編譯器的架構和代碼。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

而向更廣闊的未來看,這次開源不僅是一種技術的外放。基於方舟編譯器,華為引領行業共同構建生態與社區,這是中國底層軟件開源之路的探索。

“方舟”和“開源”,或許有理由把這兩件事融合到一起來看。因為軟件開源與社區建設,長時間以來都被認為是中國軟件行業必須補完的關鍵環節。而方舟編譯器的戰略價值,恰好成為了一個契機與窗口。

開源是路,而方舟是匙。二者結合時,我們或許已經可以窺見中國移動產業與軟件行業的生態未來。

五十年,軟件開源史與產業洪流

想要明白方舟開源對行業的價值,必須先解釋這樣一個問題:軟件開源為什麼重要。

這個問題要回到五十年的漫長曆史中去回答。事實上,整個信息革命進程,始終伴隨著軟件開源事業的不斷髮展和深化。一部開源史,也是一部信息技術與互聯網的產業革命史。

1969年,AT&T 貝爾實驗室開發出了 UNIX。此後的10年,業界可以以低廉的成本獲取 UNIX 源代碼,並在此基礎上進行革新改進。事實上,UNIX和貝爾實驗室在當時已經打造了原始版本的開源意識和社區化思想。雖然之後AT&T出於商業考慮,停止了免費的UNIX版本更新,但軟件開發者的自由與分享意識已經覺醒。此後的計算機時代,始終伴隨著軟件工作者對開源事業的熱愛與執念。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

1984年,理查德·斯托曼發起了 GNU 項目,目標是創建一個完全自由且向下兼容 UNIX 的操作系統。次年,他圍繞GNU建立了自由軟件基金會,至此首個推廣自由軟件的民間非營利性組織誕生,為軟件行業正式啟動開源工作奠定了基礎。

1991年,影響至今的Linux 內核誕生。事實上,大名鼎鼎的Linux在當時採用了GNU的系統軟件集,可以說是對GNU項目的發展和繼承。Linux內核很快也被開源了出來,其開發生態直接影響了互聯網產業的進程。

我們耳熟能詳的安卓,就是採用Linux 內核編寫的移動端操作系統。而安卓的開源與生態化建設,直接造就了繁盛的移動互聯網和智能手機時代。相比於iOS的封閉,安卓的開源雖然有很多問題,但它的高開放度、低門檻,也帶來了行業普惠價值,以及極強的成長空間。

而開源之路並沒有就此終止,2008年大名鼎鼎的 GitHub 發佈。這一平臺的價值在於,它是一個開源的分佈式軟件版本控制系統,各種開源項目都可以在平臺上進行公開公平的軟件開源,從而與全世界開發者共同打造更優軟件體驗。如今GitHub已經成為了被廣泛認可的開源民主化平臺,其社區生態影響著全球各領域的軟件開放進程。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

回顧五十年的開源史,我們會發現開源平臺與技術,是在時代需要與前輩技術基礎上逐步發展起來的。而更優質、更徹底、更自由的底層軟件開源,並不會降低一家公司的競爭力。相反這可以推動行業共識和生態繁榮,用所有開發者的智慧共同做大技術紅利。

所以,開源史帶給世界的結論,是平臺化技術的開源是長期紅利的基礎,是產業繁榮的先導。不斷適應時代需求的開源技術與開源社區生態,是疊層築造的軟件高塔。在這座高塔之上,軟件用全球開發者的智慧讓自己變得更好,再反哺世界科技的發展。

生態開源的底層模式、技術民主化,以及貢獻越大話語權越大的社區機制,用五十年時間奠定了軟件產業持續進化的基礎能力與全球產業共識。遺憾的是,這場宏偉變革中中國軟件人更多處在應用者與學習者,而非變革推動者的角色。

當然,這一境況若干年來正在發生變化。比如華為等中國公司正在持續擁抱開源事業。目前華為在有重大國際影響力的開源社區中擁有十多個董事席位,及200多個TSC、PTL、Core Committer席位。作為Linux基金會白金成員,華為對Linux kernel累計貢獻6800+補丁,是TOP 5中唯一的亞洲廠商。

在開源事業中不斷積累的華為,今天準備在移動生態這片軟件沃土上,開啟由中國科技公司主導的開源平臺建設。

歷史的時針,或許就此撥動。

今日,方舟的船舵

從歷史中回看,底層軟件開源之路帶來的行業紅利,主要由這樣的模式產生:軟件本身具有極大應用價值,開源後各廠商與開發者可以獲得直接效用;而廣大開發者反過來重新思考、雕琢和優化這一軟件,匯聚而成開源社區。這個社區既是底層技術的不斷優化,也是產業共識的自然建立。

而方舟編譯器的開源,顯然滿足這一邏輯的基礎。

對於廣大APP廠商、軟件開發者、互聯網企業來說,對方舟編譯器的理解和應用可以帶來核心價值,即對自身應用體驗的直接提升。而向長遠角度看,方舟編譯器背後的技術思路與生態價值,更是對行業具有長線推動作用。

這次開源的方舟編譯器框架代碼,可以完成Java靜態編譯,包括類層次關係分析、虛方法表和接口表的生成、native函數的處理等,以及基於引用計數的內存管理方式,提供樸素的RC插入功能。

這一階段的框架開源,主要滿足編譯器領域專家及愛好者研究學習的需要,同時華為將繼續優化其他編譯器組件,以便讓源代碼更適應開源社區的開發環境。同時,開發者可通過代碼託管平臺參與社區貢獻,包括文檔貢獻和代碼貢獻,同時也可在此平臺上反饋相關問題和需求。

"

方舟編譯器,最近幾個月始終地處科技界熱詞的頂端。

這來自於它本身的架構級優化,也來自於其在特殊時間背景下,與鴻蒙OS的關係。此外還有一點,就是自誕生之日起,方舟編譯器就宣佈將會開源。

對於中國軟件開發者來說,開源是一個既熟悉又陌生的詞彙。熟悉的是差不多人人都用GitHub,陌生的是似乎還沒有移動端的中國底層軟件技術走向過開源之路。

在不久前的華為開發者大會上,華為給出了鴻蒙OS及方舟編譯器的開源時間表。而不到一個月,8月31日,華為方舟編譯器開源官網正式上線,框架開源代碼如約與廣大關注方舟編譯器的愛好者、開發者見面。

據悉,本次方舟編譯器的開源版本,開放了編譯器框架部分源碼,包括編譯器中間表達(IR)+語言編譯實現,開發者可以通過官方網站及代碼託管網站獲得相關代碼和文檔,供參考學習、瞭解方舟編譯器的架構和代碼。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

而向更廣闊的未來看,這次開源不僅是一種技術的外放。基於方舟編譯器,華為引領行業共同構建生態與社區,這是中國底層軟件開源之路的探索。

“方舟”和“開源”,或許有理由把這兩件事融合到一起來看。因為軟件開源與社區建設,長時間以來都被認為是中國軟件行業必須補完的關鍵環節。而方舟編譯器的戰略價值,恰好成為了一個契機與窗口。

開源是路,而方舟是匙。二者結合時,我們或許已經可以窺見中國移動產業與軟件行業的生態未來。

五十年,軟件開源史與產業洪流

想要明白方舟開源對行業的價值,必須先解釋這樣一個問題:軟件開源為什麼重要。

這個問題要回到五十年的漫長曆史中去回答。事實上,整個信息革命進程,始終伴隨著軟件開源事業的不斷髮展和深化。一部開源史,也是一部信息技術與互聯網的產業革命史。

1969年,AT&T 貝爾實驗室開發出了 UNIX。此後的10年,業界可以以低廉的成本獲取 UNIX 源代碼,並在此基礎上進行革新改進。事實上,UNIX和貝爾實驗室在當時已經打造了原始版本的開源意識和社區化思想。雖然之後AT&T出於商業考慮,停止了免費的UNIX版本更新,但軟件開發者的自由與分享意識已經覺醒。此後的計算機時代,始終伴隨著軟件工作者對開源事業的熱愛與執念。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

1984年,理查德·斯托曼發起了 GNU 項目,目標是創建一個完全自由且向下兼容 UNIX 的操作系統。次年,他圍繞GNU建立了自由軟件基金會,至此首個推廣自由軟件的民間非營利性組織誕生,為軟件行業正式啟動開源工作奠定了基礎。

1991年,影響至今的Linux 內核誕生。事實上,大名鼎鼎的Linux在當時採用了GNU的系統軟件集,可以說是對GNU項目的發展和繼承。Linux內核很快也被開源了出來,其開發生態直接影響了互聯網產業的進程。

我們耳熟能詳的安卓,就是採用Linux 內核編寫的移動端操作系統。而安卓的開源與生態化建設,直接造就了繁盛的移動互聯網和智能手機時代。相比於iOS的封閉,安卓的開源雖然有很多問題,但它的高開放度、低門檻,也帶來了行業普惠價值,以及極強的成長空間。

而開源之路並沒有就此終止,2008年大名鼎鼎的 GitHub 發佈。這一平臺的價值在於,它是一個開源的分佈式軟件版本控制系統,各種開源項目都可以在平臺上進行公開公平的軟件開源,從而與全世界開發者共同打造更優軟件體驗。如今GitHub已經成為了被廣泛認可的開源民主化平臺,其社區生態影響著全球各領域的軟件開放進程。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

回顧五十年的開源史,我們會發現開源平臺與技術,是在時代需要與前輩技術基礎上逐步發展起來的。而更優質、更徹底、更自由的底層軟件開源,並不會降低一家公司的競爭力。相反這可以推動行業共識和生態繁榮,用所有開發者的智慧共同做大技術紅利。

所以,開源史帶給世界的結論,是平臺化技術的開源是長期紅利的基礎,是產業繁榮的先導。不斷適應時代需求的開源技術與開源社區生態,是疊層築造的軟件高塔。在這座高塔之上,軟件用全球開發者的智慧讓自己變得更好,再反哺世界科技的發展。

生態開源的底層模式、技術民主化,以及貢獻越大話語權越大的社區機制,用五十年時間奠定了軟件產業持續進化的基礎能力與全球產業共識。遺憾的是,這場宏偉變革中中國軟件人更多處在應用者與學習者,而非變革推動者的角色。

當然,這一境況若干年來正在發生變化。比如華為等中國公司正在持續擁抱開源事業。目前華為在有重大國際影響力的開源社區中擁有十多個董事席位,及200多個TSC、PTL、Core Committer席位。作為Linux基金會白金成員,華為對Linux kernel累計貢獻6800+補丁,是TOP 5中唯一的亞洲廠商。

在開源事業中不斷積累的華為,今天準備在移動生態這片軟件沃土上,開啟由中國科技公司主導的開源平臺建設。

歷史的時針,或許就此撥動。

今日,方舟的船舵

從歷史中回看,底層軟件開源之路帶來的行業紅利,主要由這樣的模式產生:軟件本身具有極大應用價值,開源後各廠商與開發者可以獲得直接效用;而廣大開發者反過來重新思考、雕琢和優化這一軟件,匯聚而成開源社區。這個社區既是底層技術的不斷優化,也是產業共識的自然建立。

而方舟編譯器的開源,顯然滿足這一邏輯的基礎。

對於廣大APP廠商、軟件開發者、互聯網企業來說,對方舟編譯器的理解和應用可以帶來核心價值,即對自身應用體驗的直接提升。而向長遠角度看,方舟編譯器背後的技術思路與生態價值,更是對行業具有長線推動作用。

這次開源的方舟編譯器框架代碼,可以完成Java靜態編譯,包括類層次關係分析、虛方法表和接口表的生成、native函數的處理等,以及基於引用計數的內存管理方式,提供樸素的RC插入功能。

這一階段的框架開源,主要滿足編譯器領域專家及愛好者研究學習的需要,同時華為將繼續優化其他編譯器組件,以便讓源代碼更適應開源社區的開發環境。同時,開發者可通過代碼託管平臺參與社區貢獻,包括文檔貢獻和代碼貢獻,同時也可在此平臺上反饋相關問題和需求。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

從近到遠,我們可以看到方舟編譯器開源,到相關社區與貢獻制度建立,對於整個軟件行業來說具備三重價值:

1、開發者可以通過加強對方舟編譯器的理解,加強自身產業競爭力。

方舟編譯器具備多語言聯合優化能力、高效的內存回收機制、靈活的編譯優化方式和極低的學習使用成本等特點。如今方舟編譯器已經在產業合作中,廣泛滲透到各APP開發領域,成為用戶體驗提升的新技術撬點。而方舟開源本身,對於這些APP開發者以及移動應用開發行業來說,是通過提升理解,加強自身產業與方舟編譯器耦合的機會。在同質化競爭激烈的移動互聯網產業,這也是差異化競爭力的又一來源。

2、理解跨語言編譯機制,提升自身業務能力和麵向未來的移動端編程能力。

方舟編譯器本身是一種新的編譯機制,尤其具備跨語言編程的能力。這在極大程度上是對現行編程基礎的一次優化與提升。業內人士都知道,跨語言編譯雖然已經成為行業主流,但卻存在大量痛點。比如JNI和反射機制開銷巨大;Java代碼和C/C++代碼互相不可見;跨語言的全程序優化無法實施等等。

此次開源的方舟編譯器框架代碼,包括編譯器中間表示(IR)和語言編譯實現。開發者可基於開源代碼+二進制,編譯構建出編譯器工具鏈,嘗試對Java程序進行編譯。如此,開發者可以通過熟悉方舟編譯器的架構思想,提升自身在跨語言編程領域的業務能力和理解水準——通過對方舟的“拆招解式”,實現行業基礎軟件水準的共同進步。

3、參與方舟生態建立,在成長的開源環境中獲得長期紅利。

編譯器是個龐大的軟件工程,需要建立生態逐步完善。而對於軟件開發者、高校研究者和終端廠商來說,此時方舟開源推動建立的開源社區,可以說是中國移動軟件開源社區的基礎,是尋求未來產業共識的良好平臺。此時加入,不僅可以短期加強業務競爭力,更有助於通過長期貢獻,積累未來社區中的話語權。方舟編譯器的陸續開源進程中,將通過建立託管平臺,實行按貢獻大小決定話語權、走向開放治理機制,最終形成社區生態。這是中國終端軟件的一次全新嘗試,無論是補完產業鏈,還是走向未來,都將源源不斷激發技術與社區紅利。這些紅利將長期釋放給行業和開發者生態,尤其對於早期參與者和積極貢獻者來說。

就像很多偉大的底層技術一樣,方舟編譯器也會開源開放給所有聰明的大腦。而開發者在此刻擁抱方舟時,一定會注意這樣一件事:這艘方舟,正航向哪裡?

路與遠方

移動時代之後,科技產業的下一個時代從何而來?我想現在這個問題應該已經具備了初步共識:5G提升聯接能力;AI改變交互;IoT設備作為硬件形態,共同編織成了下一個時代。

而對於軟件和移動產業來說,今天最關鍵的問題就是:我應該如何邁進這條路?

要知道,AI、5G、IoT的想象力相輔相成,但其中涉及太多的技術難點,並且在草創階段嚴重缺乏技術共識。比如AIoT的芯片、網絡、應用、算法,以及未來演進方向,這些在今天都充滿了不確定性,甚至自相矛盾的產業現狀。

如何讓這條未來之路真正打開呢?吸取五十年的信息技術史,我們會發現開源和技術民主,是確定行業底層技術共識的最佳途徑。

5G交融AI的智能時代,是中國和中國開發者首次完整抓住的科技產業革命,但這是機會同時也是考驗。當我們需要開源生態和社區化的長期紅利,首先要建設生態與社區。未來技術大門需要一把鑰匙去開啟,開源社區與技術生態需要第一捧泥土去堆積。

從哪開始呢?又何不從方舟開始呢?

我們知道,方舟編譯器是鴻蒙OS的重要工具,而鴻蒙OS則是面向IoT全場景生態的底層操作系統,也是AI和5G融入新硬件時代的關鍵接口。

如果我們把方舟的開源到鴻蒙的開源,看作一個長期執行、長期生態化的系統工程,就會發現華為事實上在基於剛剛發生的方舟開源,打開面向未來,中國開源社區的第一步。

方舟開源和完善,是一個不間斷的過程,是系統化的工程,也是行業紅利釋放的長期軌跡。接下來,2020年方舟編譯器將開放Java編譯器工具鏈,支持Java程序編譯;2021年方舟編譯器將開放對JavaScript語言的支持能力,可用於JS應用的編譯。

"

方舟編譯器,最近幾個月始終地處科技界熱詞的頂端。

這來自於它本身的架構級優化,也來自於其在特殊時間背景下,與鴻蒙OS的關係。此外還有一點,就是自誕生之日起,方舟編譯器就宣佈將會開源。

對於中國軟件開發者來說,開源是一個既熟悉又陌生的詞彙。熟悉的是差不多人人都用GitHub,陌生的是似乎還沒有移動端的中國底層軟件技術走向過開源之路。

在不久前的華為開發者大會上,華為給出了鴻蒙OS及方舟編譯器的開源時間表。而不到一個月,8月31日,華為方舟編譯器開源官網正式上線,框架開源代碼如約與廣大關注方舟編譯器的愛好者、開發者見面。

據悉,本次方舟編譯器的開源版本,開放了編譯器框架部分源碼,包括編譯器中間表達(IR)+語言編譯實現,開發者可以通過官方網站及代碼託管網站獲得相關代碼和文檔,供參考學習、瞭解方舟編譯器的架構和代碼。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

而向更廣闊的未來看,這次開源不僅是一種技術的外放。基於方舟編譯器,華為引領行業共同構建生態與社區,這是中國底層軟件開源之路的探索。

“方舟”和“開源”,或許有理由把這兩件事融合到一起來看。因為軟件開源與社區建設,長時間以來都被認為是中國軟件行業必須補完的關鍵環節。而方舟編譯器的戰略價值,恰好成為了一個契機與窗口。

開源是路,而方舟是匙。二者結合時,我們或許已經可以窺見中國移動產業與軟件行業的生態未來。

五十年,軟件開源史與產業洪流

想要明白方舟開源對行業的價值,必須先解釋這樣一個問題:軟件開源為什麼重要。

這個問題要回到五十年的漫長曆史中去回答。事實上,整個信息革命進程,始終伴隨著軟件開源事業的不斷髮展和深化。一部開源史,也是一部信息技術與互聯網的產業革命史。

1969年,AT&T 貝爾實驗室開發出了 UNIX。此後的10年,業界可以以低廉的成本獲取 UNIX 源代碼,並在此基礎上進行革新改進。事實上,UNIX和貝爾實驗室在當時已經打造了原始版本的開源意識和社區化思想。雖然之後AT&T出於商業考慮,停止了免費的UNIX版本更新,但軟件開發者的自由與分享意識已經覺醒。此後的計算機時代,始終伴隨著軟件工作者對開源事業的熱愛與執念。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

1984年,理查德·斯托曼發起了 GNU 項目,目標是創建一個完全自由且向下兼容 UNIX 的操作系統。次年,他圍繞GNU建立了自由軟件基金會,至此首個推廣自由軟件的民間非營利性組織誕生,為軟件行業正式啟動開源工作奠定了基礎。

1991年,影響至今的Linux 內核誕生。事實上,大名鼎鼎的Linux在當時採用了GNU的系統軟件集,可以說是對GNU項目的發展和繼承。Linux內核很快也被開源了出來,其開發生態直接影響了互聯網產業的進程。

我們耳熟能詳的安卓,就是採用Linux 內核編寫的移動端操作系統。而安卓的開源與生態化建設,直接造就了繁盛的移動互聯網和智能手機時代。相比於iOS的封閉,安卓的開源雖然有很多問題,但它的高開放度、低門檻,也帶來了行業普惠價值,以及極強的成長空間。

而開源之路並沒有就此終止,2008年大名鼎鼎的 GitHub 發佈。這一平臺的價值在於,它是一個開源的分佈式軟件版本控制系統,各種開源項目都可以在平臺上進行公開公平的軟件開源,從而與全世界開發者共同打造更優軟件體驗。如今GitHub已經成為了被廣泛認可的開源民主化平臺,其社區生態影響著全球各領域的軟件開放進程。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

回顧五十年的開源史,我們會發現開源平臺與技術,是在時代需要與前輩技術基礎上逐步發展起來的。而更優質、更徹底、更自由的底層軟件開源,並不會降低一家公司的競爭力。相反這可以推動行業共識和生態繁榮,用所有開發者的智慧共同做大技術紅利。

所以,開源史帶給世界的結論,是平臺化技術的開源是長期紅利的基礎,是產業繁榮的先導。不斷適應時代需求的開源技術與開源社區生態,是疊層築造的軟件高塔。在這座高塔之上,軟件用全球開發者的智慧讓自己變得更好,再反哺世界科技的發展。

生態開源的底層模式、技術民主化,以及貢獻越大話語權越大的社區機制,用五十年時間奠定了軟件產業持續進化的基礎能力與全球產業共識。遺憾的是,這場宏偉變革中中國軟件人更多處在應用者與學習者,而非變革推動者的角色。

當然,這一境況若干年來正在發生變化。比如華為等中國公司正在持續擁抱開源事業。目前華為在有重大國際影響力的開源社區中擁有十多個董事席位,及200多個TSC、PTL、Core Committer席位。作為Linux基金會白金成員,華為對Linux kernel累計貢獻6800+補丁,是TOP 5中唯一的亞洲廠商。

在開源事業中不斷積累的華為,今天準備在移動生態這片軟件沃土上,開啟由中國科技公司主導的開源平臺建設。

歷史的時針,或許就此撥動。

今日,方舟的船舵

從歷史中回看,底層軟件開源之路帶來的行業紅利,主要由這樣的模式產生:軟件本身具有極大應用價值,開源後各廠商與開發者可以獲得直接效用;而廣大開發者反過來重新思考、雕琢和優化這一軟件,匯聚而成開源社區。這個社區既是底層技術的不斷優化,也是產業共識的自然建立。

而方舟編譯器的開源,顯然滿足這一邏輯的基礎。

對於廣大APP廠商、軟件開發者、互聯網企業來說,對方舟編譯器的理解和應用可以帶來核心價值,即對自身應用體驗的直接提升。而向長遠角度看,方舟編譯器背後的技術思路與生態價值,更是對行業具有長線推動作用。

這次開源的方舟編譯器框架代碼,可以完成Java靜態編譯,包括類層次關係分析、虛方法表和接口表的生成、native函數的處理等,以及基於引用計數的內存管理方式,提供樸素的RC插入功能。

這一階段的框架開源,主要滿足編譯器領域專家及愛好者研究學習的需要,同時華為將繼續優化其他編譯器組件,以便讓源代碼更適應開源社區的開發環境。同時,開發者可通過代碼託管平臺參與社區貢獻,包括文檔貢獻和代碼貢獻,同時也可在此平臺上反饋相關問題和需求。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

從近到遠,我們可以看到方舟編譯器開源,到相關社區與貢獻制度建立,對於整個軟件行業來說具備三重價值:

1、開發者可以通過加強對方舟編譯器的理解,加強自身產業競爭力。

方舟編譯器具備多語言聯合優化能力、高效的內存回收機制、靈活的編譯優化方式和極低的學習使用成本等特點。如今方舟編譯器已經在產業合作中,廣泛滲透到各APP開發領域,成為用戶體驗提升的新技術撬點。而方舟開源本身,對於這些APP開發者以及移動應用開發行業來說,是通過提升理解,加強自身產業與方舟編譯器耦合的機會。在同質化競爭激烈的移動互聯網產業,這也是差異化競爭力的又一來源。

2、理解跨語言編譯機制,提升自身業務能力和麵向未來的移動端編程能力。

方舟編譯器本身是一種新的編譯機制,尤其具備跨語言編程的能力。這在極大程度上是對現行編程基礎的一次優化與提升。業內人士都知道,跨語言編譯雖然已經成為行業主流,但卻存在大量痛點。比如JNI和反射機制開銷巨大;Java代碼和C/C++代碼互相不可見;跨語言的全程序優化無法實施等等。

此次開源的方舟編譯器框架代碼,包括編譯器中間表示(IR)和語言編譯實現。開發者可基於開源代碼+二進制,編譯構建出編譯器工具鏈,嘗試對Java程序進行編譯。如此,開發者可以通過熟悉方舟編譯器的架構思想,提升自身在跨語言編程領域的業務能力和理解水準——通過對方舟的“拆招解式”,實現行業基礎軟件水準的共同進步。

3、參與方舟生態建立,在成長的開源環境中獲得長期紅利。

編譯器是個龐大的軟件工程,需要建立生態逐步完善。而對於軟件開發者、高校研究者和終端廠商來說,此時方舟開源推動建立的開源社區,可以說是中國移動軟件開源社區的基礎,是尋求未來產業共識的良好平臺。此時加入,不僅可以短期加強業務競爭力,更有助於通過長期貢獻,積累未來社區中的話語權。方舟編譯器的陸續開源進程中,將通過建立託管平臺,實行按貢獻大小決定話語權、走向開放治理機制,最終形成社區生態。這是中國終端軟件的一次全新嘗試,無論是補完產業鏈,還是走向未來,都將源源不斷激發技術與社區紅利。這些紅利將長期釋放給行業和開發者生態,尤其對於早期參與者和積極貢獻者來說。

就像很多偉大的底層技術一樣,方舟編譯器也會開源開放給所有聰明的大腦。而開發者在此刻擁抱方舟時,一定會注意這樣一件事:這艘方舟,正航向哪裡?

路與遠方

移動時代之後,科技產業的下一個時代從何而來?我想現在這個問題應該已經具備了初步共識:5G提升聯接能力;AI改變交互;IoT設備作為硬件形態,共同編織成了下一個時代。

而對於軟件和移動產業來說,今天最關鍵的問題就是:我應該如何邁進這條路?

要知道,AI、5G、IoT的想象力相輔相成,但其中涉及太多的技術難點,並且在草創階段嚴重缺乏技術共識。比如AIoT的芯片、網絡、應用、算法,以及未來演進方向,這些在今天都充滿了不確定性,甚至自相矛盾的產業現狀。

如何讓這條未來之路真正打開呢?吸取五十年的信息技術史,我們會發現開源和技術民主,是確定行業底層技術共識的最佳途徑。

5G交融AI的智能時代,是中國和中國開發者首次完整抓住的科技產業革命,但這是機會同時也是考驗。當我們需要開源生態和社區化的長期紅利,首先要建設生態與社區。未來技術大門需要一把鑰匙去開啟,開源社區與技術生態需要第一捧泥土去堆積。

從哪開始呢?又何不從方舟開始呢?

我們知道,方舟編譯器是鴻蒙OS的重要工具,而鴻蒙OS則是面向IoT全場景生態的底層操作系統,也是AI和5G融入新硬件時代的關鍵接口。

如果我們把方舟的開源到鴻蒙的開源,看作一個長期執行、長期生態化的系統工程,就會發現華為事實上在基於剛剛發生的方舟開源,打開面向未來,中國開源社區的第一步。

方舟開源和完善,是一個不間斷的過程,是系統化的工程,也是行業紅利釋放的長期軌跡。接下來,2020年方舟編譯器將開放Java編譯器工具鏈,支持Java程序編譯;2021年方舟編譯器將開放對JavaScript語言的支持能力,可用於JS應用的編譯。

路與遠方:從方舟開源,說到中國軟件行業的生態未來

同期,鴻蒙OS的開源工作也將陸續展開,華為將把軟件方面的技術能力在社區中不斷貢獻給行業,與行業一起探尋更好的、更符合時代需求的軟件技術。

沿著這條路徑,我們已經可以在今天想象很多事,比如基於AIoT邏輯的殺手級應用和明星公司成長起來;比如IoT產業迎來大量共識,快速提高產業效率;比如軟件開發行業普遍效率得到提升,將有更多創造性思維與人才聚集到軟件中來。

未來還長,但鑰匙已在手中。過去,當我們追問中國軟件產業,為什麼總是追隨者而不是創造者的時候,其實很多時候答案很簡單,因為沒有人踏出第一步,沒有人選擇最苦最累的工作完成,沒有開源開放的共識與思維。

而如今,很多事情已經改變。從方舟到開源,從開源到生態——鴻蒙已開,春來草自青。

"

相關推薦

推薦中...