--- description: "版权与许可合规 — 确保所有依赖、素材、字体均为开源可商用,防止法律纠纷" alwaysApply: false --- # ⚖️ Licensing & Copyright Compliance > **核心原则**:项目中使用的所有第三方代码、组件、字体、图标、图片和素材, > 必须为**开源、免费、可商用**的许可证,不得引入任何可能导致法律纠纷的资源。 ## 许可证白名单 以下许可证允许在商业项目中使用: ``` ✅ 允许使用: MIT / ISC / 0BSD / BSD-2-Clause / BSD-3-Clause Apache-2.0 / Unlicense / WTFPL / Zlib / PostgreSQL CC0-1.0 (公共领域) / CC-BY-4.0 (署名即可) SIL OFL 1.1 (字体专用) / BlueOak-1.0.0 MPL-2.0 (仅修改的文件需开源,不传染整个项目) ``` ## 许可证黑名单 以下许可证**禁止使用**,因其传染性或商用限制: ``` 🚫 禁止使用: GPL-2.0 / GPL-3.0 — 强传染,要求整个项目开源 AGPL-3.0 — 网络使用也触发传染 SSPL — MongoDB 的限制性许可 BSL (Business Source License) — 商用限制 CC-BY-NC-* — 禁止商用 CC-BY-SA-* — 用于代码时有传染性 任何标注 "Non-Commercial" / "Personal Use Only" 的许可 任何标注 "Proprietary" / "All Rights Reserved" 的资源 ``` ## 灰名单 — 需要确认 ``` ⚠️ 需人工确认: LGPL-2.1 / LGPL-3.0 — 动态链接通常可以,静态链接有传染风险 Artistic-2.0 — 条款复杂,需逐案评估 EPL-2.0 — 弱传染,需评估使用方式 无许可证的开源项目 — 默认 All Rights Reserved,禁止使用 ``` **遇到灰名单许可证时**:停止安装,向用户说明风险,等待确认。 ## NPM / Composer 依赖 安装任何新依赖前,必须检查许可证: ```bash # NPM: 查看包的许可证 npm info license # Composer: 查看包的许可证 composer show | grep -i license ``` **安装前检查清单**: 1. 确认许可证在白名单中 2. 如果许可证在灰名单中 → 停止并告知用户 3. 如果许可证在黑名单中 → 拒绝安装并推荐替代方案 4. 如果没有许可证 → 视为 All Rights Reserved,拒绝使用 **推荐开源替代**: | 避免使用 | 推荐替代 | 许可证 | |---------|---------|--------| | Moment.ts (许可证安全但已弃用) | Day.ts / date-fns | MIT | | Font Awesome Pro | Lucide / Heroicons / Phosphor | ISC / MIT | | ag-Grid Enterprise | AG Grid Community / TanStack Table | MIT | | Highcharts (商用付费) | ECharts / Chart.ts / Recharts | Apache-2.0 / MIT | | Ant Design Pro (部分模板付费) | Element Plus / Naive UI | MIT | | Quill 某些插件 (付费) | Tiptap / Editor.ts | MIT | ## 字体规范 **允许使用的字体来源**: | 来源 | 许可证 | 示例 | |------|--------|------| | Google Fonts | SIL OFL 1.1 | Inter, Noto Sans SC, Roboto | | Adobe Source 系列 | SIL OFL 1.1 | Source Han Sans (思源黑体) | | 阿里巴巴普惠体 | 免费可商用 | Alibaba PuHuiTi | | OPPO Sans | 免费可商用(需注册) | OPPO Sans | | 鸿蒙字体 | 免费可商用 | HarmonyOS Sans | ``` 🚫 禁止使用: 微软雅黑 (Windows 自带≠可商用) / 宋体 (方正版权) 苹方 (仅限 Apple 设备内置使用) 方正系列字体 (需购买商用授权) 汉仪系列字体 (需购买商用授权) 造字工房系列 (需购买商用授权) 任何从网络下载的无明确授权字体 ``` **中文字体推荐方案**: - 正文:`"Noto Sans SC", "Source Han Sans SC", "Alibaba PuHuiTi", system-ui, sans-serif` - 代码:`"JetBrains Mono", "Fira Code", "Source Code Pro", monospace` ## 图标规范 **允许使用的图标库**: | 库 | 许可证 | 适用场景 | |----|--------|---------| | Element Plus Icons | MIT | 与 Element Plus 配套 | | Lucide | ISC | 通用线性图标 | | Heroicons | MIT | Tailwind 生态 | | Phosphor Icons | MIT | 多粗细变体 | | Material Design Icons | Apache-2.0 | Google 风格 | | Tabler Icons | MIT | 线性图标 | | Iconify (聚合平台) | 取决于具体图标集 | 需逐集检查许可证 | ``` 🚫 禁止使用: Font Awesome Pro (付费版) Flaticon (免费版需署名,部分禁止商用) IconFinder (大部分需购买) Iconfont (阿里) — 个人上传的图标版权不可控 任何从设计网站截图或扒取的图标 ``` ## 图片与媒体素材 **允许使用的图片来源**: | 来源 | 许可证 | 注意事项 | |------|--------|---------| | Unsplash | Unsplash License | 免费商用,无需署名 | | Pexels | Pexels License | 免费商用,无需署名 | | Pixabay | Pixabay License | 免费商用,部分需检查 | | 自行创建/AI 生成 | 自有版权 | 确认 AI 工具的商用条款 | | unDraw | MIT | 开源插画 | | Storyset | Freepik 免费协议 | 需署名 | ``` 🚫 禁止使用: Google 图片搜索直接下载 (版权不明) 百度图片搜索直接下载 Getty Images / Shutterstock / 视觉中国 (付费) Pinterest / Dribbble 上的作品 (他人版权) 任何来源不明的图片 竞品产品的截图用于商业用途 ``` **AI 生成图片注意**:使用 AI 生成图片时,确认所用工具的商用条款允许商业使用。 ## 代码引用规范 从外部来源引用代码片段时: 1. **StackOverflow** — CC-BY-SA 4.0 许可,引用需署名,大段引用有传染风险,建议理解后重写 2. **GitHub 开源项目** — 遵循项目许可证,MIT/Apache 可直接使用 3. **技术博客** — 版权归作者,参考思路后自行实现,不要直接复制 4. **AI 生成的代码** — 通常归使用者,但需确认工具的 ToS ## 违规处理 当检测到以下情况时,**立即停止并警告用户**: 1. 即将安装黑名单许可证的依赖 2. 代码中引用了版权受限的字体名称 3. 推荐了付费/非商用的素材来源 4. 从未知来源复制大段代码 警告格式: ``` ⚠️ 版权风险: [描述问题] 许可证: [具体许可证] 风险: [可能的法律后果] 替代方案: [推荐的开源可商用替代] ```