涪陵法律知识

LEGAL INSIGHTS · 法律实务

修改AGPL软件提供在线服务,怎样核对应源码和网络用户取得方式

改造开源程序做在线服务,先读实际许可证版本

软件企业修改一款采用GNU Affero通用公共许可证第三版的软件,用于向客户提供在线服务,不能只因没有把安装包交给客户,就认定从来无须提供源码。AGPL第三版第十三节,对修改后的程序支持通过网络远程交互时,向相应用户提供对应源码设置了专门条件。

本题只讨论确实采用该许可证且实际修改的程序,不把所有开源软件、所有GPL版本及全部云服务都当成同一种授权。涪陵企业审查现有产品,应保存原项目、取得时间、具体版本、完整许可与自己的修改记录,而非仅凭供应商说开源免费就决定上线。

网络交互与交付复制件,先按许可定义分清

许可证第零节将使他人取得复制件的传播,与单纯通过网络交互且无复制件转移区分。第十三节另行处理修改版本支持远程网络交互的情况,因此不能只拿一般软件未交付的结论,省略该节要求;也不能反过来说用户点开任何网页,就当然取得全站所有代码。

先由技术人员识别实际运行的是哪一程序、改过哪些部分、谁通过何种接口与该版本交互,形成架构与版本对照。未修改运行、单独服务、合并程序和向客户交付安装包,事实可能不同,应分别核授权适用,不能用业务部门一张系统名称表替代技术关系判断。

对应源码不只是最初下载的原版压缩包

第一节说明对应源码范围,包括生成、安装、运行和修改所需源码及控制有关活动的脚本等,同时对系统库及相应通用工具等作出边界。第十三节要求显著地向远程交互用户提供免费从网络服务器取得对应源码的机会。

若线上运行的是修改版本,仅链接最初上游项目而不含相应修改,不能据此认定已满足要求;只有一个失效链接或须另付源码费,也要核是否实际提供所要求的取得机会。具体哪些连接、依赖和脚本属于对应范围,应结合真实结构由技术与法律人员共同判断,不笼统声称一处使用必然令全部企业系统开源。

许可允许使用,不等于放弃版权与全部条件

计算机软件保护条例第八、十八条涉及著作权人的许可及未明确许可权利的边界。开源许可可以授予复制、修改等权限,并以相应条件安排后续使用;不能将免费获取理解为软件没有著作权,或者删除原声明后登记成自己独占的成果。

第十三节是许可证条款,不是中国行政机关对全部在线服务统一颁布的一条强制开源法规。发生争议还须核真实权利人、授权链、适用法、违反何项条件及具体行为,不能根据项目名称直接宣布某企业已构成侵权或应赔固定金额。

商业保密条款不能直接覆盖上游授权义务

与外包公司约定所有代码保密,可用于约束有权保密的内容,但不能使相冲突的上游授权要求自行消失。采购阶段应核所含组件许可、修改和部署方式、源码提供机制及持续更新,不等验收付款后才发现原先承诺的完全封闭交付无法合法实现。

对应源码不等于客户业务数据、个人信息、生产密码均应公开。应依法整理可交付的真实源码和必要构建资料,对无关秘密、凭据和数据做好合法隔离;不能借清理敏感信息删除许可实际要求的代码,也不能把整套生产环境无筛选打包外发。

发现缺口,保留版本并确定真正可行的整改

可评估按实际许可补足提供机制、合法取得覆盖相关权利的其他许可,或依法替换实现方案。商业授权须有真正有权主体及完整范围,不能从无权代理购买一张证明便认为历史行为全部解决。停止或改版对既往责任和许可证恢复的影响,还需另核第八节等具体条件。

委托成果宜包括组件与权利表、修改和交互事实、对应源码目录、提供入口测试和合同责任安排。法律审查不冒充完成技术审计,也不保证贴一行开源声明即可使现有全部版本合规。

参考依据

本文所涉法条与办案规则应以现行有效版本及个案事实为准。可通过以下官方渠道核验: