IBM董事長親自站臺,開源爲什麼對IBM這麼重要?

IBM董事長親自站臺,開源爲什麼對IBM這麼重要?

在2019年2月12日-15日的IBM Think 2019大會上,IBM董事長、總裁及首席執行官Ginni Rometty親自參與了除主旨演講之外的唯一一個分論壇並擔任對話環節主持人,這就是“開源:企業的未來和創新的基石”分論壇。參與分論壇的除了Rometty外,還有Cloud Foundry執行總監Abby Kearns、Linux基金會執行總監Jim Zemlin、Redmonk聯合創始人Steve O’Grady、Morgan Stanley執行總監Marcelo Labre和AT&T實驗室總裁及CTO Andre Fuetsch。

究竟開源這件事對IBM有多麼重要,以至於Rometty要親自站臺並擔任對話環節主持人?在2018年,IBM還耗資340多億美元收購了Red Hat紅帽公司,這是一家專注開源領域長達25年之久的軟件公司。然而,可能令外界意外的是,收購紅帽公司並不IBM唯一在開源軟件方面的投入。實際上,IBM對開源領域投資可以一直追溯到Linux時代,而著名的WebSphere Application Server的70%以上都是開源的,包括了700多個開源組件。

在廣泛的範圍內,IBM參與上千個開源項目和社區。除了大量採用開源代碼外,IBM還是向GitHub組織和代碼庫提供開源代碼貢獻最多的公司之一。IBM對開源項目的重大貢獻包括:將Java運行時J9作爲Eclipse OpenJ9孵化器貢獻給了Eclipse基金會、將用於Java EE和MicroProfile應用程序的OpenLiberty runtime貢獻給了openliberty.io、向開放區塊鏈項目Hyperledger Fabric貢獻了源碼、向Apache OpenWhisk貢獻了無服務器平臺源碼、開放了IBM量子計算API Qiskit、開放了IBM AI Fairness 360工具包(AIF360)和AI Robustness Toolbox (ART)、開放了多個分析項目源代碼併成爲Apache Toree和 Apache SystemML,以及過去3年裏還有超過100個其它貢獻。

大膽壓注開源二十年

IBM董事長親自站臺,開源爲什麼對IBM這麼重要?

IBM對於開源開放的承諾以及實踐,遠遠超過了很多人的想像。IBM是很多開源社區的創始成員和最高級別會員,是很多開源項目和社區的肇始者以及戰略支持者,包括Linux、Apache、Eclipse等,IBM一直在推動開源協議、開放治理和開放標準。1990年代,IBM爲支持Linux而繳納了10億美元的專利費,並提供技術資源以及資助了2000年Linux基金會的成立。

1999年,IBM幫助創建了Apache軟件基金會,提供了上萬行代碼和資源以支持Apache Web Server Project。IBM是Apache軟件基金會的創始贊助商之一,幫助塑造了開源許可和治理規範,併爲衆多項目做出了貢獻。自推出Apache軟件基金會以來,IBM員工一直在組織內部和Apache軟件基金會董事會擔任領導職務。二十年來,Apache軟件基金會上有近200個項目,包括Web技術、XML、Web服務、文檔處理、移動、雲、大數據和分析、無服務器和消息傳遞等,顯然IBM一直在創建和領導開放環境下的合作與創新。

一個典型的但可能不被很多人注意到的例子是Eclipse開源項目和基金會。2001年,IBM開發了Eclipse項目並引導了2004年Eclipse基金會的成立。IBM向Eclipse開源項目貢獻了大量的源碼、開發者以及開源協議的法律諮詢援助,今天的Eclipse作爲一個Java開源開發平臺,還能以插件方式集成使用多種開發語言,支持包括C/C++、COBOL、PHP、Android、Python、R等等。著名的IBM Rational Software Architect就是基於Eclipse,它是IBM Java開發工具系列的基礎。

