0
雷鋒網 AI 開發者按:近日,阿里巴巴開源技術委員會負責人、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 的全部功能,預計將于不久后正式發布。
相關地址:
除了 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 對象一起使用,包括開發者沒有源代碼的現有對象。
druid star 20.1k fork?6.8k
阿里巴巴開源的數據庫連接池項目,是 Java 語言中很不錯的數據庫連接池。Druid 連接池針對監控而研發,能夠提供較強的監控和擴展功能,監控特性不影響性能。它能防止 SQL 注入,內置 Loging 能診斷 Hack 應用行為。
p3c Star20.1k ?Fork5k
該項目包含了《阿里巴巴 Java 編碼指南》、pmd 實現以及 IDE 插件相關內容。其中,指南整合了阿里巴巴集團技術團隊多年來的最佳編程實踐。隨著開發者鼓勵重用和更好地理解彼此的程序,大量的 Java 編程團隊對項目之間的代碼質量提出了苛刻的要求。該指南旨在解決實操中所遇到的編程問題,例如:容易遭受攻擊的缺陷數據庫表結構和索引設計、難以維護的混亂代碼結構等。
ARouter ?Star11.4k ?Fork1.9k
用于協助 Android 組件化改造的路由框架。可通過路由進行界面跳轉,在模塊化的項目中,解決因模塊互相依賴沖突而界面互相無法跳轉的問題。使用 ARouter 進行跳轉,兩個 library 互相不依賴,也可以相互跳轉。
arthas Star19.2k ?Fork4.1k
阿里巴巴開源的 Java 診斷工具,允許開發人員解決 Java 應用程序的生產問題,而無需修改代碼或重新啟動服務器。開發人員可以即時解決生產問題,而無需重新啟動 JVM,也沒有其他代碼更改,從而提高開發者的工作效率。
ICE Star14.5k ?Fork1.7k
簡單友好的前端研發體系,具有可視化開發(通過 IDE 簡化前端工程復雜度,同時通過適配器可接收不同的項目工程進行可視化管理,定制專屬的前端工作臺)、豐富的物料(基于物料拼裝提高項目開發效率,同時提供豐富的 React / Vue 物料)高帽最佳實踐、自定義物料等特性。

來源:阿里巴巴
可以看到的是,對于國內開源領域來說,2019 年是欣欣向榮的一年。GitHub 年度報告顯示,無論是貢獻者數量還是代碼貢獻量,來自中國的開發者都是排在第二,這表明中國的開發者及企業正在全球開源中發揮著越來越重要的作用。
在賈揚清的信中也提到,開源已成為中國技術的一張亮眼國際名片。同時,他也表示,開源現在已經成為了在互聯網時代最好的大規模協作方式,,也創造了技術最大的公約數。
盡管時下開源已經成為一種潮流,但反觀十年前,開源之路并非一帆風順。2010 年夏天,阿里工程師在杭州開源了第一個項目 Dubbo。正如賈揚清在感謝信中所述,「當我們回想起為什么做開源的時候,也許理由都沒有那么的高大上:也許就是單純想分享一下代碼,也許就是覺得社區很有意思,甚至也許不知道什么原因,代碼放出去了,有人用了,于是我們開始開心地找同路人。」
之后的 11、12 年期間,Dubbo 的用戶越來越多,Fastjson 正式開源,開始基于 Hadoop 和 HBase 構建大數據體系。再后來,一些不錯的開源項目,例如 Druid、Sea.js、Arale 等也不斷實現了開源。

來源:百度
看起來阿里云的開源工作勢頭很好,可阿里云整個部門卻并不順利。而一系列的社會變動,使得阿里不得不開始不斷尋求變革,這也導致開源團隊產生了大量的人員調動,這些變動讓很多開源項目的維護人員發生變化,有的項目在這個過程中進展緩慢,有些則停滯不前。
但「念念不忘,必有回響」;盡管公司的大方向有了變動,可依舊有那么幾個人選擇堅守在開源一線,于是有了后來的 Flink 項目、《Java 開發手冊》、Blink。再之后,慢慢也有了更多人加入開源社區,這條路漸漸愈發明朗。
這恰恰驗證了賈揚清在感謝信中所表達的,社區是開源協作精神與創新的搖籃;也如整個開源團隊所總結的那樣:開源這條路,一個人走得很好,一群人可以走的很遠,必須依靠社區的力量共同維護。
而今,開源已經成為了幾乎所有開發者的共同心愿,開放源代碼保留了用戶最大的自由,并且為用戶保留了戰略上的靈活性。在不違反相關許可證的條件下,個人、公司對開源代碼加以定制,變身為產品或解決方案;而這些解決方案往往又會反哺開源的發展。
毫無疑問,開源是一個雙贏的良性循環;這也許就是為什么賈揚清在感謝信的最后,再次向廣大的開發者們呼吁:「開源是開發者最大的同心圓,未來,我們希望與更多開源人一起,用技術普惠世界。」
附上賈揚清感謝信全文內容:




雷鋒網 AI 開發者 雷鋒網
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。