0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HIT 19: 开源软件(GPL)传染性问题探讨

共熵服务中心 来源:未知 2023-09-12 18:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

wKgaomUAQT-ACrDcAAEIt0de1Hc031.png

作者:高玉光北京市信利(深圳)律师事务所 2023/09/10于深圳#本文仅代表作者观点,未经作者许可,禁止转载#

GNU通用公共许可协议(General Public License,GPL)是一种适用于软件和其他各类作品的自由且不可加以限制的COPYLEFT许可证。根据GPL3.0规定,被许可人享有复制、修改(署名)及转发源代码的权利,但同时需承担相应的法律义务,即GPL3.0要求被许可人在转发经其修改后的软件作品时,必须具有显著的声明:说明对该作品进行了修改并提供修改相关的日期,说明该作品是依据本许可证以及根据第7条附加的条件进行发布的;并且根据本许可证将整个作品作为一个整体授权给任何拥有副本的人;本许可证将与任何适用的第7条附加条款一起,适用于整个作品及其所有部分,无论它们是如何打包。

而GPL的核心原则就是它的“传染性”。“传染性”可以通俗定义为:如果是转发修改后的源代码,新修改的代码也必须遵循GPL协议;以保证无论他人是否修改源代码,都可以享有继续复制、修改、转发的权利,以使得这种自由的权利继续延续下去。这种"传染性"确保了开源软件的自由传播、开源共享和开放合作。

下面结合最高人民法院的一则司法案例进行GPL“传染性”的探讨[1]。

wKgaomUAQUCAA8rXAAAFTjFkWdg232.png

一、案件背景

2014年3月原告不乱买公司成立。2014年8月10日,不乱买公司网站(××)上线。2016年8月23日,国家版权局颁发计算机软件登记证书,显示软件名称为“不乱买时尚海淘软件(PC版)”,著作权人为不乱买公司,开发完成日期为2015年3月27日,首次发表日期为2015年3月27日。不乱买公司提交了(2016)京中信内经证字第72865号公证书,2016年8月30日对不乱买公司网站(××)页面信息、网页源代码及脚本源代码进行了公证。该公证书显示,不乱买公司网站页面底部标有“2013-2016不乱买电子商务(北京)有限公司”字样。同时,不乱买公司亦提交了其网站源代码电子文件及用以证明涉案软件的研发过程的证据。

一审庭审中,不乱买公司确认其主张权利的代码为其后端所有代码,不包括数据库。被告闪亮时尚公司对不乱买公司软件源代码权属不予认可,但未提交相反证据。为证明闪亮时尚公司对不乱买公司享有著作权的软件具有接触可能性,不乱买公司提交了微信记录、邮件截图、劳动合同及闪亮时尚公司工商登记信息等。

wKgaomUAQUCAA8rXAAAFTjFkWdg232.png

二、关于双方源代码获取及比对情况

不乱买公司对闪亮时尚公司网站页面信息、网页源代码及脚本源代码进行了公证,并提交了自行比对的结果,闪亮时尚公司对此不予认可。

一审中,不乱买公司向原审法院提交了调查取证申请,依据不乱买公司申请,原审法院于2018年3月向阿里云计算有限公司调取其服务器中闪亮时尚公司网站后台全部软件代码。技术调查官对不乱买公司提交的后端代码进行了筛查,排除了开源代码的使用。因闪亮时尚公司不同意向不乱买公司及案外人提供其网站代码文件,仅同意在原审法院的主持下进行比对,且由于双方代码文件数量庞大,双方当事人均同意采用抽样方式进行比对,故原审法院确认在其主持下采用抽样比对的方式对不乱买公司和闪亮时尚公司网站代码文件进行比对,抽样比对结果将推及全部代码。抽样及比对过程如下:

在原审法院主持下,不乱买公司明确有版权的权利文件3922个。经双方当事人一致同意,原审法院确认以5%的比例从中挑选20个文件作为不乱买公司的抽样比对文件,再以关键词等方式确定闪亮时尚公司的对应文件,最后用比对软件进行比对。在技术调查官的监督下对原审法院调取的闪亮时尚公司网站源代码压缩文件进行全盘解压,共计1086万个文件。不乱买公司针对其选取的20个核心代码文件在已解压的闪亮时尚公司源代码文件中进行查找,最终确定对应文件13个。针对上述13个文件使用双方确定的ultracompare软件与不乱买公司对应源代码文件进行逐一比对,最终由该比对软件输出13份比对结果。比对结果显示:二者有些许差异,总体上实质相似。

wKgaomUAQUCAA8rXAAAFTjFkWdg232.png

三、GPL3.0部分相关规定

wKgaomUAQUOAXhU3AAEk7Od3RBw943.png

定义部分,“本程序”指任何在本许可下批准的受版权保护的程序。“修订”程序是指从软件拷贝或者做出全部或一丁点儿的修改,这不同于逐字逐句的拷贝,是需要版权许可的。修订成果被称为先前程序的“修订版本”或者“基于”先前程序的程序。

第5条,发布修订过的源码版本,您可根据第4条的条款,以源码形式发布一个基于本程序的程序,或者从本程序中制作该程序需要进行的修订,但是您必须同时满足所有以下条件:c)…本许可以及第7条中的任何附加条款适用于整个程序及其所有部分,无论该等程序以什么形式打包。d)…如果一个受保护程序和其它独立程序的联合作品,则若该联合作品并非该程序的自然扩展,也不是为了在某个存储或发布媒介上生成更大的程序,且如果联合作品和产生的版权未用于限制编译用户的访问或超出个别程序许可的合法权利时,这样的联合作品就被称为“聚合体”。包含受保护程序的聚合体并不会使本许可应用于该聚合体的其他部分。

wKgaomUAQUCAA8rXAAAFTjFkWdg232.png

四、一审法院观点

在不乱买公司已就其享有涉案软件著作权提交初步证据且闪亮时尚公司并未举出反证的情况下,原审法院对不乱买公司的权利予以认可。不乱买公司有权就涉案侵权行为提起诉讼。闪亮时尚公司提交的公证书显示,不乱买公司网站的前端代码中使用了GPL许可协议下的开源代码,不乱买公司对此亦予以认可。闪亮时尚公司认为,不乱买公司使用了适用于GPL软件许可协议下的开源代码,根据GPL许可协议相关内容,不乱买公司无权对其网站整个软件主张著作权。对此,原审法院认为,不乱买公司明确其主张权利的代码为后端代码。前端代码开发主要是指前端用户可见的操作界面如页面布局、交互效果等页面设计的一种实现方式,后端代码开发则主要是指后端用户不可见的服务端相关逻辑功能等模块的实现,二者展示方式不同、所用技术不同、分工亦有明显区别,属于可独立的程序。根据GPL协议的相关规定,GPL协议的许可客体是在GPL协议许可下批准的受版权保护的程序以及基于该程序的衍生产品或修订版本。就该案而言,不乱买公司主张的权利的后端代码中已排除开源代码,不乱买公司虽在其前端代码中使用了开源代码,但其后端代码程序并非其前端程序的衍生品或修订版本,故根据GPL协议的相关规定,该协议对涉案权利代码并无拘束力。据此,闪亮时尚公司的相关抗辩理由不能成立。

著作权侵权案件中判断被诉侵权作品是否使用了享有著作权作品的方法一般适用“接触加实质性相似”。综合本案证据,原审法院认可闪亮时尚公司具有接触到不乱买公司涉案权利软件的可能性。

关于实质性相似。基于比对结果及技术分析可知,抽样比对的绝大部分程序文件在程序逻辑和结构方面实质相同,函数变量命名特点相同或相似,且闪亮时尚公司不同文件的代码中多次出现与不乱买公司程序中相同的注释错误,该现象难谓巧合。据此,可以确定闪亮时尚公司与不乱买公司的上述程序文件实质相似的比例较高,闪亮时尚公司的该行为落入不乱买公司的复制权及修改权的保护范围。故闪亮时尚公司未经不乱买公司许可使用涉案软件的行为已侵犯不乱买公司就其软件享有的署名权、复制权及修改权,应承担停止侵权、赔偿损失及赔礼道歉的法律责任。