2019年2月是Eclipse基金會成立15週年,Eclipse基金會執行總監Mike Milinkovich撰文稱:在2004年Eclipse基金會成立時所形成的開源社區運作模式,今天已經非常爲人所熟知,而2004年的時候其實還是非常新鮮的事物。Eclipse基金會成立的時候有50個創始成員公司,包括IBM、SAP、HP、Intel等,而今天已經發展到275個,其中IBM和SAP一直是戰略參與者;Eclipse基金會成立初期只有12個開源項目,今天已經發展到360個,開源Committer(對開源項目核心模塊和系統架構有較大代碼貢獻者)從最初的150名(基本上全是IBM工程師)到今天的1600多名廣泛的代碼貢獻者;Eclipse IDE集成開發環境已經從最初的桌面軟件開發工具,發展到今天支持物聯網、自動駕駛、地理空間和雲原生Java運行時等豐富的開發應用場景;2018年,隨着Java EE從Oracle遷移到了Eclipse基金會的Jarkarta EE,Eclipse的項目達到了歷史新高。

不要忘了,在2001年的時候,IBM向Eclipse開源社區貢獻了當時價值4000萬美元的軟件代碼(IBM VisualAge)給當時剛成立的Eclipse Consortium協會,該協會當時已經聚集了150家領先的軟件開發工具供應商,超過63個國家的1200多名獨立開發者已經參與到Eclipse協會的運作。Eclipse的初心是爲所有開發者提供一個單一、統一體驗的軟件開發流程和集成包括測試、性能調優、排除Bug等所有軟件開發任務的開發工具及環境,當時幾乎所有的軟件開發工具供應商都參與到了Eclipse項目中。

2001年的時候,來自IT諮詢公司Illuminata的分析師James Governor就此評價道:這是IBM最大膽的開源“賭注”。Eclipse免費面向開發者,它對軟件開發的意義,不亞於Linux對於操作系統的意義。而IBM則在開源Eclipse的基礎上,提供商用開發工具和服務,以支持業界廣泛開發基於Web Services、XML和J2EE的e-business商業應用。而基於Eclipse的開發工具可以同時運行在Windows和Linux系統之上,開發者再也不需要在Windows上開發e-business應用再移植到Linux環境中,而是可以直接面向Linux環境進行開發。Eclipse顯著增強了Linux開發者的生產力,並讓開發者可以開發面向企業環境的商業應用。

建立開放治理的生態

IBM董事長親自站臺,開源爲什麼對IBM這麼重要?

IBM開放技術VP Todd Moore、IBM開放技術傑出工程師及CTO Chris Ferris聯合撰寫及定期更新IBM開放技術方法論文檔,該文檔的2018年10月更新版指出:IBM通過所有的開源努力學到了一件事情,就是這些開源努力可以實現包容性和開放式治理的社區,往往能吸引最大的生態系統和最廣闊的市場。

IBM認爲,開源軟件項目和社區固然重要,但開放治理更加重要。許多開源項目由一個人(或供應商)運營,並且在治理方面非常封閉,嚴重限制了其他人的貢獻;其它項目更熱衷於外部貢獻,但在制定技術戰略和方向時仍然是封閉的。一旦開源項目達到一定程度的成功,通常將達到一個臨界點,此時如果沒有開放式治理,用戶就會意識到被供應商鎖定甚至放棄項目的更大風險。用戶和貢獻者都希望在決策中有發言權,如果他們覺得自己的聲音沒有被聽到,那麼項目會失敗或分叉。這通常會對生態系統造成不利影響,甚至社區崩潰。

現實情況是,在開放式治理下管理的開放式技術項目,例如通過Apache、Eclipse、Mozilla和Linux等組織運作中發現的開放式治理,顯然會更加成功、壽命更長,並且風險低於由單一供應商控制的項目,或者在治理方面更嚴格。IBM經常參與由單一個人或供應商所控制的開源項目,幫助他們看到開放治理的價值以及更大成功的可能。如果IBM能夠有效地將項目帶入開放治理,就會大幅增加投資以幫助確保項目的成功,並努力發展社區和生態系統。

IBM知道水漲船高,光IBM自己的成功是不夠的,IBM需要確保許多企業能夠成功,從而以保障一個充滿活力的生態系統。這降低了爲IBM自己,更重要的是降低用戶擁抱開源所帶來的風險。實際上,由於大多數企業用戶都傾向於優先選擇開源而不是專有產品,因此第一步是嘗試集成自己的開源堆棧,然而當企業一旦通過實踐瞭解到其中的挑戰,通常會轉移到與具有深厚技能和經驗以及對相關社區有透徹瞭解的開源技術供應商合作。

