全球开源项目的数量增长迅速,中国开发者与开源项目均实现迅速增长,高质量项目数量同步增多。“十四五”规划中也提出了支持数字技术开源社区等创新联合体发展,完善开源知识产权和法律体系,鼓励企业开放软件源代码、硬件设计和应用服务。
中国信通院发布的《开源生态白皮书(2021)》显示,我国在全球最大开源平台GitHub上的贡献者数量已经达到了全球第二,仅次于美国。2020年,GitHub平台上中国贡献者数量增加了37%;而在另一个开源平台Gitee上,中国贡献者的数量更是增加了50%,总量超过了600万人。第三方中立的支持开源项目孵化的组织和基金会在国内也开始兴起。
随着“支持数字技术开源社区等创新联合体发展,完善开源知识产权和法律体系,鼓励企业开放软件源代码、硬件设计和应用服务”被明确写入国家“十四五”规划,工信部也于2021年底发布《“十四五”软件和信息技术服务业发展规划》,提出“到2025年建设2~3个有国际影响力的开源社区,培育超过10个优质开源项目”的目标,并积极推动开源项目的发展。
中国开源社区的三大特点
我国开源软件产业相较于欧美发达国家起步相对较晚,在开源社区触发期、发展期、协作期、结晶期与流行期的5个发展阶段中,中国的开源社区平台大多处于前3个阶段,仅有极少数开启了商业化良性互动。从参与企业类型来看,云计算企业是国内参与开源软件市场的主体。
目前我国开源社区平台主要有开发者社区、代码托管平台、开源基金会、开源组织。从现状上看,我国的开源软件发展时间较短,目前处于起步阶段,未来3~5年将迎来高速发展时期,处于发展成熟期的各软件企业都有望加入到开源阵营中来,为国内的软件产业发展带来更强增长动力。
通过中国开源软件推进联盟时隔12年发布的两次开源社区统计分析,可以看出我国开源社区发展逐步呈现两级分化趋势,项目型社区的数量有所增加,可是发展后劲不足。关注这些项目型社区,可以发现其转型分化有3个特点。
第一,部分项目型社区正在试图直接选择第三代开源社区(全球开源社区、开源基金会)作为宿主社区,如CNCF基金会下的TiKV项目,Apache基金会下的SkyWalking、Kylin、Pulsar等。此类走国际路线的项目型社区,可以凝聚更多资源,项目可服务全球市场,最终融入全球领先的第三代社区。这一整套国际化路线的门槛较高,需要对语言沟通、开源文化、国际社区规则和管理机制全面了解并熟练运用,这让很多国内开发者望而却步。
第二,开源项目由发起公司来主导运营的第二代开源社区,如OpenEuler、Deepin深度操作系统社区、Ubuntu-Kylin等,此类走自主路线的项目社区面临的最大挑战是:如何将企业自主与开放共治的社区基因再平衡?这是社区可以获取外部资源的前提条件,此外还需要有专业的开源治理专家和社区运营团队,仅以企业的管理理念和模式难以玩转社区。
第三,开源项目围绕具体的特定技术生态系统来汇集,如阿里的云栖开发者社区,其虽有多个项目孵化,但核心技术或产品是由单一公司提供,依然属于第二代开源社区,受发起公司或核心技术企业资助。此类走生态路线的项目社区需要有足够的资源投入,如果体量不够,这种模式很难坚持下去,毕竟社区内多个项目客观上分散了关注度和资源,选择这条路线的企业需要有“打持久战”的准备;否则就应该聚焦于一个项目,集中力量,循序渐进。
面临的风险和挑战
根据红帽公司不久前发布的《2022企业开源现状》市场研究报告,95%的IT领导者认为开源对其公司非常重要,这与去年的90%相比增加了5%。同时,红帽预测在接下来的两年里,受访企业使用开源软件占总软件数将上升8%。开源软件在给全世界的开发者和用户带来便利的同时,也带来了包括技术风险、法律风险和供应链风险在内的挑战。其中开源软件不断爆出的安全漏洞、恶意软件包植入、开源许可证冲突以及开源关键组件的瓶颈风险等,已成为全球范围内亟待解决的共性问题。对于我国而言,还要面对来自美国的开源技术供应商和服务商潜在的技术出口限制风险。因此,中国开发者和用户应尽早建立全面的开源风险防范体系,以迎接这些挑战。
技术风险
开源软件涉及源代码共享,很多配置信息中也涉及账号、密码等敏感信息,如果不对代码进行审核检查,可能造成大量敏感信息与数据随着代码的共享而泄露。开源软件公开的源代码,如果包含对企业数据库的访问代码,则可能导致整个数据库面临数据泄露的险,也可能导致企业内部文件与用户信息的泄露。美国网络安全公司Snyk发布的《2019年开源安全现状调查报告》显示,78%的漏洞存在于间接依赖关系中;37%的开源开发者在持续集成期间没有实施任何类型的安全测试,54%的开发者没有对Docker镜像进行任何安全测试;两年内应用程序的漏洞数量增长了88%。而新思科技《2021开源安全与风险分析报告》显示,84%的代码库至少含有一个漏洞,近3年漏洞比例逐年增高,60%的已审核代码库包含高风险漏洞。从开源网安Source Check工具对热门开源项目的扫描结果看,53.8%的项目存在超危风险。有鉴于此,开源软件在部署后需支付较高的维护费用。
法律风险
法律风险主要是知识产权的风险,知识产权主要指版权、专利和商标。开源软件也是享受知识产权保护的,而很多人误以为开源软件是免费软件。近年来关于开源软件的知识产权纠纷层出不穷,这是由于大家在享受开源软件灵活便捷的同时,忽略了它也享有知识产权相关条例的保护。
版权侵权风险主要源于两个方面:一是开源软件使用者没有按照开源许可协议的规定使用软件;二是贡献者将自己不具有版权的代码贡献到开源社区,使得开源软件本身存在版权瑕疵。
专利可以享受20年的保护。开源软件一旦侵犯软件专利权,不仅要追溯“发行者”的法律责任,还要追溯“使用者”的法律责任。
软件商标是指软件生产者为使自己开发、制造的软件区别于其他软件产品,而置于软件包装表面或软件运行时屏幕中所显示的文字、图形等特殊标志。开源软件的商标与其他软件产品一样,受到商标法的保护。我国商标注册使用年限为10年,10年之后可以续展,每次续展的时间为10年。
供应链风险
开源软件可能会受地缘政治影响。开源软件虽然是公开的,可开源平台和社区是有国界的。在俄乌冲突中,GitHub就限制俄罗斯开发人员使用开源软件。
三大发展建议
促进开源组织和社区联合多元化发展
鼓励开发者社区发展,“产学研”联合起来交叉赋能,推动中国开源社区等创新联合体全面发展。
完善开源托管和风控体系
建设开源风控体系,完善开源代码托管平台,对我国开源软件进行知识产权推广和保护。
构建开源治理体系
针对自发开源企业、开源使用企业建立开源软件管理体系,第三方组织应制定开源软件治理的行业标准,通过制定开源软件管理规则、明确开源软件检测方法,建设开源软件监测平台,推动开源治理体系建设。