APP下载

开源软件产业发展面临的风险与问题

2022-11-05黄王金

经济研究导刊 2022年24期
关键词:源代码许可证代码

黄王金,王 景,2

(1.昆明理工大学 法学院,昆明 650500;2.云南省知识产权发展研究院,昆明 650500)

开源创新被列入我国“十四五”规划和2035远景目标。《规划》提出:“支持数字技术开源社区等创新联合体发展,完善开源知识产权和法律体系,鼓励企业开放软件源代码、硬件设计和应用服务。”现阶段,开源软件已经进入到多元化的发展阶段,技术更新迭代速度加快,商业模式和生态日趋多元化,我国的开源软件面临着巨大的发展机遇,同时机遇的背后也蕴藏着风险。在此种背景下,深入剖析我国开源软件产业面临的风险十分必要。

一、开源软件概述

开源软件是一种源代码可以自由获取的计算机软件,即软件自由。但所述的“自由”并不是简单地将开源软件在互联网上开放出来,用户自由地访问和获取。事实上,真正的开源软件在发布的时候是需要附带一个开源许可证的。这个开源许可证从一定方面来说就是一个协议,开源许可证定义了用户可以使用、修改以及分发开源软件的源代码。

在开源软件建立伊始,开源软件促进协会定义,开源不仅意味着可以访问源代码,它的分发条款还必须满足,即自由再发行,程序必须包含和方便获得源代码,许可证必须允许更改和派生程序,保护作者源代码的完整性,无个人或团体的歧视,无领域歧视等内容。开源社区存在大量不同类型的许可证。截至2021年3月7日,OSI(开源促进会)认证的开源许可证已经有126个。同时,OSI认证的开源协议在开源项目的使用率占到了80%以上。开源许可协议包括宽松型协议和传染型协议,宽松型协议主要有Apache、MulanPSL,它的特点是分发可以闭源,用户可以随意地使用、复制、修改和分发。对于开源的用户而言,基本不必承担任何的义务。传染型协议主要有GPL、MulanPubL,它的分发必须闭源,关键特点是开源代码的用户必须承担开源的义务,简单而言就是用户使用了包含传染型协议的开源代码,那么后续使用了这部分代码的软件就必须公开源代码,供其他人使用、修改和分发。

二、我国开源软件产业的发展现状

从1980年萌芽到2005年开源社区和开源实践蓬勃兴起,再到如今的开源软件商业模式多元化和生态多元化,回顾开源软件发展的整个历史,我们可以看到开源是理想主义与商业化之间相互竞争和融合的产物。

近几年来,我国的开源基础设施正在逐步地发展和完善,目前我国已经建立起了Gitee、code.china、Trustie等开源代码的托管平台。2020年6月,我国的第一个开源基金会——开放原子开源基金会登记成立,为我国的开源软件、硬件以及其他开源内容提供了平台。

此外,在我国中文开源社区的发展和成长的需求下,我国的第一个开源许可证MulanPSL在2019年8月发布;MulanPSL2.0在2020年2月24日得到OSI的批准认证,成为中国第一个具有国际通用性的中英文开源许可证,目前已经有40 000多个开源代码仓目前在使用2.0版本的开源协议。截至目前,我国已经逐步发布了MulanPSL、MulanPSL2.0、MulanPubL-1.0、MulanPubL-2.0等开源软件许可证。开源软件许可证的发布意味着我国开源体系的逐步完善。

值得一提的是,我国的开源商业化也是在蓬勃发展的,在我国本土一批开源软件独角兽或者准独角兽创业企业目前正在涌现,比如PingCAP等已经获得了风险投资。

三、开源软件的商业模式

开源诞生的初衷是自由、开放源码,允许他人在源码基础上二次开发创作。不过,开源并不意味着免费,其开放性依旧可以拥有商业盈利模式。

(一)支持模式

用户可以免费地获得、使用、修改并且分发源代码,但如果使用软件出现了问题,可以通过付费获得相关的技术支持和咨询,包括的技术支持和咨询主要有代码和错误的修复、添加新的或者是额外的功能以及提供书面的教程、文件等。在此种模式之下,用户对于源代码的处理是比较自由的,用户只需为技术支持及咨询服务买单。采用此种开源软件商业模式的公司主要有Hortonworks、Redhat等。