wKgaomUAQUCAA8rXAAAFTjFkWdg232.png

五、二审法院观点

闪亮时尚公司上诉称不乱买公司前端代码与后端代码存在交互且没有进行有效隔离,不是相互独立的,根据GPL协议的相关内容以及极强的传染性特性,不乱买公司的前端文件和后端文件共同构成的其主张著作权的软件,整体软件都可以视为前端程序的修订版本,应当遵循GPL协议向所有第三方无偿开源。对此,二审法院认为,第一,前端代码一般是关于用户可见部分的编码,用以实现操作界面如页面布局、交互效果等页面设计;而后端代码一般是涉及用户不可见部分的编码,用以实现服务端的相关逻辑功能。同时,前端代码与后端代码是可以分别独立打包、部署的。因此,前端代码与后端代码在展示方式、所用技术、功能分工等上均存在明显不同,不能因前端代码与后端代码之间存在交互配合就认定二者属于一体,原审法院认定前端代码与后端代码相互独立并无不当。第二,不乱买公司作为权利人在本案中明确放弃以前端代码主张权利,仅以后端代码主张权利,因此涉案软件仅为后端代码而非闪亮公司所称前端文件和后端文件共同构成涉案软件。第三,根据2007年6月29日发布的GPL协议第3版第5条关于“一个受保护程序和其它独立程序的联合作品,在既不是该程序的自然扩展,也不是为了生成更大的程序,且联合作品和产生的版权未用于限制编译用户的访问或超出个别程序许可的合法权利时,被称为聚合体。包含受保护程序的聚合体并不会使本许可应用于该聚合体的其他部分”的规定,闪亮时尚公司所称GPL协议的“传染性”应当是指GPL协议的许可客体不仅限于受保护程序本身,还包括受保护程序的衍生程序或修订版本,但不包括与其联合的其他独立程序。本案中,虽然不乱买公司认可其前端代码中使用了GPL协议下的开源代码,但其主张权利的是后端代码,其后端代码是独立于前端代码的其他程序,并不受GPL协议的约束,无需强制开源。综上,闪亮时尚公司的上诉理由不能成立。

wKgaomUAQUCAA8rXAAAFTjFkWdg232.png

六、本文作者观点

最高法院在二审中确认了涉案软件前端代码和后端代码的区别,即前端代码一般是关于用户可见部分的编码,用以实现操作界面如页面布局、交互效果等页面设计;而后端代码一般是涉及用户不可见部分的编码,用以实现服务端的相关逻辑功能。前端代码与后端代码可以分别独立打包、部署。前端代码与后端代码在展示方式、所用技术、功能分工等上均存在明显不同,不能因前端代码与后端代码之间存在交互配合就认定二者属于一体。笔者认为,上述观点尽管基本符合GPL的相关规定,但感觉仍有很大的探讨空间。即在前端代码与后端代码之间存在交互配合的情况下,哪些情形可以认定构成一体,哪些情形不构成一体?

我们假设一种情形,后端代码尽管可以独立打包并实现相关逻辑功能,但后端代码只能且唯一依赖该前端代码才能运行,否则后端代码不能独立运行,即后端代码只能依靠该前端代码才能实现其功能和价值,或者后端代码与前端代码之间存在调用代码或者函数的关系,亦或者前端代码直接影响后端代码的结构,此时前端代码仍然不能传染给后端代码吗?答案可能是否定的。与之相反的情形,当后端代码通过程序接口可以与多种前端代码交互配合或者反之亦然,即前端代码和后端代码都可以独立运行且具有兼容性,则该种情形下认定前端代码不具有传染性应该不会有太大的争议。

