开源软件许可合规性的经济高效模型

以开源的初衷使用开源,既能提升您的盈亏底线,又能促进开源生态系统的发展。
496 位读者喜欢这篇文章。
a magnifying glass looking at a brain illustration

Opensource.com

“合规工业综合体”这个词语让人联想到反乌托邦式的画面:组织机构投入精心设计且极其昂贵的流程来遵守开源许可条款。正如生活常常模仿艺术一样,许多组织机构都在进行这种实践,可悲的是,这剥夺了他们从开源模式中获益的许多机会。本文介绍了一种经济高效的开源软件许可合规方法。

开源许可证通常对第三方许可代码的分发者施加三个要求

  1. 提供开源许可证副本
  2. 包含版权声明
  3. 对于著作权共享许可证(如 GPL),使相应的源代码可供分发对象使用

(与任何一般性声明一样,可能存在例外情况,因此始终建议审查许可条款,并在必要时寻求律师的建议。)

由于源代码(以及任何相关文件,例如 license/README)通常包含所有这些信息,因此最简单的合规方法是直接将源代码与您的二进制/可执行应用程序一起提供。

另一种方法更加困难且昂贵,因为在大多数情况下,您仍然需要提供开源许可证的副本并保留版权声明。提取此信息以随附您的二进制/可执行版本并非易事。您需要流程、系统和人员将此信息从源代码和相关文件中复制出来,并将其插入到单独的文本文件或文档中。

创建此文件所需的时间和费用不容低估。尽管可以使用软件工具来部分自动化该过程,但这些工具通常需要资源(例如,工程师、质量经理、发布经理)来准备用于扫描的代码并审查结果的准确性(没有工具是完美的,几乎总是需要审查)。您的组织拥有有限的资源,将这些资源转移到这项活动会导致机会成本。更糟糕的是,随后的每个版本(无论是主要版本还是次要版本)都需要新的分析和修订。

不选择发布源代码还会导致其他未被充分认识到的成本。这些成本源于不将源代码回馈给开源项目的原始作者和/或维护者,这种活动称为上游。仅上游很少能满足大多数开源许可证的要求,这就是为什么本文提倡将源代码与您的二进制/可执行文件一起发布;然而,上游和提供源代码以及您的二进制/可执行文件都能带来额外的经济效益。这是因为您的组织将不再需要维护内部代码更改的私有分支,而每次发布时都必须将这些更改与开源位合并——随着您的内部代码库与社区项目越来越背道而驰,这变成了一项日益昂贵和混乱的工作。上游还增强了开源生态系统,从而鼓励社区进行更多创新,而您的组织可能会从中受益。

那么,为什么如此多的组织不为其产品发布源代码以简化其合规工作呢?在许多情况下,这是因为他们认为这可能会泄露赋予他们竞争优势的信息。考虑到这些专有产品中的大量代码很可能是开源代码的直接副本,以实现 WiFi 或云服务等功能,而这些功能是大多数现代产品的基本功能,因此这种看法在许多情况下可能是错误的。

即使对这些开源作品进行了修改以使其适应专有产品,这些修改通常也是微不足道的,并且几乎不包含新的版权表达或可申请专利的内容。因此,任何组织都应通过这种视角来审视其代码,因为它可能会发现其代码库的绝大部分是开源的,只有一小部分是真正专有的,并且能够与竞争对手区分开来。那么,为什么不分发这些非差异化部分的源代码并将其上游呢?

考虑摒弃“合规工业综合体”的思维模式,以降低您的成本并大幅简化合规性。按照开源的初衷使用开源,体验发布源代码的乐趣,从而提升您的盈亏底线,并使您能够继续从开源生态系统中获得越来越多的收益。

标签
Picture of Jeffrey Robert Kaufman
杰弗里·R·考夫曼是红帽公司(全球领先的开源软件解决方案提供商)的高级商务律师(开源法律团队)。杰弗里还在北卡罗来纳大学担任法学兼职教授。

评论已关闭。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.