请教 Safia:如何从专有软件背景转向开源?

还没有读者喜欢这个。
Ask Safia postcard of a pier and water

 

Florida Memory。Opensource.com 修改。CC BY-SA 4.0

亲爱的 Safia,

 

我真的很想开始参与开源,但我整个开发生涯都在使用专有平台和软件。我如何才能开始使用开源?

此致,宾夕法尼亚州的专有者

您在开源工具方面的经验不足绝对不会妨碍您参与开源社区。无论您之前使用过的平台性质多么封闭,您都具备成为有价值的开源贡献者所需的所有技能。如果您学到了一两件关于文档的知识,请考虑解决项目中的文档问题。如果您有 QA 或测试方面的经验,您可以从用户测试软件开始,并找出需要改进的领域或提高代码覆盖率的领域。重视您的技能组合以及您工作过的环境的性质非常重要。

现在,在参与开源之前,您需要了解您想参与哪些项目。即使您主要在封闭系统中使用软件,但在某些时候,您可能已经使用过开源衍生软件,或者找到了针对您遇到的问题的开源解决方案。您个人投入的项目是最好的贡献项目。您可以使用 OpenHatch 等资源来查找您感兴趣且正在积极寻找新贡献者的项目。


亲爱的 Safia,

我一直在业余时间开发几个 Node 包,并想将它们开源。我应该使用什么许可证?在使我的代码开源之前,我应该准备什么?

此致,奥马哈的开放者

恭喜您开始向公众展示您的作品。在发布您的开源项目之前,请确保您已准备好以下事项:

  • 贡献者指南:确保您提供关于其他人如何为项目做出贡献的文档。如果您正在寻找模板,请阅读创建开源贡献者指南的模板和技巧。您的贡献指南应概述用户如何设置开发环境、样式指南、发布指南以及您正在寻找哪种非代码贡献。
  • 行为准则:行为准则 (CoC) 代表加入您项目社区的任何个人都必须遵守的标准。行为准则有助于在在线讨论中保持文明的基调,并为新老贡献者创建一个受欢迎的生态系统。如果您正在寻找 CoC 模板,请查看 Contributor Covenant,它已在多个大型和小型开源项目中使用。

现在谈谈许可证!开源促进组织概述了一系列开源许可证供您选择。如果您想知道从这些许可证中选择哪个,以下是我喜欢遵循的一般指南:

  • 如果我想要一个宽松且易于贡献者和用户理解的许可证,我使用 MIT 许可证
  • 如果我想确保我的开源项目的衍生品或改进版根据原始条款获得许可,我使用 GNU GPL v3 许可证

如果您想要第二个意见,GitHub 制作了 ChooseALicense.com,这是一个在线平台,允许您探索不同的开源许可证并识别其权限和限制。

此致,
Safia

标签
User profile image.
Safia 是一位充满活力的软件工程师,对用于社会公益的数据科学、智能界面和美味咖啡感兴趣。在 Twitter 上关注她。她是 dsfa 的创始人和无畏的领导者,dsfa 是一家旨在为小型企业提供数据科学服务的专业服务初创公司。

1 条评论

两个答案都很好。对于许可证,到目前为止最重要的一点是拥有许可证。一些 github 世代似乎不在乎,但 FOSS 领域的公司和经验丰富的开发人员都知道,没有许可证的代码只是受版权保护的,世界其他地方对其没有任何权利 - 这意味着,我们不太可能为您的未许可项目做出贡献。

ChooseALicense 是一项很棒的服务。就我个人而言,我喜欢 Apache 许可证。虽然它比 MIT 许可证长,但它是大多数非 GPL 路线的主要新项目的实际标准。如果您不是律师,则无需担心额外的条款;其结果是它比 MIT 许可证更能保护原始作者,并且对企业更友好(因为有专利语言)。对企业友好往往意味着更多人会有兴趣做出贡献...

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.