在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是很多開源社區的創始成員和最高級別會員,是很多開源項目和社區的肇始者以及戰略支持者,包括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開放技術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參與的開源項目和社區都有一個顯著的特點,那就是多方參與、開放治理。這是因為單一參與者的開源項目,風險極高。不久前,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“開源:企業的未來和創新的基石”分論壇上嘉賓所一致認同的:開源軟件正在吞噬世界!
-
IBM
+關注
關注
3文章
1755瀏覽量
74679 -
開源
+關注
關注
3文章
3312瀏覽量
42473
原文標題:IBM董事長親自站臺,開源為什么對IBM這么重要?
文章出處:【微信號:IBMGCG,微信公眾號:IBM中國】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論