Logo RenpyThief

开源许可证与合规声明

RenpyThief 绝大部分功能均为自主研发,所使用的开源组件仅占极小部分,且严格遵守相应开源协议。以下为正式合规说明。

我们并非借开源之名随意牟利。软件涉及的开源部分仅占极小比例,且完全符合对应开源协议要求;其余绝大多数引擎适配均为团队自主开发。针对相关开源协议问题,我们已咨询专业知识产权律师,并对全部代码进行了合规审计(涵盖主程序、GPLv3 及 MIT 相关代码),以确保当前使用方式符合协议要求。

合规审计与责任声明

针对软件所涉及的开源协议问题,我们已咨询专业的知识产权律师,并对软件代码进行了全面的合规审计。审计范围涵盖主程序部分、涉及 GPLv3 协议的相关代码部分以及涉及 MIT 协议的相关代码部分,以确保软件目前的使用方式符合相关开源协议要求。

以下说明内容均基于实际代码情况、开源协议要求以及专业法律意见整理。我们保证相关说明真实、准确,并愿意承担相应责任。目前软件的使用方式均按照对应开源协议要求执行,不存在违反开源协议的问题。

MIT 协议(XUnity 组件) MIT License

针对修改了 MIT 协议的 XUnity 代码是否需要开源的问题:MIT 协议并不要求公开修改后的源代码,但要求保留许可证及版权声明。

在软件的 license 文件夹中,LICENSE-MIT 文件已完整包含相应的许可证及版权声明。

GPLv3 协议与源码获取 GPLv3 License

针对 GPLv3 代码部分未提供公开源码下载地址的问题,说明如下:GPLv3 协议要求使用者在分发 GPLv3 软件时确保用户能够获取对应源码。该要求的核心是保障用户拥有获取源码的权利,而并非强制要求所有软件必须在安装界面中直接展示一个公开下载链接。

目前 RenpyThief 已按照相关开源协议要求,在软件中附带 GPLv3 License 文件,用于说明所使用开源组件的协议授权信息。由于该组件属于独立程序,并非 RenpyThief 主程序代码的一部分,因此我们没有将其源码与主程序绑定发布。对于 GPLv3 相关源码获取需求,用户可以联系我们,我们会提供对应的源码获取方式,以确保用户能够获得 GPLv3 组件的源代码。

为进一步完善软件的开源组件信息展示、提升开源协议相关信息的透明度,我们已发布最新版本,新增「关于」页面,将所使用的开源项目以及 GPLv3 组件源码获取链接一并附上,用户可直接通过该链接访问并获取对应源码。

GPLv3 组件源码下载链接

https://updates.renpy.fun/OpenSource/RenpyThiefInjector.7z

软件「通用注入模式」的每次更新,均会同步更新此源码。

软件架构与 GPLv3 合规性

本软件由两个相互独立的程序组成:一是闭源主程序(RenpyThief),二是文本注入器(RenpyInjector)。注入器基于开源项目 Textractor(GPLv3 许可)修改而来,作为一个完全独立的可执行文件(RenpyInjector-x64.exe / x86.exe)编译和发布,其内部通过命名管道将钩子 DLL 注入到目标游戏进程中,实时抓取游戏文本。

其工作原理是:主程序通过操作系统的进程启动机制(exec / CreateProcess)将注入器作为一个独立的子进程拉起;注入器抓取到游戏文本后,仅通过 HTTP localhost(127.0.0.1)Socket 通信将文本数据回传给主程序。两个程序拥有各自独立的进程空间、独立的内存和独立的运行生命周期。主程序既没有复制、嵌入或修改任何 GPLv3 源代码,也没有通过静态链接、动态链接(DLL / SO / JAR)、函数调用、反射加载或共享内存等任何方式将 GPL 组件并入自身。

根据自由软件基金会(FSF)对 GPL 衍生作品的一贯判定原则,「通过 fork / exec 启动独立进程,并以管道、Socket、HTTP、命令行参数等进程间通信(IPC)方式交换数据」的两个程序,被视为相互独立的作品,而非单一的结合作品(combined work)。GPLv3 的传染性(copyleft)仅在两部分被组合进同一个程序(例如链接进同一进程、共享同一地址空间的模块)时才会触发。

本软件中,GPLv3 组件被完整地隔离在独立进程边界内,主程序与其之间仅存在松散的、基于标准网络协议的数据交换——这与一个闭源程序调用独立的开源命令行工具(如 ffmpeg、git)在法律性质上并无二致。因此,主程序不构成 Textractor 的衍生作品,GPLv3 的传染效力不及于闭源主程序;注入器自身作为 Textractor 的衍生作品,则按 GPLv3 要求以开源形式独立提供其完整源代码,从而实现两者各自合规、互不传染。

自主研发的引擎适配

经代码审计确认,除 XUnity(MIT)以及 Textractor(GPLv3)组件外,RenpyThief 未引入其他第三方开源代码用于实现各游戏引擎的翻译功能。以下引擎的内嵌适配模块均为团队自主开发,不存在基于其他开源项目二次修改或集成的情况:

Ren'Py RPG Maker MV / MZ Wolf RPG Editor Tyrano V8 Electron Godot GameMaker ChoiceScript Bakin Pixel Game Maker MV SRPG Studio