写点什么

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

2021 年 1 月 14 日

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

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


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


开源软件取得的巨大成就不仅改变了软件产业格局和商业模式,其独特文化和运营机制也对 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 年 1 月 14 日 11:48534

评论

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

全面覆盖:Java面试266题—算法+缓存+JVM搜索+分布式+数据库等

Java成神之路

Java 程序员 架构 面试 编程语言

江苏智慧社区管理系统开发,智慧小区可视化服务平台

135深圳3055源中瑞8032

Alibaba技术专家必知必会的Java技术知识点,掌握这些理论+实践+技术是你通往阿里的路

Java架构之路

Java 程序员 架构 面试 编程语言

全面到哭!阿里内部疯传Netty实战文档程序员必须人手一份

比伯

Java 编程 架构 程序人生 编程语言

智慧警务大数据系统开发,智慧公安情报研判平台搭建

WX13823153201

智慧警务大数据系统开发

BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux

Java架构之路

Java 程序员 架构 面试 编程语言

Spark的分布式存储系统BlockManager全解析

华为云开发者社区

spark 分布式 存储

奋斗30天,苦心啃透java高级工程师面试1000题,涨薪10K很难吗?

Java成神之路

Java 程序员 架构 面试 编程语言

区块链商品溯源APP开发,深圳区块链应用开发公司

135深圳3055源中瑞8032

iOS面试基础知识 (三)

iOSer

ios 面试题 大厂面试 iOS面试 ios开发

业务重要?还是技术重要?

数据社

思考 团队 七日更

UBI波场挖矿系统软件APP开发

开發I852946OIIO

系统开发

智慧公安动态大数据平台开发情报分析中心系统开发

135深圳3055源中瑞8032

天天CRUD,被领导怼,我是如何从小公司菜鸡到阿里P8架构师?,首次分享Java程序员黄金五年进阶心得

Java架构之路

Java 程序员 架构 面试 编程语言

年轻人不讲武德,乱用索引,你到底走了多少弯路?

比伯

Java 编程 架构 面试 程序人生

Vmware+Centos设置静态IP

千泷

敏捷规划,让你做一个有计划的开发人

华为云开发者社区

敏捷 开发 规划

为了面试大厂,精选2020年大厂高频Java面试真题集锦(含答案)

Java成神之路

Java 程序员 架构 面试 编程语言

看了这份阿里Redis笔记,以后出去redis的问题你随便问

Java成神之路

Java 程序员 架构 面试 编程语言

安防小区管控系统建设,智慧社区智能化集成方案

t13823115967

智慧平安社区平台建设

公安大数据:警务大数据分析系统解决方案

t13823115967

智慧公安

厉害,GitHub上标星90.7K「Java学习+面试指南」学会互联网大厂随便选

Java成神之路

Java 程序员 架构 面试 编程语言

Code Shared & Review(20201214-20201220)

刘璐

淘宝|蚂蚁|菜鸟|盒马|滴滴|饿了么面经,已拿多个offer(Java岗)

Java架构之路

Java 程序员 架构 面试 编程语言

AlibabaP8架构师整理,283页的Java核心资料pdf文档,学会后月薪4W没问题

Java架构之路

Java 程序员 架构 面试 编程语言

关于代码重构的灵魂三问:是什么?为什么?怎么做?

华为云开发者社区

重构 代码 代码重构

13.10作业

张荣召

详解Spring5+SpringMVC5+MyBatis3.X,同时整合Redis缓存+ActiveMQ+项目等

Java架构追梦

Java spring 架构 mybatis springmvc

优化PostgreSQL Autovacuum

PostgreSQLChina

数据库 postgresql 开源 优化

盘点2020 | 2020年读过的这些书

xcbeyond

读书感悟 盘点2020 七日更

2020年度综合大盘点:火爆IT业的7大Java技术,每一项都是大写的“牛逼”!

云流

Java 编程 微服务

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