阿里 10 年風雨開源路,致敬所有開源人

ai學習社 發佈 2020-01-21T15:57:15+00:00

在全球最大的開源社區GitHub 中,阿里巴巴的企業貢獻總榜排名位居第 12 位,在中國企業的貢獻排名位居榜首。

近日,阿里巴巴開源技術委員會負責人、Caffe 之父賈揚清發布了一封給千萬開源人的感謝信,並首次公開開源 10 年全景圖。

在這封感謝信里,賈揚清向我們講述了過去阿里開源之路是如何開始的,未來阿里的開源之路將會走向何方,以及阿里開源貢獻更多技術、分享更多理念的期待。

來源:百度

阿里開源那些事

一直以來,阿里巴巴在開源方面非常重視,它既是 apache 基金會成員、Linux 基金會成員,同時也是 Xen 顧問委員會成員。在全球最大的開源社區 GitHub 中,阿里巴巴的企業貢獻總榜排名位居第 12 位,在中國企業的貢獻排名位居榜首。目前,其開源項目已經超過 1700 個,Star 數超 75 萬,貢獻者的數量已突破 2 萬人。

阿里開源貢獻度排在第十二位,top3 倉庫分別是 flutter-go、nacos 和 sqlflow 數據來源:https://www.gharchive.org

與此同時,在今年年初 InfoQ 統計的國內在 GitHub 上較活躍的 7 家一線網際網路公司的 2800 多個項目顯示,在 Star 數最多的項目前十名中,六個項目均由阿里巴巴貢獻,所有項目的 Star 數超過 66w。

開源軟體不僅影響了企業的發展方向,同時開源能力也漸漸成為企業技術實力的象徵之一。

阿里對社區開源的巨大貢獻不光表現在開源項目上,也表現在企業發展計劃中。其開源技術委員會負責人賈揚清在採訪中表示,將開源升級為集團技術戰略之一。

來源:阿里巴巴

他指出,過去,這些開源項目的成長更多是依靠阿里巴巴內部員工與開源社區的溝通和交流;如今,阿里意識到這不能僅僅依靠開發者的一腔熱血,而需要一套成熟的方法論幫助開發者更多地參與開源、貢獻開源,並從組織上提供一系列支持與保障,這就是阿里巴巴成立開源委員會的初心。

除此之外,阿里內部同時形成的還有由委員會成員、開源技術專家組、開源辦公室、開源布道師等組成的開源技術委員會格局。其中,全球頂級開源社區 CNCF 首位中國委員李響,Ant Design 項目的核心推動者玉伯,FastJson 和 Druid 項目的維護者高鐵等多位開源專家均在此列。

開源盤點與展示

在賈揚清的感謝信中,也附上了阿里巴巴過去十年的開源小結,其項目涵蓋了:大數據、雲原生、AI、資料庫、中間件、硬體等多個領域的開源成果。不光內容覆蓋完整,同時也引領了國內開源潮流。

阿里巴巴過去十年的開源小結 來源:阿里巴巴

僅僅回顧 2019 年,阿里巴巴在這一年裡也開源了不少讓人印象深刻的項目。包括:

  • 首款自研科學計算引擎 Mars https://github.com/mars-project/mars
  • 新一代人機對話模型 ESIM https://github.com/alibaba/esim-response-selection
  • 容器鏡像大批量遷移工具 image-syncer https://github.com/AliyunContainerService/image-syncer
  • ......

同時,阿里還開源了位居 Apache 項目中前三的核心項目——Blink、Alink 機器學習平台,並在 Flink Forward Asia 2019 大會上公布了新版本大數據處理引擎 Apache Flink 的部分信息,持續增加著對社區的貢獻。

據官方介紹,新的 Flink 1.10 版本已經融入了基於 Flink 搭建的阿里巴巴內部自用的實時計算平台 Blink 的全部功能,預計將於不久後正式發布。

相關地址:

https://github.com/alibaba/Alink

https://github.com/apache/flink

除了 AI 相關的項目,阿里在晶片、物聯網、雲計算、硬體、微服務框架、資料庫等方面,也有眾多極具代表性的開源項目。例如:

  • 物聯 MCU 晶片平台-無劍 100 Open https://github.com/T-thread-Semi/wujian100_open
  • 自研開源緩存服務中間件 Tair https://github.com/alibaba/tair
  • 微服務框架 SOFAStack https://github.com/sofastack
  • 分布式資料庫 OceanBase https://github.com/alibaba/oceanbase
  • ......

同時,在 2020 年之初,阿里巴巴宣布將「浸沒式液冷數據中心技術規範」硬體項目向全社會開放。該項技術,不僅具有熱轉化率高的優點,還具備節能、高密度、穩定性等方面的優勢。初步預測,結合中國整個數據中心的用電量 1609 億度計算,如果全用液冷替代則可以降低到 968 億度,節能效果非常顯著。

來源:阿里巴巴

目前,根據 Github 開源社區的數據顯示,以下 6 個阿里巴巴的項目獲得了較高的喜愛與關注度:

  • Fastjson  star 20.5k  fork 5.5k

一個 Java 庫,可用於將 Java 對象轉換為其 JSON 表示形式。它還可以用於將 JSON 字符串轉換為等效的 Java 對象。Fastjson 可以與任意 Java 對象一起使用,包括開發者沒有原始碼的現有對象。

