跳到主要内容

开源项目中的角色

User

Author

Contributor

Committer

Reviewer

Maintainer

Owner

使用Git提交代码的时候会有author和committer两个不同的身份,很多人不明就里,当然不出问题也不管他们,实际上他们两个是有区别的,只不过我们本地提交代码的时候因为两者都是一样的。当然你也可以设置成不一样的——这样的操作实际很没必要,当然这指的是对于我们日常开发提交代码而言。

首先从单词上我们可以看出,author是作者的意思,而committer是提交者的意思。通过字面意思我们大致可以理解为:author是代码的编写者,而committer是代码的提交者。

作者是最初编写代码的人。另一方面,提交者被假定为代表原始作者提交代码的人。这在Git中很重要,因为Git允许您重写历史,或者代表其他人应用补丁。免费的在线Pro Git书这样解释:

您可能想知道作者和提交者之间有什么区别。作者是最初编写补丁的人,而提交者是最后应用补丁的人。所以,如果你向一个项目发送了一个补丁,而其中一个核心成员应用了这个补丁,那么你们两个都会得到信任——你是作者,核心成员是提交者。

Should I be setting the committer as well to the other user?(我是否应该将提交者也设置为其他用户?)

不,如果你想说实话,你不应该将提交者设置为作者,除非作者和提交者确实是同一个人。

在一个开源软件项目中,通常会有多个角色,常见的包括 Contributors、Committers、Maintainers 等角色。以及作为一个社区所拥有的 User、Developer、Manager 等角色。下面我们逐一来看看各种角色的定义以及其在开源项目中的功能。

用户(User)

所有使用该开源软件项目,或者对该项目感兴趣的人,都是该项目的用户(User)。在 GitHub 上,你可以通过关注(Watch)、收藏(Star)等方式来支持这个项目。

问题报告者(Issue Reporter)

用户在使用一个开源软件的过程中,有时候会发现一些不足的地方,可能是 Bug 或者一个新的需求。这时候,你可以想该项目报告软件中的问题,并提供详细的说明和复现步骤。这样你就成为了一名问题报告者(Issue Reporter)。

问题报告者可以创建问题报告,描述问题的细节,并参与问题的跟进和讨论。在 GitHub 中,可以通过提交 Issue 的方式来参与和跟踪。

开发者(Developer)

对于有开发能力的人,通常并不满足于报告问题,而是尝试修复该问题,或者新增功能。这时候,你就成为了该项目的一名开发者(Developer),你可以编写和维护代码,实现软件的功能和修复 bug。

开发者具有访问项目代码库、提交代码和合并请求的权限,并且可以参与项目的讨论和决策。

提交者(Committer)

作者(Author)

作者(Author)

贡献者(Contributor)

为项目做出贡献,可以是编写代码、提交修复 bug、创建文档、设计图标等。

功能和权限:贡献者可以通过提交合并请求或补丁来提供自己的贡献,但需要经过项目维护者审核并决定是否接受。

项目维护者(Maintainer)

负责管理和维护代码库,审核和合并贡献者的代码贡献,确保项目的稳定性和质量。

功能和权限:项目维护者有权决定是否接受贡献者的代码,并对代码库进行管理、合并和发布。

代码审查者(Reviewer)

负责审核和审查代码贡献,确保代码的质量和符合项目的要求。

功能和权限:代码审查者可以查看和审核合并请求,提出修改建议或反对意见,并参与讨论和决策。

拥有者(Owner)

社区管理员(Community Manager)

负责管理和推动开源社区的发展,帮助解答问题、促进沟通和协作。

功能和权限:社区管理员有权处理问题报告、管理社区论坛和邮件列表,并帮助解决社区成员的问题和矛盾。

需要注意的是,具体的角色和功能权限可以根据不同的开源项目而有所差异,有些项目可能会设立更多的特定角色来适应项目的需求和组织结构。同时,开源项目的参与是自愿的,每个角色的参与程度和权力大小也可能因项目而异。