7 月 15 日,由中國開源軟體推進聯盟(COPU)主辦,賽迪傳媒、《軟體和集成電路》雜誌社聯合承辦,CSDN 獨家直播的 2020 第十五屆「開源中國開源世界」高峰論壇在線上盛大召開。
在開源軟體技術及應用上擁有近 30 年經驗的微軟 Azure CTO 辦公室首席項目總監 Stephen R. Walli 深入談起了微軟開源文化的演進,並分享了 GitHub 這兩年來的巨大成長。今天,開發者們生活在一個開源的世界裡,一直都在使用、喜愛開源。而微軟為開發者所有,由其治理並為其服務,這是創始人(比爾·蓋茨和 Paul Allen)的初衷。
在被微軟收購後,GitHub 的使命依然是為開發者構建全球協作的平臺,微軟只是為一家活躍的成長中的矽谷獨角獸公司提供穩定性。在 2020 年,GitHub 上的開發者總數增長至 5000 萬,80% 的用戶及貢獻者來自於美國之外,其中以中國最多。中國在 GitHub 上是一個令人難以置信的充滿活力的成長社區,在中國的註冊數量正在持續快速增長,在過去一年裡增長了 37%。
以下為 Stephen R. Walli 的演講實錄:
大家好,我是微軟 Azure CTO 辦公室首席項目總監 Stephen R. Walli,很高興也很榮幸能夠再次和大家交流,兩年前我就曾與大家一起交流過微軟開源文化的演變,當時還剛剛發布微軟收購 GitHub 的信息。
我努力把重點放在是文化而非策略這個觀點上。我曾想回到這樣一種觀點,即微軟由開發者所有,由其治理並為其服務,這是創始人(比爾·蓋茨和 Paul Allen)的初衷。當然,我們的第一任 CEO 本身就是開發者,現任 CEO 也是一位開發者。
我想通過這個故事來幫助大家理解,在這個歷史節點上,開發者一直都在使用開源,所有的工具、工具鏈,開發者就是生活在一個開源的世界裡。
開發者喜歡開源,而微軟由開發者所有,由其治理並為其服務,在我們變得更好之前,我們明白如何參與到開源的世界之前,這只是時間問題。在我們明白如何參與到開源的世界之後不久,也就是兩年前,微軟加入了開放創新網絡 OIN,也加入了 LOT Network,這是兩個專利持有組織,旨在保護其關心的開源社區。
最近的一些事情再次證明了微軟支持開源軟體的文化態度,Brad Smith 是我們的總顧問,也是我們微軟的總裁,而且在過去 20 年裡,他一直擔任法律總顧問,Brad 承認了 20 年前公司在開源軟體方面站在了歷史潮流的對立面。不過,正如他所說,好消息是生命足夠長,你可以學習,你也需要改變,我非常喜歡這句話。
The good news is that life is long enough, you can learn...that you need to change.
所以今天,在這個簡短的介紹之後,我想接著和大家談談,微軟正在持續發展自己的開源文化。我想從以下三個方面進行討論:
風靡的 Kubernetes
首先,我們來說說 Kubernetes 和 AKS。今天,所有人都在運行容器化應用程式。據 Gartner 預測,到 2022 年,全球超過 75% 的組織將運行容器化應用和生產。
Kubernetes 是容器編排(Container Orchestration)的核心,它是一個非常成功的開源軟體項目社區,無論衡量方式如何,Kubernetes 都是 GitHub 頭號項目。
Kubernetes 已經發展幾年,微軟也成為該社區一部分好幾年了,我們是雲原生計算機基金會的鉑金會員,Kubernetes 是 Linux 基金會的一部分,圍繞著支持 Kubernetes 及其相關開源項目。我們是技術監督委員會、管理委員會的一部分,也是項目內 Kubernetes 指導委員會的一部分、Linux 基金會的董事會成員。
多年來,我們一直是這個社區的一部分,也是這個社區中不斷成長的一部分。
Kubernetes 的成長令人欣喜,因為它得到了廣泛的使用,並且獨立於供應商,得到了社區支持,這個項目很順利,有眾多來自不同公司和行業的貢獻者。不僅僅是供應商在做貢獻,你可以看到許多不同的貢獻者,來自世界各地。其中一些是客戶和專家,而用戶其中一些是學者,你會發現這是一個非常活躍的社區。
同時,微軟不僅參與了 Kubernetes 開源社區項目,還繼續圍繞 Kubernetes 項目創建和參與不少其他項目,它們都與雲原生部署、雲原生應用程式打包、如何思考在 Kubernetes 上運營和管理大規模部署有關。
這些項目都是我們自己繼續發布開源許可證並圍繞這些項目建立社區的。
Kubernetes 本身仍然只是容器編排的核心項目,不能單獨使用 Kubernetes,需要向 Kubernetes 添加一些東西,才能真正為應用程式部署創建完整的平臺。
大家知道所有大型雲服務提供商都把 Kubernetes 作為一個社區中的認證平臺,然後將其引入自己的平臺,開始創造豐富的客戶體驗。它們以多種不同的方式進行,因為要增加安全性和應用程式治理,數據集治理以及身份管理平臺,大家會一直在自己的服務中的所有不同集成中看到這一點。
微軟集成 Kubernetes 的方式不同於亞馬遜將 Kubernetes 或 Google 與其 Kubernetes 產品集成的方式。
Azure 上的 Kubernetes 是第一方 Azure 服務,我們通過 AKS 來進行所有的東西,都具有面向客戶的託管服務,這些實踐為它提供了支持。涉及到圍繞它的全面企業支持的這些安全的多層次也提供了支持,並且具有完整的統一管理經驗。
開源項目是組件,公司會採用這些組件,和面向客戶的舊產品和服務,這就是企業使用開源的方式。他們希望以這種方式使用開源,回饋這些項目,以及所有為了保持項目健康活力,以供大家使用而做的改變。
GitHub 與中國
現在我想和大家談談 GitHub。
當我在兩年前發言的時候,微軟剛剛宣布一項 GitHub 交易已經完成。根據美國商業法,除了非常簡單的公開聲明,我不能再多說,聲明稱我們期待合作,這是很好的。我想和大家聊一聊這兩年來 GitHub 巨大的成長。
GitHub 的使命仍然是為開發者協作構建全球平臺,我們將 GitHub 作為其自己的組織運行。事實上,微軟只是為一家活躍的成長中矽谷獨角獸公司提供穩定性,它現已穩定下來,成為面向開發者和客戶的微軟公司的一部分。
因此,儘管我們仍在繼續運行它,GitHub 也在自行運行,它自己的部門在不斷發展壯大。
這只是一些瘋狂的數字,我不會一個一個地講,但是確實存在這種豐富的環境,在 2020 年,GitHub 上的開發者總數增長到 5000 萬,我們 80% 的用戶位於美國以外,而在排名前十的國家和地區中,美國依然是最大的市場,不過中國緊隨其後,其次是印度、英國、巴西、俄羅斯和加拿大等。
中國是 GitHub 上一個令人難以置信的充滿活力的成長社區。我們已經有超過 200 萬學生在 GitHub 上查閱和學習代碼,這對人們來說,是很好的學習體驗。我們繼續幫助滿足世界上更多開發者的需求,並向他們傳授開源知識。
我們繼續提供企業平臺,目前全球財富 50 強企業中,有 32 家企業正在 GitHub 上構建軟體,這是一個非常穩定的合作企業質量環境。
而 GitHub 在中國這兩年持續發展壯大,中國是 GitHub 在亞太地區最大的市場,也是全球第二大市場。在中國的註冊數量持續快速增長,在過去一年中增長了 37%,比美國的增長速度還要快。比如說,中國的企業雲帳戶也在持續增長。
在中國,開源本身仍然是充滿活力的技術發展機會,隨著人們繼續合作,分享工作,相互學習,GitHub 平臺仍然是實現這一目標的絕佳場所。
因此,很高興看到開源在中國的發展,看到 GitHub 在中國的連鎖反應。
來看看中國有多少人在學習開發並成為開發者,可以看到,在中國,GitHub 教育也在以 8% 的速度發展。
如何保護開源軟體供應鏈?
我想談的最後一個話題是,保護開源軟體供應鏈。全世界的人們都在關注這個領域,看到它的時候,我們都明白人們是如何考慮保護食品供應鏈的,大家知道食物來自農場,通過買家通過經銷商再到客戶手中,如果有問題,我們可以追溯回去,就像人們希望從軟體供應鏈的角度來考慮這個問題一樣。
從開源開發者把代碼放入 GitHub 存儲庫,然後,由應用程式開發者持有,用於支持公司中的終端用戶,或者用於構建產品並將其銷售給終端用戶。
同樣是這種意義上的軟體供應鏈,和我們如何追蹤問題。不幸的是,軟體供應鏈並不像食品供應鏈那樣簡單,這是因為有太多的依賴關係開始互相回滾,人們總是使用更多的組件來構建更大的組件,這些都是軟體供應鏈規則,因此當我們開始弄清楚它時,這是一個更為複雜的問題。
而當你踏入這個領域,真的就像我們一開始說的,開發者喜歡開源系統和開源開發者問題,所有在這種環境下工作的開發者都是這樣。
當遇到一個已發現的關鍵漏洞,突然之間,一個漏洞可以接觸到人們所依賴的許多不同的關鍵軟體包,所以 Visual Studio Code Atom Slack 和 Discord 會使用 Electron。
Electron 中的 CVE 影響了全世界許多用戶,但問題比這更嚴重,因為隨著軟體變得越來越複雜,越來越多的人在開源世界中工作、協作和共享,我們的依賴鏈越來越長。VS Code 依賴於 Electron,Electron 依賴於 Chromium,而並非當前版本的 Chromium,它依賴於舊版本的 Chromium,不能簡單地重新平臺化,Chromium 則依賴於 FFmpeg,奇怪的是 FFmpeg 依賴於 FreeType,繼續這樣下去,FreeType 中的漏洞可能會通過 Electron 迅速影響,然後就會看到它擴展到很多其他方面。
所以,這項工作是為了驗證,我們確實比較了解食品供應鏈是如何運作的,我們正設法把這個想法應用到軟體供應鏈上。
我們正努力通過軟體物料清單和策略來進行,這可以讓我們考慮諸如開發者、生產者身份、產品識別等因素。正是這個軟體集合,正逐步進入構建過程完整性,我們怎麼知道這來自於一個可靠的網站,但沒有經過限制和許可,我們怎麼知道這個軟體包及其所有依賴關係都正確符合其許可要求。
同樣地,創造是否意味著我作為客戶的要求,如果我是航空飛機製造商,我可能對我正在使用的軟體有非常不同的要求。
最後是材料,我們對我們創造的軟體組件有信心嗎?這是開始考慮構建材料和軟體以及如何對其應用策略的所有要素。
早期的項目之一為這裡的一些思想提供了基礎,這個項目就是 SPDX(Software Package Data Exchange),即軟體包數據交換,這個項目是 Linux 基金會旗下的項目,用於許可證合規性工作,它基本上提供了 XML 格式標記系統,可以幫助快速識別清單中軟體組件的關聯關係。
另外還有一個名為 in-toto 的開源項目,正在進行大量實驗,它真正關注的是構建完整性,以便在構建,向最終成品軟體包開放的組件時,可以在整個供應鏈中進行真正的策略追溯和證明,所以現在這個領域有很多工作要做。
我們的目的是,要在整個複雜的軟體供應鏈中,能有大家都認可的軟體物料清單,這些軟體供應鏈的不同部分連接在一起,因此組件基於組件。當有很長的依賴關係鏈時,以及各個部分如何組合在一起,實際上可以跨所有這些網絡站點進行驗證,這就是目前正在進行的工作。
這項工作引起了很多人的關注,微軟參與了這些討論,我想在不久的將來會有更多的討論,但這是一個挑戰,需要在全球範圍內很多人一起努力,我認為在接下來的幾年裡,我們會不斷加以應對,我們再次在社區中集體合作,以確保開源軟體供應鏈的安全。
總結
最後,我想給大家分享一個觀點,兩年前我和大家交流時,我從 CEO 薩提亞·納德拉那裡了解到這個觀點,通過我們的行動,最近採取的行動、以及今天和未來的行動來判斷我們。我想請大家在 2020 年繼續以我們的行動,以我們在這個代表開源世界的活躍全球軟體社區中的參與來做判斷,感謝大家抽出時間,很榮幸能在中國進行演講,我非常非常期待在不久的將來再次訪問北京。
點擊「閱讀原文」,可直接觀看直播回放。
【END】
更多精彩推薦
☞中國首家蘋果零售店重開業,蘋果CEO庫克發文揭幕;「攜號轉網」服務用戶破千萬;GitHub 完成北極原始碼存檔|極客頭條
☞CSDN 創始人蔣濤:開源吞噬世界,得開發者得天下
☞「自由主義教皇」 、Linux 之父的封神之路
☞數據爆炸時代,雲存儲在「破圈」!
☞代碼恆久遠,GitHub 永流傳
☞贈書 |區塊鏈和物聯網也能擦出火花?