跳入开放源码的世界对不熟悉的人来说可能是令人生畏的。不要让对未知的恐惧阻止你参与到开源中来。在这篇博文中,我们介绍了在贡献你的第一行代码之前你需要知道的一些基本知识。
让我们从基本知识开始。什么是开放源码?开源软件是公开发布的代码,任何人都可以看到、使用或修改代码来满足他们的需要。开发者把他们的代码放在公共仓库里,比如GitLab或GitHub上的仓库,这样就可以让更多人看到代码并与之互动。
理想的情况是,如果一个人或一群人改变了开放源代码,以加强它或使它变得更好,他们可以把他们的改变贡献给一个项目,使核心技术更加强大。
贡献代码的人被称为贡献者,而批准改变代码核心的人被称为_提交者_或_维护者_,这取决于你所从事的项目。
协作式开发实践
现在你了解了开源的基本要点,让我们再深入了解一下。
有些开源项目是小型的开发者工具,可以帮助你完成单一的任务,而其他的开源项目则是大型的、复杂的软件,有相互连接的部分。在这些大型项目中,不同的团队或工作组专注于开发技术的特定部分,在技术上进行合作,对代码进行同行审查和测试,并将他们的变化贡献给核心技术。
需要了解的工具和实践
在你开始贡献之前,有一些不同的工具你需要知道和了解,包括GitHub和Git。
GitHub
对于GitHub的基础知识,最好的起点是GitHub,这一点不足为奇。他们的Hello World文档是通过实践来建立学习GitHub的第一步。
这些教程告诉你如何。
- 创建和使用一个存储库
- 启动并管理一个新的分支
- 对文件进行修改,并将其作为提交文件推送到GitHub上
- 打开并合并一个拉动请求
Git
Git是一个版本控制系统,它可以让你看到你的文件和程序随着时间的推移而发生的变化(必要时可以撤销这些变化),也可以与其他人协作编写代码。GitHub、GitLab 和 BitBucket 都使用 Git 服务器程序来托管代码。
这份《Git分步指南》涵盖了你需要知道的基本内容。
拓展你的开源技能
想了解更多吗?我们的 "Call for Code:开源简介 "在线课程是免费提供的,它将带领你了解为任何开源项目做贡献所需的关键概念、工具和流程。通过完成这个课程可以获得一个徽章。
努力实现你的第一次提交
找到适合你的项目。你如何找到一个可以贡献的项目?一个好的开始是思考你的兴趣和你的技能,浏览一些开源基金会的项目,如Linux基金会、Apache基金会和CNCF,看看你是否能找到一个与你的兴趣和技能相符的项目。确保社区欢迎和友好的一个方法是发送电子邮件或聊天,告诉他们你想参与。你会得到一个友好的回复吗?这是个好兆头。震耳欲聋的沉默?马上行动。
从小处着手。对于你的第一次提交,从小处着手。你可以简单地尝试一个解决方案,然后报告你发现的错误,或者在一个项目的论坛上寻找一个 "需要帮助 "的问题。听听这个 "命令行英雄 "播客,看看如何克服第一次提交的 "恐惧"。
做一个好的社区成员。一旦你找到了合适的项目,并进行了第一次提交,就要做一个好的社区成员。努力工作。遵守你的最后期限。要有爱心。基本上,你希望别人怎样对待你,你就怎样对待别人。这里还有一些关于如何成为一个好社区成员的提示。
为Tech for Good开源项目做贡献
准备好做出你的第一次提交了吗?参与我们的一些代码征集开源项目,围绕种族公正、气候变化等主题。我们有一个友好的开发者社区,他们渴望与更多的人合作,建立创新的解决方案,回击我们时代最紧迫的问题。
种族正义项目
表明反对种族主义的立场。探索多个开源的种族正义项目的代码征集活动,其解决方案的起点涵盖了一系列的主题,如警察和司法改革和问责制,多元化的代表,以及政策和立法改革。了解这些项目,以及你如何能够开始建立、发展和利用技术,使当地组织和社区直接受益。
气候变化和灾难应对项目
这里有一些你今天可以贡献的项目实例,以帮助改变现状。
- 来自Prometeo的Pyrrha监测消防员的毒素暴露水平,并在他们面临长期呼吸系统问题的危险之前发出警报。
- 来自Build Change的ISAC-SIMO使用人工智能和计算机视觉帮助检测建筑问题,这些问题在飓风或地震等重大事件中可能成为威胁生命的因素。
- Liquid Prep帮助农民了解用水情况并优化他们的作物产量。
- Project Owl的ClusterDuck协议通过在停电时将第一反应者与居民联系起来,帮助
,应对极端天气事件和其他灾难。
查找更多由Linux基金会支持的代码征集开源项目。