(二)托管

供应商将开源软件作为服务托管在云上,通过收取每月或者每年的托管和服务费获利。此种模式是部分云厂商打包开源项目赚取利润的途径。此种模式代表的公司主要有Databricks、ACQUIA等。

(三)限制性许可

通过提供一个稍带限制的开源许可证来激励使用者进行付费。但此种模式许可证定义模糊,一般情况下国际认证通行的开源许可协议并不允许使用的个人或者组织在对相关的开源项目进行贡献后对开源代码添加个人的限制条款,参与者所贡献的部分应该遵循发生纠纷争议的时候需要法院来进行判决,因此部分公司禁止使用该商业模式下的开源软件。采用此种商业模式的公司主要有redis及neo4j等。

(四)开放核心

此种模式下的大部分代码都是开源的。而少数代码(主要针对的是企业用户)是专有的,专有部分可以打包成为与开源基础部分连接的单独模块或服务,或者是在分发版本中进行分发。此种模式的特点是可以避免云厂商打包开源项目赚取利润,但是开源范围的尺度很难进行把控,弹性空间比较大。另外,在此模式下很难将软件代码中的开源与专有特性完全进行分离。

(五)开放核心+混合许可

这种模式是开源软件商业化最新的一种模式,它在开放核心的基础上进行了改进。混合许可在同一个代码库中混合了开源代码和专有代码,用户可以选择只使用开源代码,或者同时使用开源代码和专有软件代码。它的特点在于代码位于同一个代码库中,使管理和开发变得更容易,而且方便用户升级到付费的模式,另外它还允许外部社区成员对专有软件功能模块进行改进,促进了软件的完善,降低了开发成本。

四、开源软件产业商业化的风险分析

(一)开源代码的信息安全

开源代码的信息安全,主要指的是开源代码存在的一些漏洞或代码后门等。因为开源代码是开放出来供其他一些成员来共同使用的,在使用的过程中社区的其他一些成员也可以对开源软件来进行完善。在这样的情形下,开源代码本身可能会存在漏洞或是被一些“另有企图”的人留下“后门”,一些没有经过甄别或安全测试就使用其代码就容易遭到攻击,这在开源软件商业化后更加明显。BD《2020年开源安全与分析报告》显示,75%的代码库至少含有一个漏洞,49%的已审核代码库包含高风险漏洞。

(二)知识产权的风险

知识产权的风险是比较隐蔽的,主要包括的是对专利权、商标权、著作权等知识产权的侵犯和开源许可证之间兼容的风险。在专利方面,开源软件中包含诸多软件专利,使用开源软件未得到软件专利权人的专利许可,从而导致专利侵权。2019年11月18日,美国专利组织Unified Patents公布,自2012年以来约有260个开源项目涉及美国法院专利诉讼案件。在开源许可证兼容方面,在一个软件开发项目中可能包含采用不同开源许可协议的开源代码,用户不知道应该遵守哪一个开源许可协议,由此导致软件许可协议发生冲突。根据BD《2020年开源安全与分析报告》统计,67%的开源组件存在许可证冲突的情况,最常见的情况是与GPL许可证存在兼容性的问题。

(三)供应链的风险

供应链的风险包含了开源软件出口限制、开源技术垄断和开源软件停止维护等,在世界如此紧密联系的情况下,不论是技术还是经济都已经高度地融合在了一起,但是高度的融合也带来巨大的风险。在2019年,美国针对华为的“封杀”,谷歌不再向华为提供GMS(谷歌移动服务)。2020年12月,CentOS开发团队宣布CentOS 8将在2021年底结束支持,CentOS 7维护至生命周期结束,即2024年6月30日。为了掌握使用开放源代码的潜在风险,公司需要清楚地了解其环境中使用了哪些开放源代码,保持最新的补丁,甚至在必要时进行漏洞扫描和评估,以此来保证软件的安全。

