专利具有天然的排他性,以保护创新为己任,而开源是软件的一种开发或发布方式,倡导的“自由、共享”,两者的宗旨存在根本性冲突,但均是未来的发展方向。软件是专利保护的新兴领域,各主要国家均承认软件的流程(计算机程序)作为专利保护的客体,并有加强的趋势。开源也是软件开发的首要选择,是未来软件开发的趋势。微软加入开源发明网络(OIN)、75亿美元收购全球最大开源社区GitHub、以及IMB以340亿美元收购全球最大开源公司红帽(RED HAT),可见软件开源的重要性。
“开源”是开放源代码的简称,并不否认原始创作者的知识产权, 而是通过开源许可证明确授权,将复制、传播、修改等诸多权利授予传播者和接受者。开源软件通过许可证解决了开源软件的版权问题,但对涉及的专利权却力不从心。
开源软件有独特的盈利模式,并不会因为开源的崇高理念就免除专利侵权的责任,其遭遇的专利威胁主要来自第三方软件专利权利主张,或者开源软件贡献者的专利权利主张。尽管部分开源许可证协议如GPL3等规定开源软件的贡献者对其所拥有的专利权进行“授权”,但仍无法规避潜在的第三方专利侵权。目前各国对软件的专利保护力度普遍加强,再加上开源让竞争对手取证便利,容易引发专利诉讼。
1 开源软件与专利侵权
软件专利并不保护源代码(程序本身),但可以对源代码体现的技术性思想进行保护。不同的程序设计语言开发的软件或操作系统均可再现专利保护的技术构思,从而落入专利权的保护范围,不会因为源代码的不同而区别对待。开源软件的最初版本及后续发布版本的相关开发者众多,很难有能力像商业软件那样通过专利检索等防范机制来规避侵犯他人专利权。开源软件贡献者并不会对其开源软件是否存在权利瑕疵担保,有可能存在侵犯第三方软件在先的专利权,从而引发专利诉讼的情况。
如在2013年,微软首席法律顾问Brad Smith对《财富》杂志明确表示,Linux内核侵犯了42项微软专利,Linux的图形接口侵犯了另外65项微软专利,OpenOffice.org侵犯了多于45项微软专利,开源电子邮件程序侵犯了15项微软专利,其他开源程序共计侵犯68项微软专利(共计235项)。
但微软并没有提起专利侵权诉讼,可能的原因在于:首先,Linux的开发者如红帽、IBM、谷歌、Facebook等皆非等闲之辈,并且组成了专利联盟,手握大量专利,微软贸然出击,极易遭遇专利侵权反击,鹿死谁手,犹未可知。其次,专利诉讼耗时耗力,花费巨大,仅弄清具体的专利侵权主体及侵权软件都不现实,何况后续的诉讼程序。再次,微软作为科技巨头,运用专利武器打击开源软件开发者,特别是中小企业或个人,面临道德压力。
当然,微软目前实施云优先战略,而云的系统及开发工具大多使用开源软件,微软改变了对开源软件的态度,试图运用开源软件赋能Azure云,追赶亚马逊云,遂打出了微软爱Linux的旗号。2018年10月,微软加入了开源发明网络(OIN),与其他OIN成员免费交叉许可专利,Linux开源软件来自微软的专利威胁不再成为问题。
2 开源软件许可证
开源软件的开发者在特定的开源协议下,以“既定的方式”允许公众学习、使用、修改该软件。源代码的利用虽然按开源许可证进行,但开源许可证众多,不同的许可证有着不同的要求,见下图。有的许可证发布时可以不发布源代码,能够闭源以利于商业应用,如Apache、BSD等,有的则必须进行开源,如GPL等;有的许可证规定涉及了软件专利权,如Apache、GPL、MPL等,有的则避而不谈,完全自由,如BSD、MIT等。
通用公共许可证(GPL)对软件的发布做出限制,使用GPL的开源软件,其后续修改作品都要置于GPL的规则之下,不允许作为闭源软件发布和销售,保证源代码自由传递,如安卓操作系统的内核Linux即采用GPL。但是,安卓操作系统的应用层使用的是诸如Apache2.0等商业友好的许可证,允许软件的商业性开放和垄断性发布;为避免安卓内核GPL许可证的“传染”,谷歌通过在安卓系统设置中间层(硬件抽象层)实现隔离以解决GPL的法律问题,以保证手机制造商及软件开发者可以采用允许闭源的Apache、BSD许可证,保护相关利益方的商业秘密。
BSD和MIT开源许可证是给与开发者很大自由的许可协议,可以将已开源软件修改后闭源商业使用,可以不公开修改后的源代码。Facebook的开源软件React最初依据BSD许可证进行开源,但在2016年7月的开源协议中加入专利许可条款,即“BSD+专利条款”,其中专利条款规定不能对Facebook及其关联方提出专利主张,否则将自动终止许可。根据条款,使用React的使用者所拥有的专利权即使被Facebook侵权,使用者也不能提起专利诉讼,否则将自动终止该软件的开源许可。尽管Facebook解释专利许可条款是为了预防专利诉讼,保护核心技术,但由于双方的权利的不对称,引发争议,受到开源软件社区的抵制。Apache软件基金会宣布其项目中禁止使用React技术及其相关协议,百度、Wordpress也停止使用该技术,Facebook被迫将该技术的开源许可证修改为MIT,但裂痕已经存在,无法回到当初。
可见开源许可证解决了开源软件的版权问题,提供了相对宽松的软件复制传播修改环境,但未解决软件专利的侵权主张,没有突破专利权的壁垒。开源软件可能侵犯第三方软件专利,还可能侵犯开源软件开发者的专利权。另外,如果源代码体现的技术方案已被他人提前获得专利权,即使完全重新编写源代码也会发生专利侵权。
3 开源软件与“申请专利的权利”自由
虽然开源软件的拥护者对软件专利持消极抵触态度,但开源许可证均承认软件专利权的存在。开源许可证对于专利权,或避而不谈,或承认专利权许可的传递,没有规定不能申请软件专利,开发者可以自由决定其改进得到的新技术方案是否申请专利。至于获得专利权如何行使,按照不同的许可证不可一概而论;至于申请后能否获得专利权,则是另外一个问题。
根据专利法,开源软件改进者在源代码所体现技术方案基础上提出新的技术方案,该新的技术方案的“申请专利的权利”属于改进者,是否申请专利是相应软件改进者的自由,前续的开发者无权干涉。即使严格的GPLV3也是如此。
例如,谷歌的安卓智能操作系统虽然是开源系统,但小米、华为等均可在其基础上开发改进,形成自己的操作系统,该改进均可申请专利。假设谷歌利用安卓系统在智能设备的主导地位,以合同的形式约定安卓系统的其他开发者放弃申请专利的权利或者规定类似高通的反向授权协议,则触犯反不正当竞争法。
4 源代码的体现的技术方案被他人申请专利
专利法第二条规定发明的客体必须满足“新的技术方案”,但“新的”是用于界定能够获得发明专利的技术方案的性质,若无该词,将导致对产品、方法提出任何技术方案都被称为“发明”,这有悖常理,容易导致公众误解。专利审查中不会因为技术方案不是“新的”而适用该条款。 将前人开发的开源软件所体现的技术方案(旧技术方案,未改进)申请专利,这种做法是不道德的,也不满足专利法新颖性的规定。这种专利申请在授权阶段一般会因为开源软件的存在而缺乏新颖性,即使获得授权,在无效阶段也容易失权。这种情况有违诚实守信原则,在专利法第四次修改送审稿中,有相应规定“申请专利和行使专利权应当遵循诚实信用原则。不得滥用专利权损害公共利益或者不合理地排除、限制竞争”,如果将开源软件的源代码的体现的技术方案未加改进提出专利申请,将违反“诚实信用原则”。
例如,2017年一位开源作者开发了“XXL-JOB”开源软件,采用GPLV2协议托管在GitHub上,后发现某著名通信公司的员工以该开源软件为基础申请了专利。针对该事件,如果仅将开源软件所体现的发明构思申请专利,则甚为不妥,引发道德指责。如果属实,该开源发布者或者他人可以在授权前向专利局提出第三方公众意见,说明具体情况。需要注意的是,虽然审查员属于相关技术领域,能够获检索得源代码及相关文档,但让其读懂代码可能存在困难,最好针对源代码说明具体的软件流程或者以软件操作体现程序流程,以方便其审查。但是,如果是在该开源软件基础上有改进而形成新的技术方案,则申请专利是其自由,只要遵循GPL许可证协议。
5 开源软件专利权的实施
随着信息时代的到来,移动互联网、大数据、云计算、物联网、人工智能空前发展,软件已经渗透到各行各业,各主要国家加大了专利对软件的保护力度。我国在2017将修改专利审查指南,将指南中的“计算机程序”修改为“计算机程序本身”,进一步明确计算机程序的专利保护,并将包含技术特征的商业方法列为专利保护的客体,这些修改均强化了对软件专利权。开源软件的拥护者与其消极抵制软件专利,还不如规定依此获得专利权进行传递许可,GPL即采用这种策略。
GPLV2对软件专利持消极否定态度,其规定体现了开源软件专利必须以允许每个人自由使用为前提,否则就不准许有专利。另外,还规定如果开源软件中的某个部分有可能在某些国家遭遇专利侵权,那么发布者应该声明,避免开源软件在该地区传播。可见,面对第三方的软件专利,开源软件无力回击,只能是“绕道而行”。
GPLV3则规定,如果发布或传播软件,发布者所拥有的相关专利权自动免费许可给后续开发者。正如自由软件基金会在对GPLV3公共草案的解释中提到的:“开放源代码许可证不可能完全解决软件专利对开放源代码软件的威胁,解决的办法只有一个,那就是废除软件专利制度”。GPLV3是建立在开源软件获得自身专利的基础上,对于第三方已经获得或者将要获得的专利权,也是无能为力,即第三方主张开源软件侵权的问题没有得到真正解决。但是,废除软件专利制度看来是不切实际的,GPLV3的这种规定也只是一种无奈之举。
BSD或MIT许可证对软件发布规定了版权提示和免责声明,源软件修改后可自由处置。如果对开源软件进行改进获得了软件专利,他人实施该专利,未经专利权人许可又无法定抗辩事由,则侵犯软件专利权。Apache则更进一步,规定开源软件在发布时要声明专利授权。
当然,如果获得的专利权落入前续开发者的专利权范围内,该获得的专利权自由实施也会受到限制,需得到前续开发者的同意。
6 讨论
开源软件承认并尊重软件的版权,通过许可证协议放弃了部分权利,以赋予使用者自由传播、修改和再发布开源软件的权利,但只解决了版权问题,并没有解决专利权问题。开源软件除自身会侵犯他人的专利权外,还会受到后开发者获得的专利权的威胁。
开源软件具有极大的开发优势,是未来软件的发展趋势。安卓智能操作系统击败微软手机操作系统,风靡全球,是为明证。长期以来的闭源公司微软也改变态度,收购Hithub,打出了微软爱Linux,加入OIN等,积极拥抱开源,其目的也是以开源软件赋能其Azure云和Windows系统。 开源软件的背后可能存在专利的壁垒,进行商业化应用更加谨慎,进行必要的专利侵权分析;而不同的开源许可证规定了不同的权利义务,应选择合适类型的开源许可证软件。对于开源软件的改进者,应该按照开源许可证的规定,避免对产业产生不利影响,相应改进者不遵从协议,会面临侵权的风险。
我国专利法确软件为专利权保护客体。在按照开源许可证规定合理利用开源软件过程中所做的技术创新,形成的新技术方案可以申请专利予以保护,专利的利剑掌握在自己手中,以占领主动权,避免受制于人,可无偿许可他人,守护开源软件的“自由共享”理念;获得的专利权也能够进行专利防御,同时避免他人采用相同的技术方案申请专利,对所开源软件形成威胁。因此,开源的开发者必要时经积极申请专利。如果不想申请专利,应尽早将软件体现的技术方案或软件流程公开,避免他人申请专利权,日后侵权指控中也可以无效或者提起现有技术抗辩。 开源软件凝聚着软件研究和开发人员的智慧成果,为我国软件行业的发展提供了机遇,合法地借鉴利用开源软件的资源,开发出具有自主知识产权的产品,对提高我国软件业的水平具有重要作用。
软件开源与专利保护虽然理念存在冲突,但能够并行不悖,各取优势。无论选择何种开源许可证,开源软件开发者均应积极申请软件专利保护创新,或为进攻打击竞争对手,或为防御保护开源社区。
作者:泊头子