From 40ff299e5324d38456a0a8e7a59ecc03c603eee5 Mon Sep 17 00:00:00 2001 From: Gary Wang Date: Tue, 1 Aug 2023 14:57:07 +0800 Subject: [PATCH] rfc: deepin first-party project creation --- rfcs/0008-deepin-project-creation.md | 60 ++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 rfcs/0008-deepin-project-creation.md diff --git a/rfcs/0008-deepin-project-creation.md b/rfcs/0008-deepin-project-creation.md new file mode 100644 index 0000000..761a7b9 --- /dev/null +++ b/rfcs/0008-deepin-project-creation.md @@ -0,0 +1,60 @@ +# 标题 + +- 提案发起时间:2023-8-1 +- 提案拉取请求:https://github.com/deepin-community/rfcs/pull/8 + +## 概要 + +此提案定义了发起新 deepin 第一方项目时,项目仓库的创建流程与规范。 + +## 动机 + +deepin 第一方项目,即位于 linuxdeepin 组织下进行维护的项目。这些项目通常会在初版开发具有阶段性成果后,将相关仓库转移或迁移至 linuxdeepin 组织下。而对于仓库的创建流程,在此前并无明确的流程规范,导致所创建的仓库可能存在难以满足开源合规、具备不正确的说明文档、维护流程不够明确的问题。 + +此提案旨在规定仓库的创建流程,对创建仓库所需进行的操作进行明确化,便于仓库创建前对潜在问题进行评审,并最终完成仓库的创建。 + +## 制度正文 + +当一个项目希望成为 deepin 的第一方项目时,可遵循下述规范检查项目本身,并发起 linuxdeepin 组织下的仓库创建申请。 + +注意,深度社区中也允许存在非 deepin 第一方的社区项目,这些项目可以在 deepin-community 组织,或维护人员自身希望位于的任何位置进行研发。这些项目不视为 deepin 第一方项目,同时也无需遵守此规范。 + +### 前期准备 + +- “深度社区”应当持有对 deepin 第一方项目的相关权力。即所有项目贡献者均应当 + - 同意(签署)深度社区的贡献者协议(CLA), **或** + - 确保自己的贡献的著作权属于深度社区, +- 确保项目提供了恰当的 README 文档 + - 文档应当包含了项目的大致介绍,构建指南与简要贡献方式的引导 + - 若项目主要由中文贡献者维护,则文档应当同时提供中文版本 +- 确保项目开源合规 + - 确保许可协议正确且无冲突 + - 确保使用 `reuse` 工具可顺利通过 `reuse lint` 检查 +- 明确项目的维护位置 + - 位于 linuxdeepin 组织下的仓库应当直接在 linuxdeepin 组织下进行后续的开发与维护,不允许以单向镜像的形式进行维护 + +在上述事项检查无误后,即可在你个人的 GitHub 账号下新建仓库并推送预备于 linuxdeepin 组织下维护的项目源码。这份仓库需可被公开访问,并保留至仓库创建流程进行完毕。 + +### git 仓库创建流程 + +1. 复刻(Fork)linuxdeepin/.github 项目到你的 GitHub 用户下 +2. 编辑派生仓库中的 `teams.yaml`` 文件,添加所要新建的仓库的权限信息 + - 应当至少包括两名具备 push 权限(有效 approve 权限)的维护人员 +3. 创建 Pull Request,并填充 Pull Request 模板所给出的信息,并提交 Pull Request +4. 等待 review 并及时响应 review 过程所提到的问题 +5. Pull Request 合入,此时 linuxdeepin 组织将创建对应的仓库,所申请维护权限的人员也会被自动邀请到 linuxdeepin 组织之中 +6. 将项目源码推送到所创建的仓库之中,仓库创建流程结束。 + +当上述流程结束时,个人 GitHub 账号下的公开仓库即可删除处理。 + +## 提案弊端 + +暂无。 + +## 遗留问题 + +暂无。 + +## 替代方案 + +暂无。 \ No newline at end of file