lawless-design/docs/00_项目概述/开发规范/技术栈合规清单.md
2026-07-09 14:39:17 +08:00

98 行
3.0 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# 技术栈合规清单
> **位置**: `docs/开发规范/技术栈合规清单.md`
> **版本**: v1.0
> **日期**: 2026-07-08
> **关联**: AGENTS.md 技术合规铁律
---
## 1. 已确认技术栈(合规)
### 1.1 客户端
| 技术/库 | 版本 | 协议 | 商用 | 来源 | 登记日期 |
|---------|------|------|------|------|----------|
| Cocos Creator | 3.8.8 | 免费版 | ✅ | 官方 | 项目初始 |
| TypeScript | 5.x | Apache-2.0 | ✅ | npm | 项目初始 |
### 1.2 服务端
| 技术/库 | 版本 | 协议 | 商用 | 来源 | 登记日期 |
|---------|------|------|------|------|----------|
| Go | 1.22+ | BSD-3 | ✅ | 官方 | 项目初始 |
| Nakama | 3.x | Apache-2.0 | ✅ | Heroic Labs | 项目初始 |
| PostgreSQL | 16+ | PostgreSQL License | ✅ | 官方 | 项目初始 |
| Valkey (Redis 兼容) | 8+ | BSD-3 | ✅ | Linux Foundation | 项目初始 |
### 1.3 基础设施
| 技术/库 | 版本 | 协议 | 商用 | 来源 | 登记日期 |
|---------|------|------|------|------|----------|
| Docker | latest | Apache-2.0 | ✅ | Docker Inc | 项目初始 |
| Nacos | 2.x | Apache-2.0 | ✅ | 阿里云开源 | 项目初始 |
| Nginx | 1.25+ | BSD-2 | ✅ | 官方 | 项目初始 |
| Prometheus | 2.x | Apache-2.0 | ✅ | CNCF | 项目初始 |
| Grafana | 10.x | AGPL (仅前端) | ✅ | 服务端 Apache-2.0 | 项目初始 |
| Protobuf | 3.x | BSD-3 | ✅ | Google | 项目初始 |
---
## 2. 引入新技术流程
```
1. 技术选型 → 2. 协议检查 → 3. 登记备案 → 4. Owner 确认 → 5. 引入使用
```
### 2.1 协议检查清单
| 协议 | 是否可商用 | 注意事项 |
|------|-----------|----------|
| MIT | ✅ 允许 | 需保留版权声明 |
| Apache-2.0 | ✅ 允许 | 需保留版权声明和许可文本 |
| BSD-2/3 | ✅ 允许 | 需保留版权声明 |
| Go License | ✅ 允许 | Go 标准库 |
| PostgreSQL License | ✅ 允许 | 类似 MIT |
| **GPL-2/3** | ❌ **禁止** | 强传染性,强制开源 |
| **AGPL** | ❌ **禁止** | 更强传染性 |
| **LGPL** | ⚠️ 慎用 | 动态链接可能安全,需法务确认 |
| **CC-BY-NC** | ❌ **禁止** | 非商业用途 |
| 商用授权 | ✅ 允许 | 需获取书面授权文件 |
### 2.2 登记模板
新增技术时,在本清单中追加一行:
```markdown
| [技术名] | [版本] | [协议] | ✅ | [来源] | YYYY-MM-DD |
```
---
## 3. 美术素材合规
| 素材类型 | 来源 | 授权 | 商用 | 存档位置 |
|----------|------|------|------|----------|
| 待补充 | — | — | — | `assets/licenses/` |
---
## 4. 检查命令
```bash
# Go 依赖协议检查
go list -m -json all | jq -r '.Path + " " + .Version + " " + .GoMod' | xargs -I {} sh -c 'echo "=== {} ===" && cat $(dirname {})/LICENSE 2>/dev/null | head -5'
# npm 依赖协议检查
npm ls --json | jq '.. | objects | select(.license) | {name, version, license}'
# 检查是否有 GPL/AGPL 依赖
grep -r "GPL\|AGPL" node_modules/*/package.json go.mod 2>/dev/null
```
---
## 5. 版本记录
- **v1.0**2026-07-08: 初始版本,登记已确认技术栈,定义引入流程和检查清单