本文旨在作为参考,以便您了解自豪地拥有您的存储库并使您的开源项目更加开放所需的一切。通过使用开放标准,开源项目可以提高其质量和可共享性,因为这些标准的存在是为了促进项目创建者和消费者之间更好的沟通。最重要的是,开放标准可以通过温和地强制执行多元化和公平的空间来指导技术发展。
什么是开源?
“开源”一词始于 80 年代后期,作为一种通过法律保障复制、修改和再分发软件的权利来保证技术发展访问的方式。这个想法已经扩展,今天它关乎培养一种共享文化,这种文化支持从政治行动到价值数十亿美元的技术产业的一切。
项目及其社区赋予项目价值,它们已经变得比仅仅是代码复杂得多。今天,如果不考虑我更喜欢定义为“生态系统”的东西来思考项目是不可能的。“生态系统”在我看来是一个恰当的定义,因为它承认了技术事物(如代码和配置)以及人员的复杂性。
缺乏多样性是开源中的一个问题
没有开源,技术产业将会崩溃,甚至根本不会存在。这就是开源今天的重要性范围。知道我们都“站在巨人的肩膀上”是多么强大的感觉?我们都在受益于commons的力量,利用集体劳动和智慧为每个人创造更好的东西。
很少有人谈到的是,如此重要的倡议在大多数情况下完全依赖于其维护者的志愿劳动。这造成了工作和多样性方面巨大的不平衡。
开源本质上是一种促进开发行业内部多样性的力量,它重视贡献的内容而不是贡献者是谁。然而,现实情况是,对于许多人来说,空闲时间往往是一种稀缺商品。许多人太忙于工作以赚取收入、照顾家庭和亲人、找工作、与社会不公作斗争,并且无法抽出时间为软件做贡献。
参与该系统的机会本身取决于您是否是能够成为该系统一部分的幸运儿之一。对于许多其他人来说,由于他们的性别、肤色或社会地位,这不是现实。从历史上看,女性积累了无偿的、看不见的工作,但这需要她们付出大量的精力和时间。弱势群体几乎没有空闲时间,因为他们不得不工作更长的时间,通常身兼数职。
这反映在数字中。只有 4.5% 的 开源维护者是非白人男性,这是根据对该领域的研究得出的结论。因此,我们知道,这个价值数十亿美元的行业正在塑造技术发展,它由一个同质化的环境组成。但我们也知道,多样性可以产生强大的创新成果。问题是,如何改变这种情况?
与您的开源社区进行有意的沟通
沟通是关键。为您的项目构建具有沟通透明度和治理的结构。清晰、简洁和尊重的沟通使您的项目对用户和贡献者都易于访问。它有助于项目维护者将时间集中在他们需要做的事情上。它有助于感兴趣的人感到受欢迎,并更快、更持续地开始贡献,并且它将多样性吸引到您的社区。
听起来不错,但如何才能实现呢?我将良好实践的规则分为三个类别:程序性、日常和长期。这些实践部分是战略性的,但如果您和您的社区没有战略能力,也可以通过向您的存储库添加一些简单的文件来显着更改您的项目。
但是,这些文件是哪些文件?当您已经管理了多个项目时会发生什么?其中一些是
- 行为准则
- 许可证
- 自述文件
- 变更日志
- 贡献
- 所有权
- 测试目录
- 问题
- 拉取请求模板
- 安全
- 支持
为了帮助您入门,有许多项目提供模板。只需克隆它们,您就可以创建一个包含这些文档的存储库。
另一个旨在帮助开源软件 (OSS) 维护者和开源项目办公室 (OSPO) 的工具是 check-my-repo。它由我们在 Sauce Labs 的 OSPO 社区创建,是一个基于 Repolinter 构建的自动化工具,用于验证您的存储库中是否存在符合开源最佳实践(包括上述文件和其他一些规则)的主要必要参数。Web 应用程序还解释了为什么每个文件都需要存在。
程序性最佳实践
顾名思义,这与过程有关
- 维护一个单一的公共问题跟踪器。
- 允许公开访问项目确定的问题。
- 拥有反馈机制和讨论新功能的机制。
- 提供提前安排的公共会议空间并录制会议。
以下是一些与程序逻辑相关的文件
- 自述文件:让任何访问您项目的人更容易上手。
- 行为准则:建立期望并促进健康和建设性的社区。
- 所有权:确保有人负责该项目,以防止其被遗忘。
日常任务
这与日常方面有关,包括
- 检查项目的状态。
- 解释如何提交问题、提出增强功能和添加新功能。
- 展示如何为项目做出贡献。
与项目管理的日常方面相关的文件是
- 贡献:关于如何贡献的分步指南。
- 变更日志:需要记录重要的更改。
- 安全:展示如何报告安全漏洞。
- 支持:项目是如何维护的。
长期目标
这包含保证项目历史和延续的信息,例如使命声明、关键概念和目标、功能和需求列表以及项目路线图。
相关文件是
- 许可证:用户必须了解他们的限制,而您必须在法律上保护自己,这至关重要。
- 测试目录:使用它可以避免回归、中断和许多其他问题。
创建和维护您的开源项目
现在想象一个包含所有这些因素的项目。它会帮助您建立和维护一个社区吗?沟通中的噪音会减少吗?它会为维护者节省大量时间,以便他们可以引导人们并解决问题吗?人们会感到受欢迎吗?
创建和维护开源项目非常有意义。协作创建是一种不可思议的体验,并且具有将这种创造带入一个人或一小群人永远无法实现的可能性的内在潜力。但是,公开和协作地工作对于维护者来说也是一项挑战,对于社区来说也是一项责任,以确保这个空间是公平和多元化的。
前面还有很多工作要做。关于开源社区健康状况的调查结果通常反映了技术行业最糟糕的一面。这就是确保使用这些标准如此重要的原因。为了帮助缓解这种情况,我正在押注标准。它们是协调我们的意图并指导我们走向公平、透明和可共享空间的强大工具。你愿意加入我吗?
评论已关闭。