Files
vibe_coding/.cursor/rules/025-licensing.mdc
2026-03-05 21:27:11 +08:00

181 lines
6.0 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 <package-name> license
# Composer: 查看包的许可证
composer show <vendor/package> | 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. 从未知来源复制大段代码
警告格式:
```
⚠️ 版权风险: [描述问题]
许可证: [具体许可证]
风险: [可能的法律后果]
替代方案: [推荐的开源可商用替代]
```