写点什么

开源问题系列探讨:许可证的核心诉求是什么?

  • 2021-01-14
  • 本文字数:3620 字

    阅读完需:约 12 分钟

开源问题系列探讨:许可证的核心诉求是什么?

在开源软件漫卷全球,开源商业蓬勃发展的今天,如何合法合规地使用、修改、发布、运营开源软件,已经成为不少企业和开发者拥抱开源前的核心顾虑。有鉴于此,本文特邀开源行业内专家撰稿,对开源相关一系列知识产权与合规问题进行法理剖析和实务指导,以尽可能消解大家对开源的迷惑、误读及非必要的担忧,推动开发者们携手共创开源天地。


本文转载自开放原子公众号。


开源软件取得的巨大成就不仅改变了软件产业格局和商业模式,其独特文化和运营机制也对 IT 产业甚至社会产生了深远影响。在第十届中国云计算标准和应用大会上,笔者有幸参加由北京大学周明辉教授主持的开源知识产权分论坛,和多位前辈、老师一起分享了自己这几年开源实践中的一些感悟。鉴于会议讨论的问题对于开源治理和开源司法实践都有很好的参考意义,恰逢元旦假期,笔者将自己对这些问题的思考重新整理、撰写成文分享给大家,希望能对大家理解开源起到一点帮助。有不妥的地方,也希望学术、法律、企业界的老师、朋友们批评指正,一起讨论、学习,共同推进国内开源软件的发展。

1、为什么需要许可证?


开源许可证要解决的开源知识产权问题,就是知识产权的专有权代码共享之间的矛盾。主要是著作权,其次也包括商标、专利、商业秘密等。不管是著作权的默认取得,还是专利权、商标权的申请取得,一旦取得即具有专有权,除法律有明确规定外,只要无授权,任何形式的使用都是非法的。在这一法律背景下,开源软件该如何实现其众人皆平等的共享、共建呢?这个问题如果结合自由软件的起源来看,更容易理解。

2、著作权条款是开源运行的基本保证


自由软件之父理查德·斯托曼(Richard Stallman)最初是反著作权制度的,主张代码应该是全人类的智慧,反对软件专有化。但否定著作权无法保障其软件自由理念的实施,后来其转变立场以著作权推进自由软件运动(认识到反对著作权将无助于其理念的实施)。利用著作权制度来反制著作权专有所导致的软件专有化问题,构建其自由软件理想国。


所以,Copyleft 许可证本身不反著作权,相反,著作权制度是整个 Copyleft 软件的法律基础,其将著作权用到了极致,依靠著作权制度保障自由软件的哲学理念。宽松型许可证本质上就是权利人给予使用者的明确授权,使得代码共享有了法律上的缘由。与宽松许可证不同的是,Copyleft 的精髓在于防止自由软件的私有化改进,而不仅仅是授权使用而已。如 GPL 许可证,利用著作权法制度,实现自由分享的同时,保障这种自由分享状态的延续,这构成了 Copyleft 许可证的核心法律原则。因此,Copyleft 是捍卫、维持和推广软件自由思想的法律策略和机制(注 1)。

3、专利条款是一种有限的防御机制


但是,理查德毕竟是自由的斗士,其毫不掩饰对专利权的厌恶。可见,如果著作权制度不是开源许可证的基础,其对著作权制度的厌恶可能与专利制度一样。


开源许可证关于专利权的规定,我认为纯粹是一种无奈,就像 GPL 2.0 里写的那样:


Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.(注 2)


同样是国际通行的知识产权制度,专利制度之于开源软件的影响完全不同于著作权制度。著作权保护的是作品的表达方式本身,代码的创作者就是代码的权利人(注 3),可以控制代码的开源与否。但专利制度保护的是作品内在的技术逻辑,代码的创作者和代码对应的专利权利完全是可以分离的。因此,开源社区无法像利用著作权制度来保护开源一样利用专利制度。


最开始,很多开源许可证并没有专利条款,但随着软件专利被大多数国家所认可,且专利纠纷的增多,许可证的制定者不得不思考如何应对专利问题。但是,基于代码的创作者与代码所涉及专利权的可分离性,开源许可证只能以惩罚的方式约束社区内的人,即“背叛者”,而对社区外的第三人一筹莫展。好在开源软件已经无处不在,当大家都在这个圈子里,其实也就可以相安无事了。另外,主流许可证也包括专利防御和惩罚条款,开源社区逐渐学会了抱团取暖、相互支持,以社区的力量来抵御第三人的攻击,也包括在某一领域的抱团组织,如 OIN(注 4)。


但专利制度,毕竟是世界通行的知识产权制度,特别是大公司在专利的确权与维护上往往花费了巨资,许可证的专利条款不能无限制的放大对专利的许可范围。因此,开源软件的专利条款的制定也考验着每一个开源许可证的制定者。

4、许可证专利条款“有限许可”的理解


目前,主流许可证的专利条款,更倾向于取得一种平衡,即便如 Richard 这样的自由斗士,也不得不接受这种妥协,即“有限的许可”。这种平衡,一方面让贡献者让渡了部分权利,另一方面也避免了许可范围的无限扩大,维护了的贡献者自身的权益。从这一点上看,关于专利的规定,所谓自由软件和开源软件理念又走向一致,少了些激进、多了些实用主义。以 EPL 2.0 为例:


1.3:“Licensed Patents” mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.


“许可的专利”是指贡献者可许可的专利权利要求,这些权利要求会因使用或销售该贡献者的贡献本身或其与本程序的结合而必然会侵犯的权利要求。


2.2:b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in Source Code or other form. 

This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. 


本专利许可应当适用于贡献和该程序的结合,如果在贡献者添加贡献时,该贡献的添加导致该组合作品被许可专利覆盖。


The patent license shall not apply to any other combinations which include the Contribution.


本专利许可不适用于任何其他包含贡献的组合。



图中绿色圆柱代表某具体的开源软件,A、B 代表贡献者,AP1 是 A 的某件专利,Contribution 代表贡献者为开源软件贡献的代码,箭头代码对应的代码被专利权利要求所覆盖,绿色笑脸代表需要许可,红色叉代表不需要许可,“ContributionA-B 修”代表 B 将 A 的贡献修改后被专利所覆盖。第一种情况是,A 的贡献 Contribution A 与作品(开源软件)结合被 A 的专利 AP1 所覆盖,那么 A 有义务将其专利 AP1 给予该开源软件及其使用者相应的专利许可。其它情况类推,具体如上图。


以上之所以以 EPL 2.0 为例,是因为 EPL 2.0 的条款写的相对还比较好理解,Apache 2.0 以及 GPL 3.0 的专利条款,要么晦涩难懂,要么繁琐冗长,但基本的涵义大抵相同。可以看出,主流成熟的许可证的专利条款,更多的采取的是实用主义思路,既要保护开源要义,又要考虑贡献者,特别是商业公司贡献者的可接受性。

5、核心诉求还是共享、共建、共赢


综上,开源许可证要解决的开源知识产权问题,就是知识产权的专有权和代码共享之间的矛盾问题。许可证就是一张写满使用者(包括下游贡献者、开发者和最终用户,下游贡献者本身就是最典型、最重要的使用者)权利的声明书,包括著作权、商标权、专利权等。涉及的也是最基本的问题,能不能用、如何用、以及使用的条件和限制。可以说,开源许可证为“开放源代码理念”从无序走向规范、从稚嫩逐步成熟提供了法律保障。也让开发者对共享、共建、共赢的追求有了保障和信心,激发了社区活力。

另外,开源软件的开发也会引起其他知识产权问题,比如贡献者可以是以自己的名义开发,或作为雇员以雇主的名义开发以及由此引发的职务作品问题、商业秘密问题。这些其实都不是许可证要解决的问题,而是公司管理问题。


题外说明:本文,包括后续系列文章都不重点讨论职务作品的问题,如无特别说明,文章提到的贡献者/创作者/开发者代表其个人,符合职务作品的话以雇员的身份代表其单位。


