一直以来,工业和信息化部坚决贯彻落实党中央、国务院决策部署,加快推动关键软件领域的优质开源项目创新迭代、生态拓展和国际化发展。
但我们也必须意识到,我国开源距离全球主流水平仍有较大差距,整体呈现“散似满天星”之势,还未形成“聚似一团火”的强大合力。
在硬件开放、软件开源的大趋势中,一个好的开源项目就像一个火种,为推动软件产业发展提供源源不断的动力。
开源是根据一些开源协议把代码公开在互联网上并拥有开源社区和使用者的一种开发模式。其能集众智、采众长,加速软件迭代升级,促进产用协同创新,推动产业生态完善,已成为全球软件技术和产业创新的主导模式。1991年Linux开源操作系统诞生,开源化、免费化、独立化、通用化、生态化等逐渐成为操作系统发展的趋势。中国工程院院士倪光南认为,开源是开放科学的核心精神在信息领域的体现,已经成为新一代信息发展的基础和动力。
党中央、国务院高度重视我国开源生态建设,在《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》、2023年国民经济和社会发展计划等重要文件中对开源发展作出明确部署,推动我国开源生态建设步入国家有战略、市场有需求、供给有基础的新发展阶段。
一直以来,工业和信息化部坚决贯彻落实党中央、国务院决策部署,加快推动关键软件领域的优质开源项目创新迭代、生态拓展和国际化发展。但我们也必须意识到,我国开源距离全球主流水平仍有较大差距,整体呈现“散似满天星”之势,还未形成“聚似一团火”的强大合力。我国开源生态建设任重道远,尤其在开源核心技术自主创新、供应链安全、开源社区软件治理、开源人才培养以及开放合作、国际影响力等方面仍需加强。
一是起步较晚,基础薄弱。据了解,美国拥有国际三大主流开源基金会,存储几亿行开源代码、汇聚7800余万开发者的代码托管平台,以及近200项国际通用开源协议,对关键软件领域绝大多数根社区掌握主导权。而我国开放原子开源基金会运营刚满三年,代码托管平台用户数量有限。目前仅木兰协议实现国际通用,“在别人地里种庄稼”的局面尚未扭转。
二是基于核心技术的创新还需加强。我国软件企业通过开源孵化、参与贡献等方式,在操作系统、数据库、开发框架、云原生、人工智能等领域积累了一定项目基础,但对底层核心技术的创新还需加强,这样才能拥有版本迭代和技术演进的主导权。
三是安全体系建设应夯实。开源软件的发展越迅猛,其所带来的安全风险越不容忽视。然而现有针对开源软件安全风险的研究多从宏观管理侧展开,国内尚未形成体系化的防范机制,正如360集团董事长周鸿祎所言,我国开源软件面临着“平时被控、战时被瘫”的风险,开源供应链安全体系建设迫在眉睫。
开源软件是通过特定类型的许可证发布的软件,这种许可证能让最终用户合法地查看、修改和分发软件所使用的源代码。以Linux、Apache、Android、Git、Hadoop、MySQL、Python等为代表的开源软件在全球广泛普及,快速发展的云计算、大数据和人工智能等也得益于ROS、Tensorflow、Pytorch等开源软件的发展。
据美国ForresterResearch公司估计,全球80%的软件包含开源组件。作为以开源开发模式为基础的红帽公司,将自己定位为客户、贡献者和合作伙伴社区创新发展的催化剂。“构建开源生态对于我们来说有至关重要的意义。”红帽大中华区解决方案架构部高级总监王慧慧说,从产业发展角度看,红帽为全球各行业的大小企业提供最为关键的开源软件核心代码及应用,在促进开源产业发展的同时也实现了成长。从战略定位角度看,红帽以30年的积累赋能企业,使其不光知其然,更知其所以然。从未来布局的角度看,红帽借助开放混合云战略,提供企业数字化转型的全堆栈开源技术解决方案,积极和上下游生态友商集成、认证,以最广泛的生态、最大的兼容性服务于千行百业。
红帽大中华区解决方案架构部 高级总监 王慧慧
操作系统是人与计算机之间的接口,也是计算机的灵魂。操作系统本质上是一种系统软件程序,对内管理资源,对外提供交互。完整的操作系统包含三个主要部分:内核、系统库与服务、应用软件。根据内核代码是否开源,操作系统可划分为开源操作系统和闭源操作系统。
“国产操作系统真正实现繁荣发展,需要开源共建,这也是下一代云原生操作系统OpenCloudOS诞生的契机。”OpenCloudOS社区TOC(技术监督委员会)主席、腾讯云副总裁郭振宇认为,国产操作系统开源生态的构建具有重要意义。
OpenCloudOS社区TOC(技术监督委员会)主席、腾讯云副总裁郭振宇
第一,有助于系统研发增速提效。开源的协作模式能让开发者共享代码、工具和资源,提高开发效率,减少重复劳动,降低开发成本,从而实现在操作系统领域的弯道超车。
第二,可以提高信息安全性。其在金融、能源、交通等领域安全问题尤为重要。开源有助于操作系统被广泛测试,增强软件的安全性。
第三,能够满足“全链路自主”的市场需求。开源生态可以推动国产软件产业稳定发展,增强软件自主权。国产操作系统研发起步较晚,通过社区开源模式,聚集国内力量共建操作系统生态成为一个重要途径。
国产操作系统开源生态建设面临哪些挑战?郭振宇表示,第一,开源文化的普及尚需加强,开发者参与度有待提高;第二,开源操作系统的兼容性和稳定性需加强,这需要时间,更依赖丰富的应用场景来解决;第三,开源操作系统的商业模式需要创新和探索。
腾讯全力践行支持操作系统开源生态的建设和发展。OpenCloudOS已经推出6个社区及衍生版本,今年3月发布的OpenCloudOS9.0是国内首个全自研,并使用最新Linux内核的发行版,从内核到用户态软件均为自主选型、独立演进,实现了操作系统发行版的全链路自研。目前OpenCloudOS核心代码仓库数超过46个,可兼容适配900多个国产软硬件及3万多个开源软件,实现主流芯片、数据库、整机的全覆盖。目前OpenCloudOS社区及衍生版本装机量累计超过1000万节点,覆盖了银行、保险等12大行业,与京东云、九州云、浪潮云等云厂商合作,完成了OpenCloudOS镜像上架。
从开源兴起的那天起,商业模式的探讨就不绝于耳。选择收费方式还是免费方式,由企业的商业模式决定。选择产品经营的企业常常选择收费方式,选择生态构建的企业常常选择免费方式。相对而言,收费的产品经营模式是较为传统的模式,具有一次投入高、零边际成本、产品毛利率高、发展空间有限的特点。免费的生态构建商业模式是典型的互联网商业模式,通过免费使用的方式吸引大量下游开发者基于免费操作系统平台开发各种应用软件和平台,进而吸引更多终端用户,形成黏性极强的产业生态,具有需要长期投入、成本较高、精力投入较多、变现周期长等特点。
就开源操作系统而言,红帽企业Linux(RHEL)、麒麟银河桌面操作系统V10SP1等操作系统都采用了产品经营的收费模式,而Canonical(科能软件有限公司)Ubuntu,CentOSStream,华为欧拉、鸿蒙,阿里云龙蜥操作系统则采用了生态构建的免费商业模式。
目前来看,有能力选择免费的商业模式的企业基本都是头部企业(或是得到了基金会的鼎力支持),有雄厚的资金实力和深厚的技术积累。对于大多数企业而言,找到合适的商业模式成为布局开源赛道的首要问题。开源项目代码是开放的,如何能够形成商业闭环?目前,基于开源的商业模式大体分为三种:第一,“100%开源+订阅服务”的服务模式———100%开源所有技术的代码,通过提供订阅、服务、培训的模式获得收益。第二,OpenCore(开放内核)的模式———仅技术框架的代码开源,关键部分代码闭源,并将其作为增值内容获取商业价值;第三———SaaS模式:将开源软件部署到公有云上,以云服务的方式为最终用户提供服务,并实现商业变现。
第一种模式是红帽的开创性举措。以开源项目Fedora为例,任何开发者都可以而且非常愿意贡献代码。但是对于企业用户来说,“社区版软件”更新太快了,如果使用,则需要投入较多的资金和精力进行维护,特别是安全问题更是令人堪忧。而开源社区并不能帮企业用户解决上述问题,这正是红帽的商机。红帽把“社区版软件”进行“加固处理”,增加企业级应用和服务,比如提供7×24小时电话服务、以往解决过的问题的方案等,然后以订阅模式提供给客户。
“我们的理念是,软件中最有价值的部分一定要开源,因此我们坚守上游优先(UpstreamFirst)原则,把技术创新和改进代码首先提交到开源的上游,然后加入到自己的商业版产品中,通过这种方式,身体力行地繁荣开源社区生态,同时通过订阅服务对企业用户提供长生命周期支持,实现商业变现。”王慧慧说。
在这种商业模式下,开源社区运营和开源风险治理问题也一并解决。王慧慧提到:“我们要实现上游优先原则,要运营社区、繁荣生态,才能够基于社区项目打造自己的商用产品,所以开源社区运营是在我们打造产品之前就要认真、仔细考虑,需要首先保证投入的地方。因为我们要基于社区开源项目打造商用产品,这个过程,我们就要考虑各种风险,以及想出如何治理的解决之道并付诸实施。”
开源社区是开发者的天下,一向以贡献论英雄。可以公开、公平、公正地“逞”英雄,这也是开源社区的魅力所在。“过去,在开源社区中有很多国外技术人员吐槽,说中国技术人员只‘享受’不贡献,但现在情况变了,国外的技术人员反而紧张了,中国技术人员更新的代码不仅数量多,而且速度快,因为贡献大,已经‘抢’到了社区主导权。这样社区成员就更愿意跟随我们的技术路线和产业路线继续探索。”开放麒麟社区生态委员会主任、麒麟软件副总裁李震宁如是说。
开放麒麟社区生态委员会主任、麒麟软件副总裁李震宁
红帽积极参加开源创新的各类活动就足以说明问题。王慧慧说:“我们最重要的举措就是把取得的每一点技术创新、技术改进,100%地贡献到开源社区,让众多的开发者和技术人员可以在很多项目早期阶段,就有机会和红帽共同开发。很多项目都是这样一点点孵化、发展起来的。通过市场推广,让更多人了解,进而参与到开源社区中,切实地促进了开源社区的建设。”
《“十四五”软件和信息技术服务业发展规划》提出,要整合各方力量,围绕重点开源项目,建立友好的开发者参与机制,持续优化壮大开源社区。并强调要加快繁荣开源生态,到2025年,要建设2至3个有国际影响力的开源社区。开源社区建设在协调商业利益、统一技术路径、推动产品转化以及构建开放共赢生态中发挥的作用愈加重要。正如郭振宇所言:“开源社区在推动软件产业高质量发展中扮演核心角色,为软件产品创新提供技术支撑、为技术落地提供应用场景、为商业拓展提供生态保障。”
作为OpenCloudOS社区的核心发起方,腾讯贡献了在操作系统和内核层面10多年的技术积累,全力支持操作系统开源生态的建设和发展。
2023年7月5日,openKylin1.0版本正式发布。作为麒麟软件开源社区首个共建共创版本,该版本凝聚了社区3867名开发者、74个SIG组和271家企业的智慧。
如何运营开源社区?李震宁认为,重点应从三个方面发力。第一,在开源社区营造“引领技术发展,研判未来趋势”的氛围。第二,做好开发者关系管理,构建开发者生态系统。尽量提供丰富的API、SDK和文档等资源,通过各种方式、活动与开发者进行交流合作,进行高效的技术布道。第三,与开源社区用户建立良好的关系。通过树权威、建标准、获认同等方式最大程度影响用户的选择,让其尽可能选择开源社区倡导的技术路线或是产品。
开源不是大企业的角力场
“开源是大家的事,不仅包括头部企业、中小企业,还包括每位开发者,还有每一个想参与的人。我们需要做的,就是激发开源爱好者的热情、给他们提供更便利的参与开源的条件,降低使用门槛,加大赋能力度。”王慧慧表示,尽管有更多的企业参与了开源事业,我们还是非常重视开发者的个人贡献。开发者发自内心的喜爱、参与、贡献才是开源的灵魂和真正魅力所在。没有个人贡献者的执着与热情,开源就会变为各大企业角力的现场。如果企业都从商业利益出发,无论是短期行为,还是长期打算;无论是为了经济利益或是战略目的,都会使开源项目缺少最关键的灵魂,真正的生态繁荣也就很难实现。
作者:杨光
编辑:高珊珊
监制:刘晶
—End—