1998 年 2 月,开源软件运动悄然兴起,二十多年后的今天,开源已成功走向全球,无处不在的开源软件,构建了整个互联网的基础。
经过近几年的快速发展,开源软件技术已全面进军操作系统、云原生、人工智能、大数据、物联网等行业领域。随着开源软件应用范围的不断扩大,开源合规使用问题的关注度也在逐渐上升。我国“十四五”规划中也提到,要“完善开源知识产权和法律体系,鼓励企业开放软件源代码、硬件设计和应用服务”,但“开源协议”或“开源许可证”对于我国来说都是舶来品,企业对使用开源软件的实际风险和后果往往存在不同的认识。
企业和开发者在使用、参与或主导开源项目的过程中,通常会涉及诸多开源合规相关问题:开放出来的代码真的可以随便用吗?如何合规地使用开源软件?企业如何构建开源合规管理?
本期《源创者说》,我们邀请到了华为开源法务专家沈芬,针对如何依法合理应用开源技术、如何进行开源合规建设等问题进行了探讨,希望能够帮助正在从事开源工作的企业和开发者们避开开源合规中常见的“坑”,更合规地参与开源软件的使用及开发、对开源项目进行贡献。
开放的代码,可以随意使用吗?如今,开源开发已经成为大家普遍认可的软件开发模式,一个开源项目可能会集成多种开源组件,同一个开源项目可能会有成千上万的开发者参与进来,大家可以不断贡献代码,以修改完善开源软件的功能,开源软件的新版本得以快速公开发布。
而开放出来的代码真的可以随意使用吗?
并不是的。正是由于开源软件的高度开放性和易获得性,极易让开发者忽视了对许可证问题关注,使得本来只是一项技术运动的开放源代码运动,与违约和知识产权侵权等法律问题之间产生了密切联系。
在沈芬看来,尽管我国开源发展势头喜人,但我国大部分企业仍面临开源治理能力亟待提升等问题。
纵观全球,不少大企业都在开源初期在开源合规性上走过弯路,我国当前绝大多数企业正处在 “使用开源”这个初期的阶段,所面临风险主要来源于两个方面。
第一,许可证遵从风险
现在,开源能够代替自研,简化代码编写、测试、迭代等工作,大幅降低研发投入成本,提高产品竞争力。
“企业享受开源带来的便利是有前提的,即在使用开源软件的时候必须要遵循许可证的规定,履行相关义务。”沈芬强调说。
本质上来说,开源软件通过许可证协议构建规则,获取者可以享受在其许可证授权范围内使用开源软件的权利。如果缺乏规则意识,未遵守开源许可证的规定,可能会因侵权而面临索赔、诉讼、产品下架、商誉受损等风险。
此外,不同许可证之间,具体条款各不相同,不少许可证间存在冲突。而当前许多开源项目中嵌套着不同许可证的开源组件,很可能引起这种冲突。根据新思科技《2023开源安全与风险分析报告》统计,在2022 年审查的1703个代码库中,54%的代码库存在许可证冲突。
编辑注:出处为新思科技《2023开源安全与风险分析报告》,报告详细页见下图:
第二,开源软件的安全风险
开源代码在拥有公开可获得性和透明性的同时,也存在隐私数据和网络安全隐患。
首先,部分开源软件因其共享特性可能导致隐私数据泄露风险。开源软件的很多配置信息会涉及到账号密码,如果不对代码所携带的信息进行检查、评估和加密处理,一旦开发者出现疏忽没能及时处理这些敏感数据,可能会造成大量的用户信息随着代码的共享而泄露。如果包含对企业数据库的访问代码,则可能导致整个数据库面临数据泄露的危险,企业内部文件与用户信息的安全将难以保障。
此外,一些开源软件本身也会存在安全性或功能性漏洞。据新思科技《2023开源安全与风险分析报告》显示,在2022 年审查的代码库中,84%的代码库包含至少一个开源漏洞,48%的代码库包含高风险漏洞,这足以可见安全漏洞的普遍性。
编辑注:出处为新思科技《2023开源安全与风险分析报告》,报告详细页见下图:
“对于代码组件的分析,以及对组件背后相应许可证是否冲突等问题,都需要专业人员进行专业分析。”沈芬说。
立根铸魂,法务为开源合规保驾护航并对开源商业化提供全面法律支撑面对开源软件日益凸显的风险,开源治理已经引起了企业的普遍关注。然而企业开源合规工作不但涉及主体多、协同要求高,而且在不同的国际市场环境下,有着不同的法律要求和司法实践。而开源商业化则面临更多的挑战,开源商业化的过程是主导者构建规则,全球生态伙伴基于对规则的信赖,参与贡献并遵守规则,一同构建生态,共同获利的过程。主体多样性及全球性,法律规则的多地域性,风险的隐蔽性和复杂性等特点,都要求企业需要建立稳定且专业的开源法务团队。
相比一般法务,开源法务还需要额外具备三点素质。
1、首先,需要关注行业动态,洞察行业前沿,时刻保持对握对开源领域最新技术趋势和立法司法动态的敏感性。
2、其次,需要了解商业格局,并具备战略的眼光和全局规划的能力,有构建规则的能力。
3、最后,也是必不可少的,那就是开源精神。在开源领域,要遵循共同构建,共享成果的开源理念,与生态伙伴一起共建、共享、共赢。
“只有在这三点都具备的基础上,你才有进行开源商业模式规划和落地的基础。” 沈芬如是说。
沈芬也强调,开源商业模式的设计,尤其需要开源法律从规划阶段就深入地参与进来。
合理避坑,企业开源合规体系建设四要素事实上,无论是开源还是闭源,本质上都是软件,都会存在风险,不能因为害怕风险而拒绝使用开源软件。面对开源软件的种种风险,企业和开发者应如何安全合规地使用开源技术,合理“避坑”呢?
沈芬回顾自身经验,提出了企业开源合规建设的四要素,供大家参考。
第一,清晰的开源策略
企业建立适合自身的开源政策最为重要。在了解了开源软件的价值和风险之后,企业必须根据自己所处的开源阶段,明确其存在的风险,并结合企业自身的战略和定位,制订清晰的开源政策,并以其指导开源合规管理制度和流程的制订,以及开源合规管理组织的职责和工作。
第二,风险管控制度与流程
随着开源软件的大量使用,缺乏开源合规管控的企业,其开源合规风险可能会大量爆发,尤其是产品销往欧美市场的终端厂商。企业需要建立风险管控的制度与流程,并不断完善开源风险管控机制。对开源软件从输入到输出,实现端到端的全方位跟踪管理。
第三,支撑平台和工具
开源治理工作很精细和繁琐,无法完全依赖人工来执行,要实现开源合规落地,支持平台和工具必不可少,比如开源软件的引入管理及评审平台,代码合规及安全扫描工具等。
由于开源合规治理过程中有关许可证条款、法律条文或政策规定解读的严肃性、严谨性及复杂性,工具并不会完全取代人工,而是通过工具扫描和人工辅助复核,严格保证代码合规,许可证遵从,漏洞上报等。
第四,专业合规团队
开源的合规管理离不开专业的团队,团队并不单单只是法务人员,还需要联动开源合规人员、研发、以及策略团队等一起配合,共同推动。
“总的来说,那就是借助专业的平台和工具的支持,专业人员团队的参与和建设,基于适配的清晰开源策略构建企业的合规管控制度和流程,实现合规体系建设,为企业开源合规保驾护航。”沈芬总结道。
小结开源的初衷很简单,大家通过自由地使用、分享、回馈,为世界创造价值,但自由绝非无代价,无论是技术的边界或是法律的要求,开源都有其潜在的治理风险,这将是国内开源参与者必须面对的重要课题。无论是哪一方,都需要尽快提升开源合规意识,遵循开源风险治理最佳实践,尽量将开源风险扼杀在源头。
正如沈芬所类比的那样:“开源精神是一种海洋精神,大海作为自然界中最大的开源生态,能够容纳百川、孕育万物,但是我们都不能忘了,只有在规则之上,万物才能蓬勃生长。”