致谢:本系列文章源自第十届中国云计算标准和应用大会—开源知识产权分论坛所讨论的主题,感谢大会、论坛组织者及与会的各位老师,特别感谢北京大学周明辉教授对本次论坛主题的思考和引导,这种思维的碰撞才得以让本系列文章得以成文、更加完善。


作者介绍:


付钦伟,集慧智佳高级咨询师、专利代理人,擅长专利布局、检索分析、专利预警 &信息跟踪、FTO&风险分析,对企业开源软件法律风险管控、合规治理有深入研究和丰富经验。欢迎对开源感兴趣的朋友扫码加我微信,多多交流。


原文链接:


https://mp.weixin.qq.com/s/voOravRR_QAeNkAUSWJqAA

2021-01-14 11:481129

评论

发布
暂无评论
发现更多内容

开放原子开源基金会OpenHarmony工作委员会主席侯培新寄语OpenAtom OpenHarmony分论坛

OpenHarmony开发者

OpenHarmony

大数据培训机构有哪些值得推荐?

小谷哥

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档

程序员啊叶

Java 编程 程序员 架构 java面试

数据泄漏、删除事件频发,企业应如何构建安全防线?

京东科技开发者

公司管理 网络安全 安全 删库 程序员‘

web前端开发培训课程如何学习

小谷哥

深度学习3D人体姿态估计国内外研究现状及痛点

阿炜小菜鸡

深度学习 人体姿态估计

银行业客户体验管理现状与优化策略分析

易观分析

银行

TDSQL-C Serverless:助力初创企业实现降本增效

石云升

全球架构师峰会 ArchSummit

干货|语义网、Web3.0、Web3、元宇宙这些概念还傻傻分不清楚?(中)

Orillusion

开源 WebGL 元宇宙 Metaverse webgpu

海外APP推送(下篇):海外厂商通道集成指南

极光JIGUANG

sdk 厂商通道

什么是RPC?RPC框架dubbo的核心流程

程序员啊叶

Java 编程 程序员 架构 java面试

天翼云Web应用防火墙(边缘云版)支持检测和拦截Apache Spark shell命令注入漏洞

天翼云开发者社区

Shell 防火墙

Python爬虫,JS逆向之 webpack 打包站点原理与实战

梦想橡皮擦

Python 爬虫 7月月更

百问百答第48期:极客有约——可观测体系的建设路径

博睿数据

可观测性 智能运维 博睿数据 性能监测 极客有约

iOS单元测试的那些事儿

珲少

面试京东T5,被按在地上摩擦,鬼知道我经历了什么?

程序员啊叶

Java 编程 程序员 架构 java面试

一百五十个终极Java 经典面试题(你会多少题?)

程序员啊叶

Java 编程 程序员 架构 java面试

「中高级试题」:MVCC实现原理是什么?

程序员啊叶

Java 编程 程序员 架构 java面试

向日葵远程控制为何采用BGP服务器?自动最优路线、跨运营商高速传输

贝锐

远程控制 向日葵

在北京选择前端培训班学习大数据

小谷哥

参加前端培训班学web前端技术靠谱吗

小谷哥

Redis为什么这么快?Redis的线程模型与Redis多线程

程序员啊叶

Java 编程 程序员 架构 Java 面试

行业案例|指标中台如何助力银行业普惠金融可持续发展

Kyligence

大数据 普惠金融 指标中台

技术分享:国民远控向日葵如何通过BBR算法提升远控体验?

贝锐

技术分享 远程控制 TCP拥塞控制 向日葵 BBR

目标检测网络R-CNN 系列

阿炜小菜鸡

深度学习 目标检测 7月月更

万字长文,浅谈企业数字化建模蓝图

产品老高

数字化 中台架构

敲黑板画重点:七种常见“分布式事务”详解

程序员啊叶

Java 编程 程序员 架构 java面试

向日葵资深产品总监技术分享:如何在AD域环境下应用

贝锐

安全 AD域 远程控制 向日葵

浅谈低代码技术在物流运输平台中的搭建与管理

王平

尤雨溪向初学者推荐Vite 【为什么使用Vite】

flow

签约计划第三季

开源问题系列探讨:许可证的核心诉求是什么?_语言 & 开发_付钦伟_InfoQ精选文章