- 企业开源实践之旅:基于红帽客户的开源建设实践案例
- 刘翔 任卫海等编著
- 1622字
- 2025-02-21 15:44:22
1.1.3 企业和开源的关系
开源软件有很多特点,其中最核心的、从最根本上影响了开源软件形态的特点是开放性。开放性概括起来包括以下几个方面,即参与的开放性、架构的开放性、源代码的开放性和知识体系的开放性。
❑参与的开放性。开源软件多数以社区(community)的方式进行开发,不同国家、不同企业或者组织中的人都可以参与到软件的开发过程中,他们可以是公司员工,也可以是个人爱好者或在校学生。操作过程也很简单,先在社区进行注册,然后从互联网的代码库中克隆出一个分支,开始为项目解决第一个问题,完成从路人到修改bug、从贡献功能设计到主导项目决策的华丽转身,一切都来自你在项目代码每一行中的贡献,这顺应了Linus Torvalds的名言——Talk is cheap, show me the code。
❑架构的开放性。开源项目的架构设计、开发计划都是公开而透明的,不会像商业软件那样在发行前需要保守秘密,防备竞争对手的窥探。当一个软件需要用到不同基金会、不同社区、不同项目的开源软件时,可以提前相互协调,相互结合,甚至会衍生出一些新的社区项目,用于专门解决不同开源软件之间的集成问题。
❑源代码的开放性。在开源的世界很容易得到源代码,也很容易在源代码的基础上进行二次开发,只要遵守源代码所附属的具体开源协议的要求,就可以快速进行二次开发以满足用户的个性化需求。大型开源软件在开发时,一般都有最终用户直接参与,所以交付的软件能充分反映用户市场的迫切需求。
❑知识体系的开放性。得益于源代码以及整个架构的开放性,任何人都可以对开源软件进行深入研究,形成经验积累并做公开分享,这样使用者可以在第一时间了解软件的各种真实特点,在选择时有很强的自主性和灵活性。
开源软件的这一特点非常适合用来解决一些前沿问题。柔性制造本身也是一个前沿性的开放问题,在柔性制造的模式下,没有哪两家企业的生产线完全相同,这体现了企业自身对市场的理解,也是企业独一无二的竞争力。企业的IT系统建设也存在类似的情况,为了配合企业的敏捷和柔性模式,IT系统的建设也要具备敏捷和柔性的能力。IT系统的建设和传统制造业的建设并没有本质上的差异,当IT系统的建设从依靠个人能力转变为依靠成熟体系来进行时,本质上就是一次IT领域的工业化过程。以开放的技术首先构造柔性的IT能力,进而服务于柔性制造的过程,这将为制造技术带来又一次革命性的发展,也将是企业数字化转型的真谛。
以前的软件希望在一个大而全的应用中,通过各种参数化、流程化的配置来实现对不同企业的适配,这导致不同竞争性厂商的产品很难相互对接,需要等待软件巨头不断收购一些有创意的新公司和新产品来丰富和改良自己的产品,进而实现大跨度的功能提升。但这也导致企业系统的升级换代周期较长,以往一家银行升级一个新的核心系统需要5~10年的时间,而使用了ERP系统的企业可能几十年都不会考虑更换,只是慢慢升级。在开源软件的世界则完全不是这样。开源软件和现代企业一样,都要应对信息化世界的快速变化,从某种角度来说,两者有着高度一致的诉求,在未来的发展过程中,两者必然会发生更多的结合。
随着时代的发展,开源的内涵也在不断丰富,已经形成了丰富的开源生态和开源商业模式,伴随其中的开源理念、开源文化、开源治理体系也被运用于企业IT管理之中。红帽的前CEO Jim Whitehurst在《开放式组织》一书中提到,“红帽公司的生存环境的确瞬息万变,但我们的组织结构,这种开放式组织结构,正是应对每时每刻纷繁变化的最佳方法”。这一观点不仅适用于红帽这种致力于开源软件企业化的软件公司,同样适用于各行各业。
在目前的企业数字化转型中,普遍使用的云、大数据、人工智能、区块链都来自开源软件。在红帽2022年发布的第四次企业级开源现状调查报告中,92%的受访IT从业人员表示企业级开源对于所在企业的基础架构非常重要,而这一比例在2019年为69%。在最新的报告中,全球不同地区80%的受访者计划将企业级开源延伸到人工智能、机器学习、边缘计算或物联网、容器、无服务器计算等新兴的技术领域将承担重要的技术任务,从这里我们也看到了开源在全球企业中的发展前景。