Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions rfcs/0008-deepin-project-creation.md
Original file line number Diff line number Diff line change
@@ -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), **或**
- 确保自己的贡献的著作权属于深度社区,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

第一方项目著作权属于公司还是社区?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

目前并没有一个对应深度社区的”法律实体”存在,所以是在统信公司下的。后续会不会有这样的实体还不确定。这里写成社区的目的是为后续存在这样的实体预留空间,如果不妥当的话可以写成统信软件,然后加以额外说明。

- 确保项目提供了恰当的 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 账号下的公开仓库即可删除处理。

## 提案弊端

暂无。

## 遗留问题

暂无。

## 替代方案

暂无。