Skip to content

关于项目 GPL-3.0 协议合规性及 SDK 二进制文件 (.so) 源码开放的建议 #863

@0x00Finch

Description

@0x00Finch

摘要 / 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

.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions