docs: establish GSRL v1.0 release convention

This commit is contained in:
kaotei
2026-10-09 14:47:33 +09:00
commit 14e09ed98e
3 changed files with 169 additions and 0 deletions

41
README.md Normal file
View File

@@ -0,0 +1,41 @@
# GSRL — Global Source Release Lock
**全局源码发行规范 v1.0**
GSRL 是一套适用于**所有独立 Git 项目**的轻量发行约定,不是程序、包管理器或集中管理平台。无论项目使用哪种语言、运行在哪台设备、是否与 NavSea 有关,都遵守相同的正式交付规则。
## 核心规则
1. **日常开发自由**:普通改代码、调试、实验不强制执行 GSRL。
2. **交付方负责发行**:正式交付前,确认源码已 Commit / Push、可从 Git 恢复,并发布附有 `SOURCE_LOCK.json` 的固定版本。
3. **使用方负责验收**:只从项目公布的发行入口选择版本,检查 Source Lock、依赖、使用说明,并重新计算收到文件的 SHA-256。
4. **版本不得偷换**:同一正式版本不得改为不同的代码或交付文件;内容变化就发布新版本。
## 每个项目的发行入口
每个独立 Git 项目自行维护 `release/README.md`,列明**版本系列、推荐版本、下载地址、兼容性与使用方法**。发行包可以放在项目 Git、Gitea Releases 或其他稳定文件服务器,不要求大文件进入 Git。
示意目录:
```text
project/
└── release/
├── README.md # 版本目录与取用说明
├── 1.0.0/
│ ├── SOURCE_LOCK.json # 本次发行的来源与校验记录
│ └── 使用说明.md
└── 1.1.0/
├── SOURCE_LOCK.json
└── 使用说明.md
```
一个仓库发行多个组件时,可按 `release/<组件名>/<版本>/` 组织。单个 APK、AAR、数据包等产物可以把 `SOURCE_LOCK.json` 作为伴随文件提供。
## 规范与示例
- [GSRL.md](GSRL.md):正式规则和交付/接收验收标准
- [SOURCE_LOCK.example.json](SOURCE_LOCK.example.json):最小 Source Lock 格式示例(占位符不是实际发行)
**本仓库**:https://git.eyaku.jp/tei/GSRL
本仓库公开可阅读;修改与发布规范必须使用获得授权的 Git/Gitea 账号。采用 GSRL 的其他项目**无需公开其自身代码或发行包**。