进一步而言,在软件开发实践中,广泛存在开源软件与专有软件进行组合的情形。GPL软件与专有软件形成的组合软件是否需要开源,应取决于GPL软件与专有软件的交互方式。例如,Linux开发环境下的应用程序,如果一个为Linux系统编写的专有软件仅运行于Linux内核的常规系统调用中并保留在“用户区(UserLand)”,则该专有软件应该无须遵守GPL。另一个例子,如果利用GPL下的软件工具创建专有软件,GPL软件工具中的代码没有合并到创建的专有软件中,则该专有软件应该无须遵守GPL,此种情形下,GPL软件工具仅用作创建专有软件的辅助工具[2]。另外,关于用户单独分发Linux内核模块,及GPL下访问软件库的程序等情形是否需要遵守GPL,还有开源软件应用程序接口(API)的侵权风险等问题,目前还缺少相关的司法案例,笔者将继续关注并研究。

参考文献:

[1] 最高人民法院民事判决书(2019)最高法知民终663号。

[2] 张平,徐美玲:《开源规则:案例、许可证及开源组织》,知识产权出版社,2022年11月第1版,第15页。

如果对此话题感兴趣,欢迎扫码加入“共熵大家庭”,共同推动产业与标准进步!

wKgaomUAQUeAAzAcAAC0QdItcvI935.jpg


作者:高玉光北京市信利(深圳)律师事务所

编辑:智愿君 校对:智愿君


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源技术
    +关注

    关注

    0

    文章

    389

    浏览量

    8686

原文标题:HIT 19: 开源软件(GPL)传染性问题探讨

