耀星IBM董事长亲自站台,开源为什么对IBM这么重要?
在2019年2月12日-15日的IBM Think2019大会上,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经常参与由单一个人或供应商所控制的开源项目,帮助他们看到开