惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
WordPress大学
WordPress大学
罗磊的独立博客
小众软件
小众软件
I
InfoQ
Y
Y Combinator Blog
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
MyScale Blog
MyScale Blog
博客园 - 聂微东
Microsoft Security Blog
Microsoft Security Blog
H
Help Net Security
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
S
SegmentFault 最新的问题
博客园 - 三生石上(FineUI控件)
P
Proofpoint News Feed
博客园 - 司徒正美
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
Jina AI
Jina AI
N
Netflix TechBlog - Medium

姓王者的博客

Linux用户Secure Boot自主维护指南 | 姓王者的博客 MAD Bugs 已经开始——关于信息安全的军备竞赛 | 姓王者的博客 解决钉钉Dingtalk无法在Linux新版内核上启动问题-修复可执行栈错误 | 姓王者的博客 突发:GitHub 正遭受大规模 Issue 赌博广告轰炸 | 姓王者的博客 Ubuntu26.04-beta体验:坚毅浣熊! | 姓王者的博客 fakeclaw装作龙虾发贴吧 | 姓王者的博客 找回12年前的QQ记忆 | 姓王者的博客 在Linux上玩Flash网页游戏-洛克王国 | 姓王者的博客 Copilot将使用交互数据来训练 | 姓王者的博客 重要通知-请更新我的GPG公钥 | 姓王者的博客 为了自由Android | 姓王者的博客 GPL"2,3"事 | 姓王者的博客 短文-对VitePlus的一点🤏小贡献 | 姓王者的博客 Bing收录没了?亲测有效的快速恢复指南 | 姓王者的博客 解决桌面设备二维码快速识别的工具-ClipQR | 姓王者的博客 解决 Nautilus 自定义终端插件安装依赖问题 | 姓王者的博客 OpenClaw 该熄火了 | 姓王者的博客 Vite8 - 统一的基建开始 | 姓王者的博客 Astro 6 推出啦 | 姓王者的博客 ubuntu的openvpn异常暂停推送更新 | 姓王者的博客 Ubuntu 24.04 安装 Win10 虚拟机 | 姓王者的博客 ESA-后记:热爱阿里云 | 姓王者的博客 Moonbit 0.8.0 重大发布,我也要改一下我的包 | 姓王者的博客 ESA Pages 边缘开发大赛获奖 | 姓王者的博客 Astro: 优化katex,mermaid和灯箱使用 | 姓王者的博客 从edgeone迁移到esa | 姓王者的博客 出租人类:AI时代的荒诞与真实 | 姓王者的博客 Astro 5.17构建性能优化实践:从18s到13s | 姓王者的博客 Moonbit License Checker 开发使用 | 姓王者的博客 Stalux Astro博客主题自荐 | 姓王者的博客
许可合规-fancybox | 姓王者的博客
作者:xingwangzhe · 2025-12-16 · via 姓王者的博客

🕒 阅读时间:2 分钟 📝 字数:531 👀 阅读量: Loading...

前言

上一篇文章,讲的是我博客主题获得软著了,很高兴。但心中还是有些疑虑,我这个项目使用的是MIT协议授权开放源代码分发的,我怕我的硬依赖里有GPL相关协议,怕其它开发者被我的MIT协议迷惑,如果存在的话,我必需声明出来,当然MIT和GPL是兼容的,如果真存在gpl相关协议的话,我的MIT协议也是可以保存的,于是我安装了NPM License Checker

npm install -g license-checker

这个全局npm依赖来检测我的项目依赖许可证,我看到了绝大部分都是MIT协议,还有两个LGPL协议,还有有一个是自定义协议,类似于LGPL,MIT也都能兼容它们,唯独那个@fancyapps/ui,却是没完整地提供协议文本,当我去自己寻找的时候,发现一个更严重的事…

fancybox? 不,是fancyapps!

fancyapps官网

众所周知,通过搜索引擎可以找到许多关于这个世界上最著名的前端灯箱库的文章,而且大多都历史悠久。如今,它已发展为一个完整的品牌,提供更多组件和服务。

许可问题

它的商业许可

当然,发展壮大之后,它采用了自定义的 商业许可,并非是开源许可。尽管源代码可见,你仍需参阅其许可页面了解具体限制。下面我谈关键的几点:

Fancyapps 商业许可的特殊性

  • 生产环境与分发受限:fancyapps 的商业许可条款将生产部署、商业用途或有偿服务中的使用视作需授权的场景。即使个人免费使用或项目在开发阶段免费测试,一旦将含有该组件的站点或应用部署到线上并向外提供服务(无论是否直接收费),在很多情况下都被视为“需要授权”并因此构成许可违规。
  • 非商业使用也可能被限制:许可页面中对“免费/非商业”与“商业/生产”使用的区分意味着仅因项目以非商业名义发布并不能自动豁免对商业许可的要求;关键在于“是否对外提供服务或分发”。换言之,线上部署或向公众提供访问通常并不被视为完全免费的内部使用。

实务建议

我认为,对于大部分个人网站来说,追责的可能性较低,因此很多并未购买商业授权。实际上,fancyapps确实无能为力

无能为力的做法

但我的博客主题已获得软著,为确保合规性并避免未来潜在的法律风险,我决定替换为PhotoSwipe(MIT 许可证)的灯箱库。

结论

开放源代码!==开源

  • Fancyapps 采用的商业许可对生产部署和对外分发有明确限制,单纯依靠项目的 MIT 许可证不能免除对该依赖的授权要求。
  • 若项目会对外发布或作为主题/模板分发,推荐不要将带有商业使用限制的依赖直接打包进分发物中。
  • 最稳妥的处理方式是替换为开源许可兼容的组件(例如 PhotoSwipe)。