开放源码许可:不用许可就不存在问题?还是…?

2020年10月26日 单位
作者 / 马特·雅各布斯,翻译 / 林晓澜
马特·雅各布斯于2020年9月23日周三发布,原文:Open source licenses: No license, no problem? Or … not?(*有删减)
翻译 / 林晓澜


理解为什么在代码库中会发现未经授权的开放源码的三种常见情况,以及将其嵌入商业应用程序的含义。



2019年,Black Duck®审计服务团队审计了1,253个代码库,以识别开源组件、相关许可证、安全漏洞和整体社区活动。我们的审计服务团队不仅在识别开源许可证方面有丰富的经验,而且在研究开源世界中存在的2700多种许可证排列方面也有丰富的经验。但是,如果一个开源组件根本没有许可证,会发生什么呢?在2019年,我们的审计人员发现他们检查的33%的代码库中存在没有已知许可证的组件。让我们讨论一下未经授权的开放源码是如何变成代码库的,以及其嵌入到商业应用程序中意味着什么。


赋予权利

在我们深入探索其中的含义之前,让我们先定义一下许可证对软件的作用。许可证是权利的授予。要使用一个软件,无论它是开源的还是商业的,都需要一些授权。在美国和许多其他地方,创造性工作(包括软件)默认受到独占版权的保护。这意味着没有作者的明确许可,任何人都不能合法地使用、复制、分发或修改该软件。这种许可以证书的形式来授予权利。如果没有该许可,最基本的假设是您没有使用该软件的许可。


显然,在商业应用程序中包含没有许可证的开放源码组件对公司来说是有问题的。使用未授权代码的组织比使用授权组件的组织面临更大的违反版权法的风险,因为在没有授权的情况下,用户不能确定他们拥有什么权利(如果有的话)。



没有授权的开放源码是如何进入的呢?

未经授权的组件


一个未授权的组件可以通过几种方式进入代码库。最直接的方式是创建者(和版权所有者)在创建开源组件时没有选择或分配许可证。你可能认为没有限制使用的许可证意味着它可以自由使用。但是根据上面提到的版权法,没有作者的明确许可,就没有授予使用权力。因此,对于这些组件,假设您没有使用、修改或分发组件的权限。在这些情况下,公司必须确定风险程度。如果没有许可证,公司就没有使用该组件的许可,并且可能会面临昂贵而耗时的知识产权诉讼。这似乎是一种极度危险的情况,但正如前面提到的,我们在审计的代码库中发现了33%的这种情况。


修改组件
我们在审计过程中看到的另一个场景是,开发人员修改开源组件以确保其执行所需的功能。在进行这些修改时,开发人员可能会更改或删除组件的页眉文件或用户/许可信息。但是,如果您在不了解相关许可证的情况下接受该组件,那么如何确保您拥有适当的权利,可以按照您打算使用的方式使用代码呢?至少,应该对组件的来源进行取证调查,以确保您遵守与许可证相关的任何义务。如果之后在开发周期中,或者在一项并购尽职调查的中期,再花费这些额外的时间来做调查,会浪费宝贵的时间和资源,并且可能会影响收购的估值。



开源的代码片段

最后一个假定场景没有这么简单。我们经常发现,当开发人员编写代码时,他们可能会从一些普遍的地方(如网站Stack Overflow)引入一段开放源代码。这些代码片段不是完整的组件;它们只是执行特定功能的组件中的一小部分。但是从堆栈溢出这类地方获得的片段几乎从来没有附上适用的许可条款。


有些人会质疑这段代码本身是否值得版权保护。换句话说:片段代码有创造力吗?或者因为它是纯粹的功能性代码,所以首先就不是可版权保护的主体,因此不需要许可?这场争论归结为你如何规避风险——特别是考虑到一段代码被认为具有足够的创造性以获得版权保护的门槛相对较低。在最坏的情况下,法院会做出决定,您可能需要从应用程序中删除代码,这需要您花费宝贵的时间重新编写应用程序,以及金钱和法律资源来解决这个问题。

 


保持开源许可的优势

任何开放源码合规计划的关键是首先确定您使用的是什么开放源码。有了这个合规计划列表,应该可以将每个标识的开放源码组件映射到适用的开放源码许可证。如果对未授权的组件、修改过的组件或代码片段无法识别适用的许可证,那么您应该调查您拥有什么样的使用该软件的许可。不幸的是,这种调查通常需要时间和资源,而这是大多数开发和法律团队所不具备的——特别是在部署之前或在时效性强的尽职调查过程中开始调查时。


程序开发小组

任何公司使用开源软件(研究表示几乎每一个代码库包含至少一些开源)作为开发过程的一部分,应制定明确的政策,来规定开放源码的使用和使用一个可靠的方法来跟踪他们应用程序的开源和开放源码许可。


兼收并购

从我们审计服务团队的发现来看,似乎许多公司仍然没有正确管理他们对开源的使用。需要提醒的是,我们在2019年审计的代码库中,发现有33%包含未经授权的开源组件。令人震惊的是,有67%的代码库包含有许可证冲突的组件。对于进行收购的公司,特别是收购的知识产权是软件的公司,我们建议您在交易完成前确认所有的许可已经被识别并得到遵守。因为如果发现IP不符合法规,它的价值就会面临风险。即使可以修复潜在的问题,补救所需的时间仍然必须在集成期间考虑在内,这些资源可能会交由第三方保管。

对于团队来说,开放源码许可问题可能非常复杂,甚至难以解释,而且成本很高。但是通过正确的工具和服务可以简化合规协议的制定。





往期推荐

开源,在重塑我们的思维和行为方式

数字商品生产线及其对国家的价值

哈佛商业评论:新冠疫情在助推开放式创新