摘要 / Summary
感谢作者开发了语燕输入法。在查看项目代码时,我发现项目采用了 GPL-3.0 协议,但在实现中引入了以 .so 形式存在的二进制 SDK。
根据 GPL-3.0 协议的要求,这可能存在合规性风险,特此提醒:
协议冲突:GPL-3.0 要求分发程序时必须提供其“对应源代码(Corresponding Source)”。由于项目动态/静态链接了闭源的 .so 文件,这使得整个项目作为“组合作品”时,无法满足 GPL 的开源要求。
二分发风险:目前的结构会导致第三方贡献者或分发者在遵守 GPL 协议时面临法律困境,因为他们无法提供该 SDK 的源码。
建议解决方案:
方案 A(推荐):将该 SDK 的源代码一并开源,并确保其协议与 GPL-3.0 兼容。
方案 B:如果 SDK 必须闭源,建议更改主项目的授权协议。例如更换为 LGPL(允许链接闭源库)或 Apache 2.0 / MIT 等宽松协议。
方案 C:在 GPL-3.0 协议基础上增加 “Linking Exception” (链接例外) 声明,明确允许项目与该特定闭源 SDK 进行链接。
希望作者能考虑优化项目的授权结构,使项目能更健康地在开源社区传播。
重现步骤 / Steps to Reproduce
.
预期行为 / Expected Behavior
.
截图 / Screenshot
No response
附加信息 / Additional Context
No response
系统版本 / OS Version
.
应用版本 / App Version
.
构建信息 / Build Information
.
摘要 / Summary
感谢作者开发了语燕输入法。在查看项目代码时,我发现项目采用了 GPL-3.0 协议,但在实现中引入了以 .so 形式存在的二进制 SDK。
根据 GPL-3.0 协议的要求,这可能存在合规性风险,特此提醒:
建议解决方案:
希望作者能考虑优化项目的授权结构,使项目能更健康地在开源社区传播。
重现步骤 / Steps to Reproduce
.
预期行为 / Expected Behavior
.
截图 / Screenshot
No response
附加信息 / Additional Context
No response
系统版本 / OS Version
.
应用版本 / App Version
.
构建信息 / Build Information
.