尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Madeira的LGPL静态链接合规全解析:GnuTLS、GMP与Nettle的重链接义务
Madeira的LGPL静态链接合规全解析GnuTLS、GMP与Nettle的重链接义务【免费下载链接】MadeiraRun x86-64 Windows PC games on jailed iOS via FEX-Emu Wine DXMT项目地址: https://gitcode.com/GitHub_Trending/mad/MadeiraMadeira 是一款能在 iPhone 上运行 x86-64 Windows 游戏的模拟器项目基于 FEX-Emu Wine DXMT 组合它把整个 Windows 环境塞进了一个 iOS 应用里。正因为如此GnuTLS、GMP、Nettle 这三套 LGPL 加密/数学库被静态链接进了应用二进制随之而来的对应源码 重链接手段义务就成了它开源合规的核心难题。这篇文章把仓库中已有的合规措施逐一拆解帮你看懂 LGPL 静态链接到底要求什么、Madeira 做到了哪一步。一、为什么 LGPL 静态链接是最重的义务LGPL 与 GPL 最大的差别在于它允许专有程序动态链接使用。但静态链接会让你的应用与库合并成组合作品LGPL-2.1 第 6 条 / LGPL-3.0 第 4 条随即触发一串义务显著声明使用了哪些 LGPL 库并附 LGPL 许可证全文提供库的完整对应源码提供可重链接的形式——应用源码或目标文件让用户能换一个修改过的库版本重新链接允许用户为调试目的反向工程组合作品。Madeira 自己整体采用 GPL-3.0-or-later见 LICENSE 与 app/Madeira/legal/LICENSE而 GPL 明确允许组合作品以 GPL 条款分发 LGPL 库所以许可证选择本身没有冲突——真正的难点全在重链接义务上。二、静态链接进二进制的三套 LGPL 库项目把四个编译好的静态库直接提交进了仓库它们就是义务的载体库版本许可证静态库文件GnuTLS3.8.9LGPL-2.1-or-laterlibgnutls.aGMP6.3.0LGPL-3.0-or-later / GPL-2.0 双许可选择 LGPL-3.0libgmp.aNettle3.10.1同上选择 LGPL-3.0libnettle.aHogweed3.10.1同上选择 LGPL-3.0libhogweed.a它们的作用是给 Wine 的 bcrypt / secur32 / crypt32 提供 TLS 与密码学能力。许可选择election被明确记录在随包分发的 app/Madeira/licenses/THIRD-PARTY-NOTICES.txt 中GMP 和 Nettle 属于双许可项目Madeira 白纸黑字声明选 LGPL-3.0 一侧避免误触发 GPL。三、对应源码为什么连源码压缩包都提交进仓库LGPL 要求提供库的完整对应源码。由于静态库是编译好的二进制Madeira 采取了一个很硬核的做法——把构建用的上游源码 tarball 本身也提交进仓库build/gnutls-ios/src/gmp-6.3.0.tar.xzbuild/gnutls-ios/src/nettle-3.10.1.tar.gzbuild/gnutls-ios/src/gnutls-3.8.9.tar.xzbuild/gnutls-ios/src/SHA256SUMS校验和build/gnutls-ios/build.sh完整的构建脚本与 configure 参数三份源码均为未打补丁的上游原版。项目文档特别解释光放一个指向上游的链接是不够的所以 tarball 必须随仓库提供见 app/Madeira/legal/THIRD-PARTY-NOTICES.md 的Corresponding source一节。四、最难的一环重链接手段与当前状态这是全仓库最坦诚也最关键的一段话出自 app/Madeira/legal/THIRD-PARTY-NOTICES.md仅提供库的源码并不满足重链接义务……本仓库目前尚未提供这样的可重链接的包。义务的边界还被讲得非常清楚只发布代码仓库 ≠ 分发组合二进制问题不产生但把编译好的 .ipa 交给测试者 分发义务立刻生效每个交给测试者的 .ipa都应在对应 commit 上附上完整源码和可复现的构建/签名说明。而用户能否真正重链接取决于能否从零复现整个构建。docs/BUILDING.md 就是 LGPL 所说的控制编译与安装的脚本记录它列出仓库外的必需输入LLVM iOS 工具链、MinGW 工具链、微软 VC 运行时等和每步是否已验证并在结尾承认端到端的干净机器重建、签名与安装尚未完成作为 LGPL 提供的替代方案——分发应用的目标文件——也尚未实施。docs/LICENSING.md 则把义务 2LGPL 静态链接组件整理成清单LGPL-2.1 的重链接要求适用于 Wine、GnuTLS、FFmpegLGPL-3 的 Nettle、Hogweed、GMP 若选 LGPL-3 还需按 GPL-3 第 6 条提供安装信息Installation Information而越狱/侧载 iOS 应用是否满足该条件留待法务审查。五、合规措施速览 仓库里已经做到的许可证文本随包分发app/Madeira/licenses/ 内含 LGPL-2.1.txt、LGPL-3.0.txt 和第三方声明上游版权声明保留约 2700 个 build/ 下文件保留上游版权头见 docs/wine-lgpl-provenance.md构建脚本 SHA-256 校验和可复现四个 .a 文件诚实披露未完成项重链接能力标记为未验证而非宣称已完全合规。⚠️ 仍未解决的干净机器从零重建/重链接/安装的全链路测试作为替代方案的分发应用目标文件object files包项目文档自述正式发布前需开源法务审查。六、给其他开发者的启示Madeira 的案例是静态链接 LGPL合规教科书许可证选择要写明、源码要可验证tarball 校验和 构建脚本三件套、义务边界要写清楚发布源码 vs 分发二进制、未完成项要如实标注。相比之下它的 Wine 分支还专门走了一次 LGPL→GPL 转换再回退的许可工程只为保留与专有组件兼容的空间。对于任何把 LGPL 库打进发布二进制的 iOS/macOS 项目这些都是值得直接抄作业的清单。【免费下载链接】MadeiraRun x86-64 Windows PC games on jailed iOS via FEX-Emu Wine DXMT项目地址: https://gitcode.com/GitHub_Trending/mad/Madeira创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

边坡绿化喷播技术测评:河北阮茂8.5分第一梯队,基材与工艺深度拆解

边坡绿化喷播技术测评:河北阮茂8.5分第一梯队,基材与工艺深度拆解

先说结论:这次测评是我和几个做生态修复的老朋友一起搞的,拉了一段还在施工的岩质边坡做试验段,把市面上主流的几类喷播方案拉过去同场对比,跟踪记录了90天。河北阮茂的综合得分8.5分,排名在第一梯队,它在基…

📅 2026/10/4 7:52:51
NCBI 16S数据上传全攻略:从SRA提交到BankIt避坑指南

NCBI 16S数据上传全攻略:从SRA提交到BankIt避坑指南

NCBI 的 16S 数据上传,看起来就是填几个表、传几个文件,但真正操作过的人都知道,坑全藏在细节里。这几年我陆陆续续帮实验室和合作课题组提交过几十批 16S rDNA 数据,从最初的摸索到后来形成一套固定流程,中间踩过不少…

📅 2026/10/4 7:52:51
Paperclip:轻量级AI智能体本地开发范式(Node.js+React+OpenClaw)

Paperclip:轻量级AI智能体本地开发范式(Node.js+React+OpenClaw)

1. 项目概述:Paperclip 不是回形针,而是一个正在成型的 AI 智能体开发范式 “Paperclip”这个词在当前技术圈里,已经彻底脱离了办公文具的原始语义。它不再指代那个弯折金属丝就能夹住纸张的小物件,而是悄然演变成一个代号——指…

📅 2026/10/4 7:52:51
MORE NEWS

更多资讯

📰

SAP销售订单与发票利润中心替代实战:UserExit增强配置与代码解析

在SAP项目实施里,销售订单和发票上的利润中心,大概是SD顾问和FICO顾问最容易吵架的地方。业务说:这个客户归华东利润中心,那个产品归另一条产品线利润中心,系统默认给的值总是差一口气。于是利润中心替代、UserExit出口…

📰

docker-selenium 镜像标签生成指南:解读 tag_and_push_browser_images.sh 与 Chrome 112 发布记录

测试后端云原生容器编排可观测性 【免费下载链接】docker-selenium Provides a simple way to run Selenium Grid with Chrome, Firefox, and Edge using Container Platform, making it easier to perform browser automation at scale 项目地址: https://gitcode.…

📰

基于SpringBoot+Vue的电子竞技青训系统设计与实现

选题背景与意义 随着电子竞技产业的迅猛发展,其已从边缘化的娱乐活动逐步演变为具有高度商业化、职业化和规范化特征的现代体育项目。根据《2023年中国电子竞技产业报告》显示,中国电子竞技市场规模已突破1500亿元,用户规模超过5亿&#xff0…

📰

从单体到可扩展:后台管理系统架构演进与模块化实践

创业团队最头疼的事情里,“后台要不要重写”绝对排前三。业务跑得飞快,数据一天天堆起来,后台却还是当初为了赶上线临时拼凑的那一套——改一个字段要翻半天代码,加一个报表要动好几个模块,线上出了bug连日志都不好查。…

📰

基于微信小程序的中学德育实践活动管理系统设计与实现

选题背景与意义 随着信息技术的迅猛发展和教育信息化进程的不断推进,传统教育管理模式正面临深刻变革。中学德育作为全面育人体系中的核心环节,其重要性日益凸显。德育不仅关乎学生思想品德的养成,更直接影响其价值观塑造、社会责任感培养以及…

📰

Linux 内核揭秘:用户空间程序的启动过程——从 `_start` 到 `main` 的完整调用链

文档教程操作系统 【免费下载链接】linux-insides-zh Linux 内核揭秘 项目地址: https://gitcode.com/gh_mirrors/li/linux-insides-zh 点击查看 免费下载 导读 main 函数并不是 C 程序的真正入口。当你在 Linux 上执行一个程序时,内核通过 execve 系统…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