ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Overpass 字体双许可证(SIL OFL 1.1 与 LGPL 2.1)解析及其在 Nerd Fonts 中的合规实践

2026/10/3 8:23:03 拓冰建站 浏览量
Overpass 字体双许可证(SIL OFL 1.1 与 LGPL 2.1)解析及其在 Nerd Fonts 中的合规实践 开发工具CLI【免费下载链接】nerd-fontsIconic font aggregator, collection, patcher. 3,600 icons, 50 patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, more项目地址https://gitcode.com/GitHub_Trending/ne/nerd-fonts点击查看免费下载本文以 Nerd Fonts 仓库内 Overpass 字体自带的 LICENSE.md 为核心对象完整解读其双许可结构SIL Open Font License 1.1 与 GNU LGPL 2.1并结合仓库中 Overpass 字体的打补丁产物、字体修补器font-patcher源码与许可证审计文件说明该许可文本如何在图标字体项目中落地执行。读完本文你将能准确理解 OFL 1.1 的授权边界、Reserved Font NameRFN机制、双许可选择策略以及字体再分发时如何合规地保留许可声明。一、Overpass 字体在 Nerd Fonts 中的位置Overpass 是一款 Red Hat 主导设计的开源无衬线sans-serif字体族其上游版本在仓库中标记为 3.0.5。在 Nerd Fonts 项目中它同时以两种形态存在未打补丁的原始字体位于 src/unpatched-fonts/Overpass分为Non-Mono与Mono两套子目录覆盖 Thin 到 Heavy 共 16 个字重含意大利斜体例如overpass-regular.otf、overpass-heavy.otf等已打补丁的 Nerd Fonts 产物位于 patched-fonts/Overpass每个字重目录下均包含两种变体如OverpassNerdFont-Regular.otf图标约 1.5 字母宽与OverpassNerdFontPropo-Regular.otf比例宽度变体。由于打补丁本质上是把数千个图标字形并入原字体属于 OFL 定义中的修改版本Modified Version因此本许可证文本随每个字重目录一起分发如 patched-fonts/Overpass/Non-Mono/Regular/LICENSE.md这正是 OFL 第 2 条每个副本必须包含版权声明与许可证的具体执行。二、双许可证一份文件里的两套法律框架该 LICENSE.md 的开头明确写道字体软件采用双许可dual licensed同时以SIL Open Font License 1.1和LGPL 2.1两种许可证提供。这类做法在开源字体中并不罕见上游作者通过双许可赋予使用者选择权——你可以按 OFL 的规则使用与再分发也可以按 LGPL 的规则将其作为库链接进自由软件项目。仓库的许可证审计文件 license-audit.md 将该字体登记为OFL-1.1-no-RFN or LGPL-2.1-only其中no-RFN表示该字体在声明中未设置保留字体名Reserved Font Name这点下文会展开。审计表以or连接两套许可证恰好呼应了二选一的双许可结构。三、SIL OFL 1.1 逐条拆解许可证正文共分为 PREAMBLE序言、DEFINITIONS定义、PERMISSION CONDITIONS授权与条件、TERMINATION终止与 DISCLAIMER免责声明五部分。3.1 序言与核心精神OFL 的宗旨是激励协作式字体项目的发展支持学术与语言社区的字体重建工作并提供一套可自由共享、改进的开放框架。它的前提条件很明确——字体可以免费使用、研究、修改、再分发但不能单独作为商品出售as long as they are not sold by themselves。3.2 四个关键定义术语含义Font Software版权持有人以本许可证发布的整套文件集合可包含源文件、构建脚本与文档Reserved Font Name版权声明之后明确指定的保留字体名Original Version版权持有人分发的原始字体软件组件集合Modified Version通过增删替换组件、变更格式或移植到新环境产生的任何衍生版本3.3 授权与五条核心条件许可证授予任何人免费使用、研究、复制、合并、嵌入、修改、再分发以及销售修改/未修改副本的权利同时附有五条硬性条件不得单独出售字体软件及其任何组件无论原始版还是修改版都不能脱离软件单独售卖再分发需附许可可以捆绑、再分发、随软件销售但每个副本必须同时包含上述版权声明与本许可证——可以独立文本文件、可读文件头或二进制文件内易读的元数据字段三种形式呈现保留字体名限制任何修改版本不得使用保留字体名除非获得版权持有人书面许可该限制仅作用于呈现给用户的主字体名不得借名推广不得使用版权持有人或作者的名义推广、背书或宣传修改版本除非明确获得书面许可且仅限对其贡献的致谢许可证不可替换修改或未修改的字体软件必须整体以本许可证分发不得换用其他许可证但使用该字体创作的作品文档不受此限制。其中第 3 条衍生出了 Nerd Fonts 项目中广泛使用的 RFN 机制仓库内的 src/readme-rfn-addendum.md 专门引用了 OFL 对 RFN 的原文说明任何修改版本不得使用保留字体名除非版权持有人书面许可并归纳其四大目标避免命名冲突Avoid collisions、保护作者Protect authors、最小化售后负担Minimize support、鼓励衍生作品Encourage derivatives。3.4 终止条款与免责声明一旦任何条件未被满足许可证自动失效TERMINATION。同时字体软件按AS IS提供版权持有人对适销性、特定用途适用性以及不侵犯版权、专利、商标等权利不作任何明示或暗示担保也不对任何直接、特殊、间接或后果性损害承担责任。四、双许可的第二个选项LGPL 2.1许可证文件指出 LGPL 全文可在 GNU 官方页面获取。对于选择 LGPL 2.1 路线的使用者而言其核心约束是修改后的库在分发时必须以 LGPL 授权并允许被专有软件作为库链接使用这与 OFL 第 5 条必须整体以同一许可证分发形成不同的分发范式。Nerd Fonts 的许可证审计选择以OFL-1.1-no-RFN作为主标记意味着在实际图标字体再分发场景下OFL 路线是默认且被项目验证过的路径LGPL 选项更多面向需要将其链接进 GNU/LGPL 软件项目的场景。五、双许可在 Nerd Fonts 中的实际落地5.1 许可证随产物分发打补丁后每个字重目录如 patched-fonts/Overpass/Non-Mono/Bold/LICENSE.md都携带同一份 LICENSE.md。这直接满足 OFL 第 2 条每个副本包含版权声明与本许可证的要求也让终端用户无需回溯上游即可确认授权边界。5.2 许可证审计表license-audit.md 是项目维护者整理的合规清单将 Overpass 登记为OFL-1.1-no-RFN or LGPL-2.1-only。这张表的价值在于它把每款上游字体的许可证翻译成统一的判定标签是否带 RFN、是否允许单许可证分发方便打补丁流程与再分发环节快速核对。no-RFN标记的含义正是本文 3.3 节第 3 条——Overpass 未声明保留字体名因此 Nerd Fonts 可以放心地把产物命名为OverpassNerdFont-*而不触犯 OFL 的命名限制。5.3 连字移除的工程理由与源码印证仓库中 Overpass 的说明文件src/unpatched-fonts/Overpass/README.md特别指出fi、fl、ldot连字已被移除因为它们只映射到一个 advance width即在单空格环境下没有实际排版收益。这一工程决策由每套字体的 config.cfg 驱动[Config] commandline: --removeligatures --makegroups 2 abort-mono-patch: True [Subtables] ligatures: [ Ligature Substitution lookup 20 subtable, liga Standard Ligatures in Latin lookup 18 subtable ]对照字体修补器 font-patcher 的源码remove_ligatures()方法约第 832-857 行可以看到执行链路--removeligatures开关命令行参数--removeligs/--removeligatures见第 2276 行触发该方法修补器从配置文件的[Subtables]段读取ligatures列表逐条调用 FontForge 的removeLookupSubtable()删除指定连字查找子表配置项还支持正则 表名的复杂条目可用!前缀反转匹配如[!Italic, ...]表示只作用于非斜体字体参见 src/config.sample.cfg 的注释说明--makegroups 2则控制产物命名方式font-patcher第 2227 行参数定义abort-mono-patch: True表示对该字体禁用强制单宽修补。换言之连字的取舍不只是排版问题也是许可证上下文中的修改版本行为——任何对字体的增删都会落入 OFL 对 Modified Version 的授权框架内而保留原始版权声明与许可证文本第 2 条恰好使这种修改合法化。六、使用与再分发合规速查直接使用把 Overpass含打补丁后的OverpassNerdFont-*嵌入网页、文档、软件 UI 均无限制且 OFL 第 5 条明确使用字体创作的作品不受许可证约束再分发随软件分发字体时必须连同 LICENSE.md 一起分发文本文件或可读元数据均可上游 Overpass 未设 RFN因此衍生字体可以自由命名销售边界字体不能脱离软件单独售卖但可以随付费软件捆绑分发许可证选择按 OFL 1.1 或 LGPL 2.1 任选其一即可对图标字体再分发场景OFL 是仓库审计确认的主路径。适用前提说明以上解读均以当前仓库内该 LICENSE.md 文本及 license-audit.md 的登记为准OFL 1.1 与 LGPL 2.1 的全文分别以许可证文件所注的 SIL 与 GNU 官方页面为权威来源。若你的分发场景涉及大量衍生修改建议同时核对该字体上游是否在后续版本中补充 RFN 声明。赞分享开发工具CLI【免费下载链接】nerd-fontsIconic font aggregator, collection, patcher. 3,600 icons, 50 patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, more项目地址https://gitcode.com/GitHub_Trending/ne/nerd-fonts点击查看免费下载相关推荐YaeAchievement 快速上手一键导出原神全部成就数据YaeAchievement 快速上手一键导出原神全部成就数据 YaeAchievement 是一款面向玩家和开发者的免费原神成就导出工具。它直接读取游戏登录桌面应用CLIFontForge 中的 SIL OFL 字体许可实战指南OFL 1.1 官方 FAQ 中文深度解读与开源字体发布规范FontForge 中的 SIL OFL 字体许可实战指南OFL 1.1 官方 FAQ 中文深度解读与开源字体发布规范 本文基于 FontForge 仓库随附桌面应用图形学Nerd Fonts 中的 HaskligHasklug连字编程字体版本溯源、SIL OFL 命名规范与下载/自修补实战Nerd Fonts 中的 HaskligHasklug连字编程字体版本溯源、SIL OFL 命名规范与下载/自修补实战 本篇指南以仓库内 patched开发工具CLI上一篇EMQX 安全默认值变更解读authorization.no_match 默认策略从 allow 调整为 deny下一篇opencodex 全量 Provider 代理路径加固计划50 个注册表条目的「响亮失败」改造实战创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考