Free software is the driving force that can help bring major change to matters of global importance.
——Free Software Foundation
在《开源许可在中国的法律实践和风险防范》和《开源许可证的传染性问题浅析》两篇文章中,我们介绍了开源许可在中国的基本实践情况以及司法实践中对开源许可的支持态度。在中国的开源实践尤其是近期实践中,我们注意到一个非常有趣的现象:由于开源相关的争议主要围绕着登记的软件著作权展开,因此基于同一开源代码或基于同一原始版本开发的软件,开发者均选择办理自身为唯一著作权人的软件著作权登记,甚至根据登记证书相互主张对方侵权。
除了上述争议外,目前也存在部分企业将基于开源许可制作的软件进行软件著作权登记后,在后续开发版本中删除开源许可,进行闭源操作、撤销原有的免费许可开始收费或者主张其他用户或开发者侵权的情况,这亦造成了大量争议。为了让读者能够更清晰地认识软件著作权登记对开源实践的影响,我们撰写了本文对这一热点问题予以解析。
一、 软件著作权登记
九十年代初,我国制定并实施了《计算机软件保护条例》和《计算机软件著作权登记办法》,开始对独立开发并已固定在某种有形物体上的软件进行软件著作权登记。最初,软件著作权登记由机械电子工业部委托中国软件登记中心办理。经过了三十多年的发展,计算机软件著作权登记已经由中国版权保护中心管理,并在实践中形成了比较成熟的登记流程。
进行软件著作权登记所需的文件材料通常包括:软件著作权登记申请表、软件的鉴别材料、申请人身份证明、联系人身份证明和相关的证明文件等。[1]根据《计算机软件著作权登记办法》规定,法定登记受理时限为自受理日起60日内,中国版权保护中心应当在60日内完成审查。软件著作期的保护期因权利人不同而不同,自然人的软件著作权保护期为自然人终生及其死亡后50年,法人或者其他组织的软件著作权保护期为首次发表后的50年。
由于现行法律法规对软件著作权的登记定位为登记事项的初步证明,相应地,软件著作权登记审查过程中仅对软件进行鉴别,允许源代码和使用手册说明与其他作者的代码和使用手册相似(但不允许完全一致),其核心目的是审核源代码运行对应测试使用手册,而不是审查是否存在侵权。因此,在实践中,软件开发者即使利用了开源代码,在办理软件著作权登记时也不会有额外的审查程序,从而导致在市场中开发者往往因为存在相同或相似的源代码而互相指责对方侵犯自身的软件著作权。例如,在安美微客(北京)互联网科技有限公司与岭博科技(北京)有限公司等侵害计算机软件著作权及侵害商业秘密纠纷二审民事判决书((2020)最高法知民终1099号)中,原告提交了“酒店即插即用接入和控制系统[简称:eFlowPnPGWACS]V2.0”的软著登字第1242863号计算机软件著作权登记证书,被告提交了《宽带接入和控制系统V1.0》计算机软件著作权登记证书,双方均对自身软件办理了登记,用以证明自身是真正合法的软件著作权人。
二、 开源许可是否支持办理软件著作权登记
《计算机软件著作权登记办法》第七条规定:“申请登记的软件应是独立开发的,或者经原著作权人许可对原有软件修改后形成的在功能或者性能方面有重要改进的软件。”实践中也有观点主张办理软件著作权登记的登记人如果利用了开源代码,则不符合独立开发的定义,因此不能办理软件著作权登记;或者主张利用开源代码即是与其他开源贡献者合作开发代码,所以应当按照《计算机软件著作权登记办法》注明全部贡献者。实际上,在我国现有软件著作权登记的体系下,利用开源代码编辑的软件或开源软件的登记确实有一些特殊性。
开源许可本身是支持著作权和办理软件著作权登记的,以许可条件较为严格的GPL为例,其在条文当中即明确指出,“在本许可下授予的所有权利都是在程序的著作权期限内授予的,并且只要满足上述条件,这些权利是不可撤销的。本授权明确确认您可以无限制地运行未经修改的程序。仅当运行覆盖程序的输出(给定其内容)构成覆盖程序时,该输出才受本授权的覆盖。本许可承认您的合理使用或其他同等权利,由著作权法规定。”[2]开源许可本身通常都说明了该许可给予接收使用人修改软件的法律许可,虽然由其他贡献者开发的代码著作权仍然归属于贡献者,但是上述许可通常在实践中被登记机关视为满足《计算机软件著作权登记办法》第七条“经原著作权人的许可”这一条件,从而能够办理软件著作权登记。[3]
除此之外,多数国际通用型开源许可也都支持属地化著作权法的效力,在一些条款上体现出与属地著作权法不一致的应以著作权法规定优先的理念,在此前提下开源许可能够最大限度地得到适用。
三、 开源在软件著作权登记中的困境
尽管开源许可的上述规则与我国软件著作权登记的相关规定的适用在法理上是兼容的,然而,开源软件的软件著作权登记在实务操作层面却有不少困难。开源许可并未明确规定应该如何登记软件著作权,软件著作权登记的相关规定中也没有此类特别规定。虽然开源作者在自己编写的程序中标注了年份、作者姓名和版权所有等信息,但实践中鲜有在自身软件程序使用其他作者编写的开源代码时,将开源作者一并登记为软件著作权人的实例。究其原因,主要有如下几点:
1
开源作者可能遍布全球,要求其配合提交软件著作权登记的可能性较低;
2
开源项目持续不断开发和编辑,进行软件著作权登记时很难配合项目进程;
3
在满足对接收和使用的开源完整源码继续开源发布、保留原开源许可和版权信息副本等前提下,开源代码作者已通过开源许可给予接收者许可。如果满足许可要求,开源代码作者并没有额外提出必须要做软件著作权登记;
4
在开源许可的部分限制性规定的前提下,为开源完整代码登记软件著作权可能存在侵犯其他开源代码的著作权人的在先著作权的争议纠纷情形。
由于存在上述实际困难,实践中,司法机关对如何认定开源软件的软件著作权登记效力亦存在一定争议。在北京闪亮时尚信息技术有限公司与不乱买电子商务北京有限公司侵害计算机软件著作权纠纷一案((2019)最高法知民终663号)中,闪亮时尚公司上诉称不乱买公司代码非原创,其前端代码中存在大量开源代码,权属存在争议。对此,二审法院认为,案件中不乱买公司明确其主张权利的代码为其后端代码而非前端代码,闪亮时尚公司并未举证证明不乱买公司后端代码中存在开源代码,闪亮时尚公司该上诉理由亦不能成立。二审法院不支持闪亮时尚公司权属争议的理由主要是没有事实证明作为争议焦点的后端代码使用了大量开源代码,但如果可以证明这一事实,则是否可以进一步推翻不乱买公司进行了登记的软件著作权,这一点是值得关注的。
四、 进行了软件著作权登记是否会限制开源
根据《计算机软件保护条例》的规定,软件著作权人享有修改权、复制权和发行权,未经软件著作权人许可,复制或者部分复制著作权人的软件的,向公众发行、出租、通过信息网络传播著作权人的软件的,转让或者许可他人行使著作权人的软件著作权的,将被视为侵权行为,需要承担对应的民事责任。
如果进行了登记的软件著作权人使用了具有传染性的开源许可,则其在软件中继续保留的开源许可,实际上构成了对用户继续进行修改和分发(本质等同于复制和发行)的许可。目前实践中比较突出的问题是,一些开源软件或基于强传染性开源许可和他人开源代码开发的软件,在办理软件著作权登记后删除软件中的开源许可(无论许可是否具有传染性),从而禁止他人修改、免费复制或再发行,甚至对此前开源期间用户提出侵权诉讼。
区别于完全封闭独立开发的软件或基于不具有强传染性的开源许可开发的软件,基于强传染性开发的软件进行上述操作是有悖于开源精神的。基于GPL或其他通用的开源许可,上述侵权诉讼主张本身违反了许可内容,可能导致上游开源许可的撤销,从而使得登记的软件著作权此前使用的开源内容不再具有合法授权,进而影响软件著作权的完整合法有效性。
五、 基于开源代码制作的软件是否适用合作作品的规定
合作作品是指由两个以上的自然人、法人或者其他组织合作开发的软件。根据《计算机软件保护条例》的规定,合作开发的著作权的归属原则如下:著作权由合作开发者签订书面合同约定,无书面合同或者合同未作明确约定,合作开发的软件可以分割使用的,开发者对各自开发的部分可以单独享有著作权;但是,行使著作权时,不得扩展到合作开发的软件整体的著作权。合作开发的软件不能分割使用的,其著作权由各合作开发者共同享有,通过协商一致行使;不能协商一致,又无正当理由的,任何一方不得阻止他方行使除转让权以外的其他权利,但是所得收益应当合理分配给所有合作开发者。
对于合作开发软件的著作权登记,《计算机软件著作权登记办法》进一步规定如下:可以由全体著作权人协商确定一名著作权人作为代表办理。著作权人协商不一致的,任何著作权人均可在不损害其他著作权人利益的前提下申请登记,但应当注明其他著作权人。
上述合作开发软件的规定和登记操作要求,与目前开源实践还是存在差距的。目前使用了开源代码或部分开源代码的软件,并没有按照合作开发模式进行登记,或分开主张不同的软件著作权;通常也没有分享利益或在转让前征得(或事实上很难或无法征得)上游开发贡献者的同意。而另一方面,目前的开源许可没有对后续接收者如何进行软件著作权登记进行明确规定,通常亦不会因后续接收者进行软件著作权登记或没有登记上游贡献者就认为其违反了开源许可。
虽然存在上述事实的差距,但司法实践中已经有法院将基于开源许可开发的作品认为是合作作品的实例。在济宁市罗盒网络科技有限公司与广州市玩友网络科技有限公司等侵害计算机软件著作权纠纷一案民事判决书((2019)粤73知民初207号)中,广州知识产权法院认为由于托管在GitHub上的开源项目VirtualApp参与编写源代码程序的人数多达32位,该开源程序项目为不可分割使用的合作作品;并进一步根据著作权法相关规定认定合作作品著作权的转让应当取得全部权利人的协商一致,同时应当提供书面的转让协议。[4]
由于托管在代码托管平台上的开源项目对项目贡献、框架搭建、分支的修改和审核等开发和管理都有日志或其他记录,因此比较容易判断合作作品的著作权作者和权利边界。但对于没有清晰记录的开源项目,仍然在合作开发的法律框架下进行分析和论证,往往会陷入事实困境,这有赖于项目管理者和其他开发贡献者对开发过程的管理。
六、 小结
软件著作权登记为我国进行软件开发的单位和个人提供了重要保护,目前,它也是我国软件开发产业中的重要行业保障制度和权利保护措施。然而在开源软件的实际开发领域,现有的软件著作权制度和登记实操与开源实践仍然存在一定的距离,容易在本文前述的各方面产生一定争议。同时,我国现有的非盈利组织,包括社区和基金会,对于开源代码的管理和衍生的侵权诉讼没有过多的介入和疏导,也容易产生开发者抢注软件著作权后互相主张侵权责任的问题。在现有软件开发过程中,我们仍然建议开发者搭建一整套完善的合规和风险控制方案,一方面防范利用开源代码后即使进行软件著作权登记仍然存在的侵权风险,另一方面防范其他开发者利用软件著作权登记,侵犯开发者自身软件著作权。
注释