评审背景
截至当前,本项目已累计征集到50余篇译文投稿,涵盖(1)Apache License 2.0、MIT、GPL 2.0、GPL 3.0、LGPL 3.0、AGPL 3.0等主流许可证33份,(2)OFL字体许可证、CERN-OHL-P-2.0开放硬件许可证、CDLA数据许可证等特殊用途许可证6份,(3)EUPL[欧]、CeCILL-2.1[法]、공공누리(KOGL)[韩]、D-FSL-1.0[德]等特定法域及小语种许可证6份,(4)FDL等其他许可证6份。
继2023年下半年对GPLv3、AGPLv3进行评审之后,本项目于11月19日、12月4日两次组织评审团成员对GPLv3同系列的弱限制型许可证的LGPLv3投稿译文进行了评审。关于LGPLv3译文,我们首先对 Peaksol、KUMA、欧轩琦、赵振华 四位积极参与投稿的译者表示感谢!
评审情况
参与两次讨论的评审团成员如下,并最终形成LGPLv3译文审定稿.
- 卫sir :开源“圣经”《大教堂与集市》中文版译者、人话版许可证中文版系列作者
- 沈芬律师 :华为资深开源法律专家、“木兰”双语开源许可证主要作者之一
- 徐美玲助理教授:对外经济贸易大学法学院助理教授、《开源规则——案例、许可证及开源组织》合著作者
列席会议的源译识项目译者有:欧轩琦、王荷舒、郭雪雯、薛杨洁
首先,基于徐美玲老师的建议,我们建立了术语表,许可证板块的术语表请见至 Glossary,这个术语表也包括了该词在具体场景下的含义,源译识其他板块的术语表请见各自仓库。
。评审团成员分两次基于四份译文投稿逐字进行评审,主要明确了lesser较宽松、refer to调用、function方法、accessor存取器、debug调试、reference查阅位置 等术语表述。此外评审团就重点语句进行了研讨与解读,包括但不限于如下:
条款0
-
对于“应用程序”定义,与会老师对“Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library.”的译文进行了探讨,审定为 在本库定义的类下定义一个子类,被视为是一种调用了本库接口的方式。 有评审老师指出:向“对象”的编程会定义“类”,“类”是C++的概念,而C中没有。
-
对于“组合作品”的定义,与会老师对“he particular version of the Library with which the Combined Work was made is also called the “Linked Version”.” 一句进行了探讨,审定为制作组合作品的本库的特定版本被称为“被链接版本”。 有评审老师指出:“组合”是源码组合后再编译,“链接”是指源码和本库的二进制链接在一起;python等语言没有编译的概念,可以直接运行。
-
对于“对应应用程序代码”的定义,与会老师对"including any data and utility programs needed for reproducing the Combined Work from the Application" 中“reproduce”一词产生了分歧,有的老师认为,美国法上有“复制”的权利,需检视此处是计算机用语还是著作权用语。有的老师认为,含义上就是“复制”本身,仅限于直接复制代码,这里和“生成”是两个概念,无需最终成为一个可运行的App;翻译为“生成”将扩大代码范围。还有的老师表达了不同意见,认为:reproduce在计算机中包含了编译、打包、链接等过程,且包括数据、实用程序等,才能够基于Application“生成”一个组合作品,因而而非直接的拷贝,比拷贝所需代码更多。此外,“组合作品”是“应用程序”和LGPL库组合或链接在一起而产生的作品,因而组合作品大于应用程序,无法reproducing[复制代码] the Combined Work [大作品] from the Application [小作品],即无法从小作品中复制代码出来一个大作品。待会后进一步意见征询。
条款2
- a facility refers to a function or data to be supplied by an Application that uses the facility 首先对于这句中的“refer to”进行了探讨, 有老师指出:经比对本条款的a)b)两个规定,下文中会出现,不提供“方法和数据”的情况下,“功能”仍可运行,因而这里的refers to并非是在定义,并非翻译为“指的是”(DeepL的翻译),而是一个实质的动词。有专家进而指出,facility不是设施,而是“功能”;refers to是计算机中的“调用/Call”,执行函数和一段程序;Function是“函数”,但新一代人所知悉的更多是“方法”这个翻译。因而,整段话的意思是:应用程序所使用的本库的某个功能调用了应用程序提供的方法和数据,且如果本库的使用可以脱离前述“方法和数据”运行,那就适用LGPL,否则需要适用GPL(即会被传染到)。最终该段审定为 如果您修改本库的副本,并且在您的修改中,(本库中的)一个功能调用了使用该功能的应用程序所提供的方法或者数据(而非在调用上述功能时一并将参数上传),那么你可根据以下规定发送修改版本的副本:a);b)
条款3
- 首段审定为 应用程序的目标代码可能包含作为本库的组成部分的头文件中的材料。如果包含的材料不限于数字参数、数据结构布局和存取器,或小型宏、内联方法和模板(长度少于或等于十行),只要您做到以下两点,则您可以根据您选择的条款传递这些目标代码:a)b),这里与会老师特别指出,为什么会约定目标代码中头文件的材料要 长度少于或等于十行,这是因为,多于10行就被传染了,也就无需做到以下两点。
条款4
- Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 与会老师对条款4第d(0)款户进行了探讨,最终审定为 根据本许可证条款传递最小对应源代码,并以如下方式传递对应应用程序代码:在形式上适合、且在条款上允许用户重新组合或重新链接应用程序与被链接版本的修改版以生成一份修改后的组合作品,且以上也需遵循GNU GPL第6条规定的传递对应源代码的方式。
会后讨论
会后,对于Reproduce 是法律术语“复制”还是技术术语“再生成”的问题,我们向周明辉老师、张平老师进行了咨询,两位老师均认为 reproduce 在这里的含义是“再次生成”,或者参考科学实验结果中的“复现”表述(跟随前述所有step,复现出来相同结果,代码中也是遵循所有步骤,执行代码,复现它)。
对此,有老师指出,从法律的纬度,在著作权法上,reproduce,我们一般理解就是“复制”的意思,复制权对应的也是right of reproduction,跟国外学者交流的时候大家也知道其表达的含义,这里面的复制,除了完全一模一样的copy,也有达到著作权法意义上“复制”的一定比例的copy;但是技术纬度,可能也有自己常用的翻译表达。许可证作为一份重要的法律文本,无论中文翻译为什么,最重要的是需要界定清楚其内含,以便产生纠纷时,确认其法律适用。也有老师认为,“复现”在代码中并不常见,复现一般是说复现一个现象,或者是系统故障的复现,用在代码生成这里似不相宜;此外,在本文中也是一个新用词,最好可以和上下文的表述保持一致。
经全部评审团成员再次讨论,这里要 reproduce 的combined work是指组合或链接在一起而产生的作品,这在程序意义上的具体指的是·1源码组合,2可能有对源码的编译链接,3可能只是链接,而且现在很多场景下,编译也是不需要的,因而不能翻译为 “重新编译”。至于这里为什么要有“再” 生成,这是因为,这一段定义“对应应用程序” 就是为了说,传递组合作品时候,为了能使得“用户重新组合或重新链接应用程序与被链接版本的修改版以生成一份修改后的组合作品”,得把“对应应用程序代码”和“最小对应源代码”一并给传递了,因而 为了统一上下文表述,翻译为重新生成。整句翻译为 组合作品的 “对应应用程序代码” 是指应用程序的目标码和/或源代码,包括基于应用程序重新生成组合作品所需的任何数据和实用程序,但不包括组合作品中的系统库。。