IBM還相信,一旦企業用戶踏上了開源之旅,就需要一個能夠幫助他們不斷集成開源技術的合作伙伴,同時合作伙伴還要有能持續影響開源社區的能力。企業用戶希望其開源合作伙伴能夠理解企業級環境以及企業的長遠利益,再通過影響和引導開源社區的技術方向和進程,與企業的自身利益相匹配。

IBM對開源的承諾和貢獻在業界是長期、持續而超越想像的。IBM服務於許多開源基金會董事會,包括Linux、Eclipse、Apache、CNCF、Node.js、Hyperledger等,成千上萬的IBM員工在使用和貢獻開源軟件。IBM重視並致力於開放治理,因爲IBM認爲這是確保開源項目長期成功和可行性的最佳方式。IBM開發人員每天都在重要的開源項目中工作,每個月都爲數百個開源項目做出數以千計的貢獻。

讓所有人都受益

IBM董事長親自站臺,開源爲什麼對IBM這麼重要?

與很多的印象相反,所有IBM參與的開源項目和社區都有一個顯著的特點,那就是多方參與、開放治理。這是因爲單一參與者的開源項目,風險極高。不久前,Facebook宣佈將停止Parse(一個流行的移動開發平臺)項目,這導致成千上萬的開發商陷入困境。還有很多情況下,開發人員發佈了一些很酷的功能作爲開源發佈,然後無論出於何種原因最終放棄或忽略該開源發佈。

IBM通過密切關注項目的五個方面來評估開源項目:1)負責任的許可。顯然,IBM希望瞭解與該技術相關的開源許可。2)可參與的提交流程。IBM力求確保有一個明確定義的流程來歡迎外部貢獻者的貢獻。3)多樣化的生態系統。IBM確認有多家供應商和ISV正在提供基於該技術的產品。4)參與社區。IBM要求有一個流程來增加其他貢獻者在社區中的技術影響力。5)開放治理。IBM評估治理模型以確定是否真正開放。

當然,IBM也會研究技術並評估是否存在架構適合性,但技術通常可以隨着時間的推移而得到修復和改進。關鍵是IBM要確認是否有足夠的積極因素來保證投資,以幫助項目實現真正的開放式治理,從而讓所有人受益。IBM已經展示了在開源領域推動創新的持續承諾,提供基於開源的廣泛產品組合,並圍繞最關心的開源項目幫助建立可持續,蓬勃發展的社區和生態系統。

IBM相信在開源領域的領導地位對客戶來說具有差異化的價值,以至於IBM甚至用了一個詞來形容自己:“IBM is Open by Design”(IBM爲開源而設計)。

專注於企業

IBM對那些具有戰略意義的開源項目進行了安全性、可擴展性、穩健性、在線升級、全球化、文檔、持續集成等方面的大量投資並交付到項目中。IBM還投資那些能夠將IBM創新集成到項目功能的開源開放項目。IBM在其它重要方面做出了廣泛的貢獻,包括營銷、佈道和各種董事會級別的委員會活動。IBM還經常引領定義互操作性和可移植性的工作,這對於任何開放技術的成功都至關重要。

除收購紅帽公司外,IBM在過去五年中投入了近10億美元,並投入了數百個開源開發、營銷和佈道資源。IBM發起了許多開源開放項目,不知疲倦地幫助開源組織及其託管項目來定義並取得成功。IBM這樣做是因爲IBM從這些項目和組織中獲得的價值超出了開源軟件本身,其中大部分收益來自充滿活力的社區和蓬勃發展的生態系統,這些生態系統圍繞開放技術的重心來進行開發,而IBM產品的成功與所投資開源項目的成功成正比。

IBM專注於推動互操作性、可移植性以及對企業最重要的許多能力。IBM還專注於爲上游貢獻IBM創新,並且當它與OpenStack等戰略項目價值相當時,就將其封裝起來並對外通過API和SPI提供交互以方便企業用戶使用,IBM將確保這些技術定義的接口(API和SPI)是完全公開的。

IBM努力不創建“IBM Hyperledger Fabric”或“IBM Kubernetes”這樣的分叉代碼:IBM 區塊鏈平臺中的Hyperledger Fabric與Hyperledger組織發佈的Hyperledger結構相同,IBM集成到IBM Cloud中的Kubernetes與CNCF發佈的代碼相同,IBM Container Service中包含的Docker與該社區發佈的Docker相同,Cloud Foundry與Cloud Foundry Foundation發佈的代碼相同。IBM的增值之處在於,集成了所有這些開源功能,以實現IBM Cloud。

IBM對戰略技術的社區代碼進行投資,並確保在上游進行補丁和增加新特性,而不是增加額外的複雜性或需要依賴IBM獨立維護不同版本的工作。當IBM希望添加能夠利用IBM(或其它公司)不同功能的可擴展性時,會在社區中創建必要的API或SPI。IBM還投資確保這些擴展點不會被濫用以形成被鎖定的可能性。

那些著名的IBM開源項目

以下是一些非常著名的由IBM貢獻或參與貢獻的開源項目:

Eclipse。2001年,IBM與其它公司合作,通過Eclipse Java IDE框架的初始授權創建了Eclipse Foundation的前身Eclipse Consortium。IBM對Eclipse基金會的目標與Apache的目標類似:在開放式治理下創建一個安全的合作和創新場所。現在,Eclipse上有超過360個項目。同樣,開放式治理提供了一個吸引開源開發人員的場所,可以進行開放協作和創新。

Java。追溯到最早的時期,IBM是Java的早期採用者和貢獻者之一。IBM在幫助塑造Java語言和運行時以及J2EE規範以及Sun Microsystems方面發揮了重要作用。多年來,IBM幫助推動Java開源,使OpenJDK成爲首屈一指的開源Java。最近,IBM開源了J9運行時,這是一個針對雲優化的高性能、低內存佔用Java虛擬機(JVM),以及爲Java EE和MicroProfile應用程序提供的Liberty運行時,它爲WebSphere提供了開放的基礎。IBM將繼續領導併爲建立Eclipse基礎規範流程做出貢獻,該流程將取代以前用於Jakarta EE的Java Community Process(JCP)。

Linux。2000年,IBM與其它主要行業領袖合作,建立了Linux基金會,併成爲其創始白金贊助商。當然,IBM的投資遠遠超出了贊助範圍。多年來,IBM一直並且將繼續成爲Linux社區的領導者,在Linux內核和許多現在超過80個Linux基金會的協作項目中投入了數百個工程資源,其中一些項目IBM在啓動過程中發揮了重要作用。

雲原生。2015年7月,緊跟着OCI的發佈,IBM、Google、Docker、Weaveworks、Red Hat等推出了雲原生計算基金會(CNCF),旨在爲Google的Kubernetes項目提供開放的治理模型,這是IBM針對雲原生應用程序相關的雲和其它技術戰略的關鍵組成部分。從那時起,該組織在CNCF主席、IBM的Todd Moore的領導下蓬勃發展,項目包括Kubernetes、etcd、rkt、fluentd、containerd和gRPC等。因爲與IBM雲戰略相關,IBM正在增加對CNCF技術的投資和貢獻,尤其是Kubernetes。

Istio。IBM與Google在Docker、Kubernetes和CNCF上的合作也帶來了額外的成果。IBM和谷歌與Lyft聯手合作,合併了IBM的Amalgam8、Lyft的Envoy和Google的服務控制,其結果是Istio項目,它是雲原生微服務的路由和策略管理的頂級抽象。目標是最終將Istio遷移到CNCF,以確保對這一重要且日益受歡迎的項目進行開放式治理。

Libcontainer。在過去幾年中,IBM一直是Docker的主要貢獻者之一。IBM的三位開發人員在Docker公司贏得了同行的尊重,並被任命爲維護人員。Docker公司在2015年6月成立了Open Container Initiative(開放容器計劃),IBM成爲創始贊助商之一,Docker爲該計算貢獻了Libcontainer和Docker鏡像和傳輸格式規範。自成立以來,IBM一直是OCI的主要貢獻者之一。

Containerd。在2016年12月,Docker貢獻Containerd到CNCF。Containerd是一個核心容器運行時組件,可以管理託管主機系統上容器的完整容器生命週期,兩名IBM員工已獲得容器項目的維護者資格,這再次證明了IBM在開源領域的領導地位。