五、加强我国开源软件产业发展的对策建议

(一)加强开源自主,把握开源创新的主动权

由此可以看到,开源软件以及开源社区的发展对于我国软件的发展和科技创新发挥着举足轻重的作用。目前我国已经拥有了自己的开源社区。

1.加强政策引导。开源软件创新已经被纳入“十四五”规划,这是开源首次以国家战略身份摆上台面。国家和地方应该从产业、科技创新、人才教育、知识产权保护等方面制定政策,形成政策合力,促进开源软件的发展。

2.坚持开源创新。目前我国的开源软件基础设施正在不断完善,在此背景之下,要坚定不移地坚持自主创新,加快开源社区和产业联盟的建设,支持开源代码托管平台和开源企业以及个人的发展。

3.加大对重点领域的支持力度。针对大数据、云计算、人工智能、AR产业等领域的软件代码,应鼓励、支持和引导相关的企业和个人构建起开源的体系,促进技术的更新迭代,把握开源创新的主动权以及未来发展的主导权。

(二)加强知识产权保护,筑牢开源发展基础

1.进一步引导企业和个人,特别是软件开发技术人员对开源基本规则的认识。了解和学习开源软件发展的现状和发展趋势,加强对开源软件产业发展模式的认知,鼓励探索新路径、新方向,正确认识开源软件开发及发展和自主知识产权之间的关系,研究开源代码信息安全的保障方式和途径。

2.健全开源产业知识产权保护的法律法规,对外来开源软件许可证协议相关条款进行法律界定,针对违反许可协议的具体行为进行解释说明。完善我国的开源许可协议,鼓励我国的企业和个人积极使用我国发布和主导的开源许可协议,防止开源断供风险,保障我国开源产业的蓬勃发展。

3.加强开源领域知识产权人才培养。高校是我国开源产业创新发展的源动力,针对相关的专业,应组织和安排开源产业发展的相关课程,逐步培育开源知识产权保护的意识,加快开源领域知识产权人才的培育,为我国开源软件产业的发展注入新鲜血液。

4.加大对软件产业知识产权的保护力度。对于开发破解各种盗版软件的行为进行严厉打击,推进软件正版化进程。严肃处理软件领域的各类侵权案件,为开源软件产业的发展营造良好环境。

(三)培养开源精神,提升开源产业竞争力

1.大力培育开源精神。开源产业的发展仅仅依靠个人或是个别企业是不够的,它依靠的是千千万万组织或个人的奉献。引导科研机构、企业制定开源软件发展规划,激发其提供自主开发源代码以及开源基础项目,针对开源贡献率较高的机构和企业在政策支持、产业帮扶上重点倾斜。

2.加快我国开源社区的建设。2021年11月,工业和信息化部印发《“十四五”软件和信息技术服务业发展规划》,提出到2025年建设2—3个具有国际影响力的开源社区。加强我国开源社区基础设施、开源文化、品牌、治理等方面的建设,提升社区开源代码的管理能力,提升开源产业的竞争力。

3.建立产业联盟,打造自己的开源生态。开源的价值不仅仅是源代码,代码仅仅占其中的20%~30%,对于开源软件来说,更重要的是生态。要依托自己的开源社区,将“引进来”和“走出去”相结合起来,吸引国际化人才,面向全球提供服务。

总之,开源软件已成为推动我国软件行业创新发展的主要动力,现阶段开源社区和开源生态的不断涌现,表明我国开源软件产业有着巨大的发展潜力。我国应该把握住技术开源的大趋势,制定相应的政策和措施以规避发展过程中遇到或可能遇到的各种风险,促进技术的更新迭代,提升我国开源产业的核心竞争力。

猜你喜欢

源代码许可证代码
基于TXL的源代码插桩技术研究
湖南省添加剂预混料生产许可证企业名单
神秘的代码
保护好自己的“源代码”
一周机构净增(减)仓股前20名
重要股东二级市场增、减持明细
解密别克安全“源代码”
湖南省添加剂预混料生产许可证企业名单
近期连续上涨7天以上的股
排污许可证如何破茧成蝶