文章出处:【微信号:开源技术服务中心,微信公众号:共熵服务中心】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    2025开放原子开发者大会量子计算开源技术分论坛即将启幕

    11月22日,2025开放原子开发者大会期间,中国移动将举办以 “量子开源・互联未来” 为主题的量子计算开源技术分论坛。论坛聚焦量子计算基础软件体系构建及国内量子软件生态发展,深度解析
    的头像 发表于 11-17 16:34 713次阅读

    燧原科技亮相GOTC 2025全球开源技术峰会

    2025年11月1日,全球开源技术峰会(GOTC 2025)在北京举行,聚焦Agentic AI、大模型应用、AI+软件工程、具身智能等热门话题,探讨开源未来和发展。
    的头像 发表于 11-04 10:40 252次阅读

    NVIDIA宣布开源Aerial软件

    NVIDIA 开源其 Aerial 软件,并将 NVIDIA Sionna 研究套件和 Aerial 测试平台引入 NVIDIA DGX Spark 平台,为研究人员提供强大的工具和便捷的访问途径,以加速 AI 原生无线创新。
    的头像 发表于 11-03 15:14 560次阅读

    开源鸿蒙技术大会2025丨开源鸿蒙竞赛训练营2025结营颁奖,19支高校团队荣誉加冕

    19支获奖队伍颁奖,见证青年学子在开源赛道上的实践与突破。 开源鸿蒙竞赛训练营合影 自启动以来,本届训练营吸引了来自上海交通大学、北京邮电大学、南方科技大学、武汉大学、北京航空航天大学等在内的53所高校的105支队伍踊跃参赛。
    的头像 发表于 10-12 21:04 243次阅读
    <b class='flag-5'>开源</b>鸿蒙技术大会2025丨<b class='flag-5'>开源</b>鸿蒙竞赛训练营2025结营颁奖,<b class='flag-5'>19</b>支高校团队荣誉加冕

    普华基础软件亮相2025 CCF中国开源大会

    近日,由中国计算机学会(CCF)主办的2025 CCF中国开源大会在上海召开。本届大会以“蓄势引领、众行致远”为主题,重点聚焦开源操作系统、开源芯片、开源大模型、
    的头像 发表于 08-11 09:21 911次阅读

    openKylin开源生态论坛顺利召开

    近日,2025开放原子开源生态大会在北京举办。作为本次大会的一部分,openKylin开源生态论坛顺利召开。论坛汇聚了芯片厂商、整机企业、软件伙伴、教育机构等社区伙伴代表,共同探讨开源
    的头像 发表于 07-28 17:24 946次阅读

    普华基础软件荣膺优秀开源项目奖

    近日,2025上海开源创新菁英奖评选结果正式揭晓。普华基础软件开源安全车控操作系统小满EasyXMen凭借在开源技术创新与产业应用实践方面的突出表现,荣获“优秀
    的头像 发表于 07-28 16:48 713次阅读

    迅龙软件亮相2025开放原子开源生态大会,共绘AI+开源智能图景

    7月23日,2025开放原子开源生态大会在北京举行。大会由开放原子开源基金会主办,以“开源赋能产业,生态共筑未来”为主题,旨在展示中国开源生态“创新发展+开放协作”的成果,汇聚全球
    的头像 发表于 07-25 18:15 1020次阅读
    迅龙<b class='flag-5'>软件</b>亮相2025开放原子<b class='flag-5'>开源</b>生态大会,共绘AI+<b class='flag-5'>开源</b>智能图景

    请问EZ-Serial固件是否使用任何OSS(开源软件)库或软件

    EZ-Serial 固件是否使用任何 OSS(开源软件)库或软件
    发表于 07-02 08:14

    润和软件亮相2025南京软件大会

    此前,6月17日至19日,2025南京软件大会在江北新区圆满举行。本次大会以“工业软件赋智 开源创新赋能”为主题,由南京市人民政府主办,工业和信息化部电子第五研究所、南京市工业和信息化
    的头像 发表于 06-20 17:45 2188次阅读

    普华基础软件开源车用操作系统迎来全新版本

    近日,普华基础软件开源车用操作系统媒体发布会在上海中国汽车会客厅召开——全球首个开源智能驾驶操作系统微内核龘EasyAda、开源安全车控操作系统小满EasyXMen全新版本正式发布。现
    的头像 发表于 04-25 16:18 793次阅读

    迅龙软件参加开源中国《数智漫谈》,探讨AI如何迈进大模型时代

    晚,开源中国直播栏目《数智漫谈》邀请华为昇腾生态技术专家、行业先行者以及迅龙软件等,分享一线开发经验,助力开发者与企业用户抓住国产AI新红利。该话题围绕“如何让A
    的头像 发表于 04-24 15:08 633次阅读
    迅龙<b class='flag-5'>软件</b>参加<b class='flag-5'>开源</b>中国《数智漫谈》,<b class='flag-5'>探讨</b>AI如何迈进大模型时代

    第二届开放原子大赛汽车软件开源赛圆满落幕

    2月14日,由开放原子开源基金会、重庆市经济和信息化委员会共同主办的第二届开放原子大赛——汽车软件开源赛在重庆圆满落幕。颁奖典礼上,24支参赛队伍荣获奖项,展现了开源技术在汽车
    的头像 发表于 02-15 14:45 1187次阅读

    开源安全领航者!华为云 CodeArts Governance 构建更安全的软件开发生命周期

    华为云 CodeArts Governance开源治理服务是针对软件研发提供的一站式开源软件治理平台,从合法合规、网络安全、供应安全等维度消减开源
    的头像 发表于 02-12 16:50 3007次阅读
    <b class='flag-5'>开源</b>安全领航者!华为云 CodeArts Governance 构建更安全的<b class='flag-5'>软件</b>开发生命周期

    共建鸿蒙生态,开放原子开源基金会为迅龙软件授牌

    12月20至21日,以“一切为了开发者”为主题的“2024开放原子开发者大会暨首届开源技术学术大会”在武汉举办。本届大会由开放原子开源基金会、中国通信学会联合主办,旨在贯彻落实国家软件发展战略,加速
    的头像 发表于 01-08 17:36 995次阅读
    共建鸿蒙生态,开放原子<b class='flag-5'>开源</b>基金会为迅龙<b class='flag-5'>软件</b>授牌