0
雷鋒網(wǎng) AI 開發(fā)者按:近日,阿里巴巴開源技術委員會負責人、Caffe 之父賈揚清發(fā)布了一封給千萬開源人的感謝信,并首次公開開源 10 年全景圖。
在這封感謝信里,賈揚清向我們講述了過去阿里開源之路是如何開始的,未來阿里的開源之路將會走向何方,以及阿里開源貢獻更多技術、分享更多理念的期待。
來源:百度
一直以來,阿里巴巴在開源方面非常重視,它既是 apache 基金會成員、Linux 基金會成員,同時也是 Xen 顧問委員會成員。在全球最大的開源社區(qū) GitHub 中,阿里巴巴的企業(yè)貢獻總榜排名位居第 12 位,在中國企業(yè)的貢獻排名位居榜首。目前,其開源項目已經(jīng)超過 1700 個,Star 數(shù)超 75 萬,貢獻者的數(shù)量已突破 2 萬人。
阿里開源貢獻度排在第十二位,top3 倉庫分別是 flutter-go、nacos 和 sqlflow 數(shù)據(jù)來源:https://www.gharchive.org
與此同時,在今年年初 InfoQ 統(tǒng)計的國內(nèi)在 GitHub 上較活躍的 7 家一線互聯(lián)網(wǎng)公司的 2800 多個項目顯示,在 Star 數(shù)最多的項目前十名中,六個項目均由阿里巴巴貢獻,所有項目的 Star 數(shù)超過 66w。
開源軟件不僅影響了企業(yè)的發(fā)展方向,同時開源能力也漸漸成為企業(yè)技術實力的象征之一。
阿里對社區(qū)開源的巨大貢獻不光表現(xiàn)在開源項目上,也表現(xiàn)在企業(yè)發(fā)展計劃中。其開源技術委員會負責人賈揚清在采訪中表示,將開源升級為集團技術戰(zhàn)略之一。
來源:阿里巴巴
他指出,過去,這些開源項目的成長更多是依靠阿里巴巴內(nèi)部員工與開源社區(qū)的溝通和交流;如今,阿里意識到這不能僅僅依靠開發(fā)者的一腔熱血,而需要一套成熟的方法論幫助開發(fā)者更多地參與開源、貢獻開源,并從組織上提供一系列支持與保障,這就是阿里巴巴成立開源委員會的初心。
除此之外,阿里內(nèi)部同時形成的還有由委員會成員、開源技術專家組、開源辦公室、開源布道師等組成的開源技術委員會格局。其中,全球頂級開源社區(qū) CNCF 首位中國委員李響,Ant Design 項目的核心推動者玉伯,F(xiàn)astJson 和 Druid 項目的維護者高鐵等多位開源專家均在此列。
在賈揚清的感謝信中,也附上了阿里巴巴過去十年的開源小結,其項目涵蓋了:大數(shù)據(jù)、云原生、AI、數(shù)據(jù)庫、中間件、硬件等多個領域的開源成果。不光內(nèi)容覆蓋完整,同時也引領了國內(nèi)開源潮流。
阿里巴巴過去十年的開源小結 來源:阿里巴巴
僅僅回顧 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 大會上公布了新版本大數(shù)據(jù)處理引擎 Apache Flink 的部分信息,持續(xù)增加著對社區(qū)的貢獻。
據(jù)官方介紹,新的 Flink 1.10 版本已經(jīng)融入了基于 Flink 搭建的阿里巴巴內(nèi)部自用的實時計算平臺 Blink 的全部功能,預計將于不久后正式發(fā)布。
相關地址:
除了 AI 相關的項目,阿里在芯片、物聯(lián)網(wǎng)、云計算、硬件、微服務框架、數(shù)據(jù)庫等方面,也有眾多極具代表性的開源項目。例如:
物聯(lián) MCU 芯片平臺-無劍 100 Open https://github.com/T-thread-Semi/wujian100_open
自研開源緩存服務中間件 Tair https://github.com/alibaba/tair
微服務框架 SOFAStack https://github.com/sofastack
分布式數(shù)據(jù)庫 OceanBase https://github.com/alibaba/oceanbase
......
同時,在 2020 年之初,阿里巴巴宣布將「浸沒式液冷數(shù)據(jù)中心技術規(guī)范」硬件項目向全社會開放。該項技術,不僅具有熱轉(zhuǎn)化率高的優(yōu)點,還具備節(jié)能、高密度、穩(wěn)定性等方面的優(yōu)勢。初步預測,結合中國整個數(shù)據(jù)中心的用電量 1609 億度計算,如果全用液冷替代則可以降低到 968 億度,節(jié)能效果非常顯著。
來源:阿里巴巴
目前,根據(jù) Github 開源社區(qū)的數(shù)據(jù)顯示,以下 6 個阿里巴巴的項目獲得了較高的喜愛與關注度:
Fastjson ?star 20.5k ?fork 5.5k
一個 Java 庫,可用于將 Java 對象轉(zhuǎn)換為其 JSON 表示形式。它還可以用于將 JSON 字符串轉(zhuǎn)換為等效的 Java 對象。Fastjson 可以與任意 Java 對象一起使用,包括開發(fā)者沒有源代碼的現(xiàn)有對象。
druid star 20.1k fork?6.8k
阿里巴巴開源的數(shù)據(jù)庫連接池項目,是 Java 語言中很不錯的數(shù)據(jù)庫連接池。Druid 連接池針對監(jiān)控而研發(fā),能夠提供較強的監(jiān)控和擴展功能,監(jiān)控特性不影響性能。它能防止 SQL 注入,內(nèi)置 Loging 能診斷 Hack 應用行為。
p3c Star20.1k ?Fork5k
該項目包含了《阿里巴巴 Java 編碼指南》、pmd 實現(xiàn)以及 IDE 插件相關內(nèi)容。其中,指南整合了阿里巴巴集團技術團隊多年來的最佳編程實踐。隨著開發(fā)者鼓勵重用和更好地理解彼此的程序,大量的 Java 編程團隊對項目之間的代碼質(zhì)量提出了苛刻的要求。該指南旨在解決實操中所遇到的編程問題,例如:容易遭受攻擊的缺陷數(shù)據(jù)庫表結構和索引設計、難以維護的混亂代碼結構等。
ARouter ?Star11.4k ?Fork1.9k
用于協(xié)助 Android 組件化改造的路由框架??赏ㄟ^路由進行界面跳轉(zhuǎn),在模塊化的項目中,解決因模塊互相依賴沖突而界面互相無法跳轉(zhuǎn)的問題。使用 ARouter 進行跳轉(zhuǎn),兩個 library 互相不依賴,也可以相互跳轉(zhuǎn)。
arthas Star19.2k ?Fork4.1k
阿里巴巴開源的 Java 診斷工具,允許開發(fā)人員解決 Java 應用程序的生產(chǎn)問題,而無需修改代碼或重新啟動服務器。開發(fā)人員可以即時解決生產(chǎn)問題,而無需重新啟動 JVM,也沒有其他代碼更改,從而提高開發(fā)者的工作效率。
ICE Star14.5k ?Fork1.7k
簡單友好的前端研發(fā)體系,具有可視化開發(fā)(通過 IDE 簡化前端工程復雜度,同時通過適配器可接收不同的項目工程進行可視化管理,定制專屬的前端工作臺)、豐富的物料(基于物料拼裝提高項目開發(fā)效率,同時提供豐富的 React / Vue 物料)高帽最佳實踐、自定義物料等特性。
來源:阿里巴巴
可以看到的是,對于國內(nèi)開源領域來說,2019 年是欣欣向榮的一年。GitHub 年度報告顯示,無論是貢獻者數(shù)量還是代碼貢獻量,來自中國的開發(fā)者都是排在第二,這表明中國的開發(fā)者及企業(yè)正在全球開源中發(fā)揮著越來越重要的作用。
在賈揚清的信中也提到,開源已成為中國技術的一張亮眼國際名片。同時,他也表示,開源現(xiàn)在已經(jīng)成為了在互聯(lián)網(wǎng)時代最好的大規(guī)模協(xié)作方式,,也創(chuàng)造了技術最大的公約數(shù)。
盡管時下開源已經(jīng)成為一種潮流,但反觀十年前,開源之路并非一帆風順。2010 年夏天,阿里工程師在杭州開源了第一個項目 Dubbo。正如賈揚清在感謝信中所述,「當我們回想起為什么做開源的時候,也許理由都沒有那么的高大上:也許就是單純想分享一下代碼,也許就是覺得社區(qū)很有意思,甚至也許不知道什么原因,代碼放出去了,有人用了,于是我們開始開心地找同路人。」
之后的 11、12 年期間,Dubbo 的用戶越來越多,F(xiàn)astjson 正式開源,開始基于 Hadoop 和 HBase 構建大數(shù)據(jù)體系。再后來,一些不錯的開源項目,例如 Druid、Sea.js、Arale 等也不斷實現(xiàn)了開源。
來源:百度
看起來阿里云的開源工作勢頭很好,可阿里云整個部門卻并不順利。而一系列的社會變動,使得阿里不得不開始不斷尋求變革,這也導致開源團隊產(chǎn)生了大量的人員調(diào)動,這些變動讓很多開源項目的維護人員發(fā)生變化,有的項目在這個過程中進展緩慢,有些則停滯不前。
但「念念不忘,必有回響」;盡管公司的大方向有了變動,可依舊有那么幾個人選擇堅守在開源一線,于是有了后來的 Flink 項目、《Java 開發(fā)手冊》、Blink。再之后,慢慢也有了更多人加入開源社區(qū),這條路漸漸愈發(fā)明朗。
這恰恰驗證了賈揚清在感謝信中所表達的,社區(qū)是開源協(xié)作精神與創(chuàng)新的搖籃;也如整個開源團隊所總結的那樣:開源這條路,一個人走得很好,一群人可以走的很遠,必須依靠社區(qū)的力量共同維護。
而今,開源已經(jīng)成為了幾乎所有開發(fā)者的共同心愿,開放源代碼保留了用戶最大的自由,并且為用戶保留了戰(zhàn)略上的靈活性。在不違反相關許可證的條件下,個人、公司對開源代碼加以定制,變身為產(chǎn)品或解決方案;而這些解決方案往往又會反哺開源的發(fā)展。
毫無疑問,開源是一個雙贏的良性循環(huán);這也許就是為什么賈揚清在感謝信的最后,再次向廣大的開發(fā)者們呼吁:「開源是開發(fā)者最大的同心圓,未來,我們希望與更多開源人一起,用技術普惠世界?!?/p>
附上賈揚清感謝信全文內(nèi)容:
雷鋒網(wǎng) AI 開發(fā)者 雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。