参与开源社区的 5 个步骤

目前还没有读者喜欢这个。
Javascript code close-up with neon graphic overlay

Jen Wike Huger 拍摄的照片

Atlassian,热门聊天服务 HipChat 的母公司,于 2002 年由两个人创立。十三年后,我们在世界各地拥有超过 1,300 名员工。 这种增长迫使我们需要围绕单一联络点组织我们的开源工作,在公司内部建立贡献开源项目的节奏,并鼓励为现有项目以及新社区的创建做出贡献。

在此过程中,我们学到了一些东西。 这是我们用来入门的路线图。

1. 满足法律要求

我们并非有意制造争议或突破法律界限。 我们只是想提供一个框架,使我们能够参与开源社区。 我们决定对我们所有的开源软件应用相同的 Apache 许可证,以便简化项目管理,同时解决法律部门可能存在的典型担忧:允许的使用范围、需要关注的著作权保留条款以及许可证合规性。 如果项目想要考虑其他许可证,现在可以按例外情况处理。

2. 编写行为准则

为了鼓励外部参与我们的项目,我们效仿 Apache 基金会和许多其他活跃、成功的项目,并采用了 Apache 风格的贡献者许可协议 (CLA)。 这使我们能够控制和维护我们的项目,并确保贡献者将保留其贡献中的知识产权所有权。 但是,为了鼓励多样性并创造一个欢迎和尊重所有参与者的环境,我们制定了行为准则

3. 进行审计

当我们开始时,我们不知道我们有多少开源项目。 我们查看了 Bitbucket 和 GitHub 上 Atlassian 帐户下托管的每个公共项目,发现了 250 多个。 然而,其中许多项目在过去六个月中几乎没有贡献、问题报告或下载。 有些项目已经三年多没有更新了。 在创建存档策略时,您需要区分已达到生命周期终点的项目与稳定且仍在使用的项目。 仅凭活动不应成为您存档的唯一标准。 但是,将存档作为您日常工作的一部分至关重要。

4. 指南和程序

在进行审计的同时,我们为使用、贡献和创建新的开源工作制定了易于遵循的指南和程序。

  • 当团队想要使用开源项目时,他们需要知道许可证是否可以接受。 确定您允许团队使用的许可证、他们应尽量避免使用的许可证以及您不接受的许可证。 说明您对没有许可证的项目的政策。 每次您审核另一个许可证时,都应将有关该许可证的政策发布在一个所有团队都可以在下次评估要包含在产品中的库时访问结果的地方。 我们要求所有第三方代码都位于单独的文件/目录中。
  • 对于有 CLA 的项目,Atlassian 提供了一种供团队快速查找我们已签署的 CLA 的方法。 如果项目没有 CLA,我们会要求对贡献条款(如果存在)进行法律审核。 如果没有任何贡献条款,我们也希望获得法律批准。 我们要求我们的团队在可能的情况下避免 fork 项目,并在创建 fork 时考虑快速返回主分支的计划。 但最重要的是,确定您组织中谁需要审查或批准贡献,以确保您没有签署放弃您想要保留在公司内部的知识产权。
  • 确定创建新项目必须具备的工件。 有些组织只会开源生产就绪的代码。 至少,我们的项目必须具有明确的许可和自述文件或其他文档,其中提供:项目任务说明、现有/计划功能的列表、需求列表、安装/部署说明以及未来开发的可共享路线图。 详细说明适用于您团队的审批流程。 向员工提供关于工作之外发生的个人项目的政策或声明。 并且,在适用的情况下,确保您的政策涵盖位于不同国家或州的员工。

5. 坚持不懈

整理我们的开源事务花费了我们六个月的时间。 但这只是开始,而不是结束。

我们的下一步包括以文档和可重用模板的形式为我们的开源项目提供更多帮助。 我们还在寻找方法来帮助我们的团队公开他们的项目以鼓励外部参与,并寻找方法通过跟踪我们认为我们的团队会觉得有益的会议和社区来参与更广泛的开源社区。

请加入我们,在新的一年里整理您的开源事务。 开源愉快!

标签
User profile image.
Atlassian HipChat 工程主管

评论已关闭。

© . All rights reserved.