治理
角色与职责
作者
Harminder Virk(AdonisJS 的创建者)担任项目作者。项目作者负责项目的治理、标准和方向。总结如下:
- 项目作者决定哪些新项目应该归属于 AdonisJS 旗下。
- 项目作者负责为项目分配负责人,并在现任负责人退出时将项目转交给新的负责人。
- 作者有责任分享/记录框架的愿景,并使项目负责人与之保持同步。
项目负责人
AdonisJS 是由核心团队创建和管理的多个包的组合。所有这些包都由项目作者选定的项目负责人领导。
在几乎所有情况下,包的创建者都会担任项目负责人,因为他们是为实现想法而付出最初努力的人。
项目负责人对项目内的所有决策方面拥有最终决定权。然而,由于社区始终有能力进行分叉,因此这个人完全要对社区负责。项目负责人有责任设定项目的战略目标,并清楚地向社区传达这些目标。他们还必须了解整个社区,尽可能满足众多相互冲突的需求,同时确保项目长期存续。
从很多方面来说,项目负责人的角色是关于外交的。关键是要确保随着项目的扩展,合适的人被赋予对项目的影响力,社区团结在项目负责人的愿景周围。然后负责人的工作是确保核心团队成员(见下文)代表项目做出正确的决策。一般来说,只要核心团队成员与项目战略保持一致,项目负责人就会允许他们按期望的方式进行。
TIP
项目负责人不能归档或决定从 AdonisJS 旗下移除项目。他们可以决定停止项目工作,在这种情况下,我们将寻找新的项目负责人。
核心团队
核心团队成员是对项目做出多次有价值贡献的贡献者,现在被信任直接向仓库编写代码并审查其他人的贡献。在许多情况下,他们是程序员,但也可能以不同的角色做出贡献,例如社区参与。通常,核心团队成员会专注于项目的特定方面,并带来一定水平的专业知识和理解,为他们赢得社区和项目负责人的尊重。核心团队成员的角色不是正式的角色,它只是有影响力的社区成员在项目负责人寻求他们的指导和支持时会发现自己所处的位置。
核心团队成员对项目的整体方向没有权威。然而,他们确实能够得到项目负责人的关注。核心团队成员的工作是确保负责人了解社区的需求和集体目标,并帮助开发或引出对项目的适当贡献。通常,核心团队成员被赋予对其特定职责领域的非正式控制权,并被分配直接修改源代码某些区域的权限。也就是说,虽然核心团队成员没有明确的决策权,但他们经常会发现自己的行动与负责人做出的决策是同义的。
活跃核心团队成员
活跃核心团队成员定期为项目做贡献。活跃的核心团队成员通常有一个或多个关注领域——在最常见的情况下,他们将负责子项目仓库中的定期问题分类、错误修复、文档改进或功能开发。
荣誉核心团队成员
一些曾经做出有价值贡献的核心团队成员可能由于各种原因而无法再承诺相同水平的参与。这完全正常,对项目的任何过去贡献仍然非常感谢。这些核心团队成员作为荣誉核心团队成员受到尊敬,欢迎他们随时恢复积极参与。
贡献者
贡献者是要么没有成为核心团队成员的愿望,要么尚未被项目负责人给予机会的社区成员。他们做出有价值的贡献,如下面列表中概述的那样,但通常没有权限直接更改项目代码。贡献者通过通信工具与项目互动,例如 RFC 讨论、GitHub issues 和 pull requests、Discord 聊天室和论坛。
任何人都可以成为贡献者。对项目没有承诺期望,没有特定的技能要求,也没有选择过程。要成为贡献者,社区成员只需执行一项或多项对项目有益的操作。
一些贡献者已经作为用户与项目互动,但也会发现自己在做以下一项或多项事情:
- 支持新用户(现有用户通常提供最有效的新用户支持)
- 报告错误
- 确定需求
- 编程
- 协助项目基础设施
- 修复错误
- 添加功能
随着贡献者获得项目的经验和熟悉度,他们可能会发现项目负责人开始越来越依赖他们。当这种情况开始发生时,他们逐渐采用核心团队成员的角色,如上所述。
用户
用户是对项目有需求的社区成员。他们是社区中最重要的成员:没有他们,项目就没有存在的意义。任何人都可以成为用户;没有特定的要求。
应该鼓励用户尽可能多地参与项目和社区的生活。用户贡献使项目团队能够确保他们满足这些用户的需求。常见的用户活动包括(但不限于):
- 宣传项目。
- 从新用户的角度向开发人员告知项目的优势和劣势。
- 提供精神支持(一句"谢谢"意义重大)。
- 通过 GitHub Sponsors 提供财务支持。
继续与项目及其社区互动的用户往往会发现自己越来越多地参与其中。这样的用户可能会继续成为贡献者,如上所述。
支持
鼓励社区中的所有参与者在项目管理基础设施内为新用户提供支持。这种支持是作为发展社区的一种方式提供的。寻求支持的人应该认识到,项目内的所有支持活动都是自愿的,因此是在时间允许的情况下提供的。因此,需要保证响应时间或结果的用户应该寻求购买支持合同。然而,对于那些愿意按项目条款参与,并愿意帮助支持其他用户的人来说,社区支持渠道是理想的。
金钱捐赠
对于开源开发项目,金钱不如积极贡献重要。然而,一些人或组织资金充裕但时间紧迫,宁愿以现金形式做出贡献。如果你想做出重大捐赠,你可以赞助我们实现新功能或修复一些错误。项目网站提供了关于如何捐赠的清晰指导。
如果你经营的企业使用该项目作为创收产品,赞助其开发是有商业意义的。它确保你的产品所依赖的项目保持健康和积极维护。它还可以提高在我们社区中的曝光度,使吸引新开发人员更容易。
品牌和所有权
AdonisJS(末尾拼写为"JS")是 Harminder Virk 的注册商标。
只有 @adonisjs npm 范围下的项目和 AdonisJS GitHub 组织下的项目由核心团队管理和官方支持。
此外,你不得以可能错误暗示与 AdonisJS 有任何官方联系或认可的方式使用 AdonisJS 名称或标志。任何可能导致客户混淆的方式使用 AdonisJS 名称或标志都是不允许的。
这包括以强调 AdonisJS 品牌的方式命名产品或服务,如"AdonisJS UIKit"或"AdonisJS Studio",以及域名如"adonisjs-studio.com"。
相反,你必须以清楚区别于 AdonisJS 的方式使用你自己的品牌名称。
此外,未经明确书面同意,你不得将我们的商标用于 T 恤、贴纸或其他商品。
AdonisJS 旗下的项目
AdonisJS 旗下的项目是项目作者的知识产权。一旦项目负责人创建的项目成为"AdonisJS GitHub 组织"的一部分,或者如果它在 @adonisjs npm 范围下发布,项目负责人就不能删除或放弃该项目。
TIP
本治理文档基于 Ross Gardler 和 Gabriel Hanganu 的仁慈独裁者治理模式,采用知识共享署名-相同方式共享 4.0 国际许可证。本文档本身也采用相同的许可证。