Knative。谷歌宣佈了與IBM以及無服務器和平臺即服務領域的許多其它主要供應商密切合作開發的Knative項目,Knative提供了構建模塊以便爲Kubernetes提供無服務器功能。IBM相信這將是一項關鍵技術,並且正在社區中密切合作,以便將Cloud Foundry和OpenWhisk等平臺發展爲基於Knative的平臺。

OpenWhisk。當亞馬遜在2014年推出AWS Lambda時,它標誌着函數即服務(FaaS)或無服務器計算的潛在變革方向。許多公司開始探索這個領域,包括谷歌、微軟和其它許多公司,IBM也不例外。2015年初,IBM Research開始致力於爲IBM Cloud開發強大的無服務器功能。IBM認識到,爲了使IBM無服務器工作被視爲專有AWS Lambda產品的可行替代方案,需要在開放式治理下開源以便可以圍繞該開源項目發展一個充滿活力的社區和生態系統。2016年2月,IBM開源了無服務器平臺,並將其命名爲OpenWhisk。隨着對OpenWhisk的興趣不斷增長,IBM於2016年11月與Adobe和Red Hat等合作伙伴共同建立了Apache OpenWhisk作爲孵化項目。

人工智能和機器學習。IBM最近開放了一些AI關鍵技術,包括:AI公平360工具箱(AIF360),一個開放源代碼的軟件工具包,可以幫助檢測和機器學習模型中的偏見;對抗性魯棒性(Adversarial Robustness)工具箱,用於快速製作和分析機器學習模型的***和防禦方法;深度學習框架(FfDL)是一個在Kubernetes上提供TensorFlow、Caffe、PyTorch等深度學習即服務平臺。

Hyperledger(超級賬本)。2015年,IBM認識到區塊鏈技術的巨大潛力,因爲這是比特幣的基礎技術。IBM在這個領域的研究得出結論,當時的區塊鏈技術平臺不適合企業。因此,IBM着手構建一個新的區塊鏈平臺,其中考慮了企業需求——一個可以在高度規範的環境中使用的平臺。IBM認爲這一重要技術不應由任何單一供應商控制,因此與Linux基金會合作建立了Hyperledger,這是Linux基金會中增長最快的項目。IBM貢獻了4.4萬行代碼,並在開放式治理下建立了第一個Hyperledger項目Hyperledger Fabric。從那以後,Hyperledger又孵化了另外9個項目。Hyperledger Fabric是第一個孵化、第一個成爲“活躍”狀態、第一個達到1.0.0版本的項目(2017年6月)。來自40家公司的近300名工程師參與了4個Fabic版本的發佈,這證明了在開放治理下開發開源的價值。

Node.js。Node.js社區向IBM尋求幫助,以解決社區內部的分歧。這種分歧導致了Node.js出現了一個分叉和兩個項目的分歧路徑。Node.js是最流行的Javascript開發框架,但分歧可能會導致生態系統的碎片化和崩潰。IBM與兩個派系合作,並說服他們解決問題的方法是將Node.js開發納入開放治理。IBM幫助其他主要利益相關者在Linux基金會下建立了Node.js基金會,並努力治癒分裂,分叉最終被合併回Node.js。由於IBM的領導,該項目現在獲得了巨大的成功,並且越來越成熟。

瞭解了以上內容,你就知道爲什麼IBM董事長、總裁及首席執行官Ginni Rometty會親自主持IBM Think 2019“開源:企業的未來和創新的基石”分論壇的對話環節。開源不僅對IBM至關重要,而且IBM就是爲了開放而存在、爲了開放而設計!因爲只有開放開源纔有最廣泛的兼容性,而這正是企業級IT成功的祕密——很多被認爲是專有技術與產品的成功的本質都是最廣泛的兼容,無論是Oracle數據庫、VMware虛擬化軟件、IBM中間件、微軟操作系統都是一樣的成功之道,只不過在過去是由一家廠商主導的兼容性努力正在被現在的開源社區所主導的社區開放標準所替代,而今後商業軟件公司的成功之道就是參與開源開放社區的多方治理並基於開源開放技術提供商用解決方案和服務。

正如IBM Think 2019“開源:企業的未來和創新的基石”分論壇上嘉賓所一致認同的:開源軟件正在吞噬世界!(文/寧川)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章