項目地址:https://github.com/alibaba/fastjson

  • druid star 20.1k fork 6.8k

阿里巴巴開源的資料庫連接池項目,是 Java 語言中很不錯的資料庫連接池。Druid 連接池針對監控而研發,能夠提供較強的監控和擴展功能,監控特性不影響性能。它能防止 SQL 注入,內置 Loging 能診斷 Hack 應用行為。

項目地址:https://github.com/alibaba/druid

  • p3c Star20.1k  Fork5k

該項目包含了《阿里巴巴 Java 編碼指南》、pmd 實現以及 IDE 插件相關內容。其中,指南整合了阿里巴巴集團技術團隊多年來的最佳編程實踐。隨著開發者鼓勵重用和更好地理解彼此的程序,大量的 Java 編程團隊對項目之間的代碼質量提出了苛刻的要求。該指南旨在解決實操中所遇到的編程問題,例如:容易遭受攻擊的缺陷資料庫表結構和索引設計、難以維護的混亂代碼結構等。

項目地址:https://github.com/alibaba/p3c

  • ARouter  Star11.4k  Fork1.9k

用於協助 Android 組件化改造的路由框架。可通過路由進行介面跳轉,在模塊化的項目中,解決因模塊互相依賴衝突而介面互相無法跳轉的問題。使用 ARouter 進行跳轉,兩個 library 互相不依賴,也可以相互跳轉。

項目地址:https://github.com/alibaba/ARouter

  • arthas Star19.2k  Fork4.1k

阿里巴巴開源的 Java 診斷工具,允許開發人員解決 Java 應用程式的生產問題,而無需修改代碼或重新啟動伺服器。開發人員可以即時解決生產問題,而無需重新啟動 JVM,也沒有其他代碼更改,從而提高開發者的工作效率。

項目地址:https://github.com/alibaba/arthas

  • ICE Star14.5k  Fork1.7k

簡單友好的前端研發體系,具有可視化開發(通過 IDE 簡化前端工程複雜度,同時通過適配器可接收不同的項目工程進行可視化管理,定製專屬的前端工作檯)、豐富的物料(基於物料拼裝提高項目開發效率,同時提供豐富的 React / Vue 物料)高帽最佳實踐、自定義物料等特性。

項目地址:https://github.com/alibaba/ice

來源:阿里巴巴

漫漫開源再 10 年

可以看到的是,對於國內開源領域來說,2019 年是欣欣向榮的一年。GitHub 年度報告顯示,無論是貢獻者數量還是代碼貢獻量,來自中國的開發者都是排在第二,這表明中國的開發者及企業正在全球開源中發揮著越來越重要的作用。

在賈揚清的信中也提到,開源已成為中國技術的一張亮眼國際名片。同時,他也表示,開源現在已經成為了在網際網路時代最好的大規模協作方式,,也創造了技術最大的公約數。

儘管時下開源已經成為一種潮流,但反觀十年前,開源之路並非一帆風順。2010 年夏天,阿里工程師在杭州開源了第一個項目 Dubbo。正如賈揚清在感謝信中所述,「當我們回想起為什麼做開源的時候,也許理由都沒有那麼的高大上:也許就是單純想分享一下代碼,也許就是覺得社區很有意思,甚至也許不知道什麼原因,代碼放出去了,有人用了,於是我們開始開心地找同路人。」

之後的 11、12 年期間,Dubbo 的用戶越來越多,Fastjson 正式開源,開始基於 Hadoop 和 HBase 構建大數據體系。再後來,一些不錯的開源項目,例如 Druid、Sea.js、Arale 等也不斷實現了開源。

來源:百度

看起來阿里雲的開源工作勢頭很好,可阿里雲整個部門卻並不順利。而一系列的社會變動,使得阿里不得不開始不斷尋求變革,這也導致開源團隊產生了大量的人員調動,這些變動讓很多開源項目的維護人員發生變化,有的項目在這個過程中進展緩慢,有些則停滯不前。

但「念念不忘,必有迴響」;儘管公司的大方向有了變動,可依舊有那麼幾個人選擇堅守在開源一線,於是有了後來的 Flink 項目、《Java 開發手冊》、Blink。再之後,慢慢也有了更多人加入開源社區,這條路漸漸愈發明朗。

這恰恰驗證了賈揚清在感謝信中所表達的,社區是開源協作精神與創新的搖籃;也如整個開源團隊所總結的那樣:開源這條路,一個人走得很好,一群人可以走的很遠,必須依靠社區的力量共同維護。

而今,開源已經成為了幾乎所有開發者的共同心愿,開放原始碼保留了用戶最大的自由,並且為用戶保留了戰略上的靈活性。在不違反相關許可證的條件下,個人、公司對開原始碼加以定製,變身為產品或解決方案;而這些解決方案往往又會反哺開源的發展。

毫無疑問,開源是一個雙贏的良性循環;這也許就是為什麼賈揚清在感謝信的最後,再次向廣大的開發者們呼籲:「開源是開發者最大的同心圓,未來,我們希望與更多開源人一起,用技術普惠世界。」

附上賈揚清感謝信全文內容:

關鍵字: