大家好。在这本手册中,你们将了解到日益发展的开源世界,以及它如何影响你们的开发者职业生涯。
当我刚开始学习编程时,开源这个概念让我感到困惑且有些畏惧。我经常听到这个词,但却不清楚它的含义、运作方式,也不明白为什么开发人员认为它如此重要。
在这本手册中,我会为大家清晰而简洁地介绍开源技术——不仅解释它是什么,还会说明它是如何运作的,以及它如何与你们的职业发展紧密相连。
我们会探讨开源的真正含义,了解各个项目是如何运作的,同时也会讲解社区和维护者的作用。我们还会分析开源技术的优缺点,以及参与开源活动如何帮助你们提升技能、增加知名度并促进职业发展。
首先,我会针对每个主题解释其核心概念,然后会通过实际案例来说明这些概念在现实世界中的应用,这样就能帮助大家明白开源技术是如何在实际工作中发挥作用的,以及如何利用它来推动自己的职业生涯发展。
读完这本手册后,你们就可以开始自己第一次真正的贡献行为,并着手建立自己的公开作品集了。
让我们开始吧。
目录
什么是开源?
从根本上说,开源其实就是关于社区的合作。它是一种开发软件的方式。“源代码”就是让应用程序能够正常运行的逻辑部分。在开源项目中,这些代码会被公开分享——世界上任何人都可以查看、研究或修改这些代码。
传统软件与开源软件的区别
通常情况下,企业会将大多数软件设置为“封闭”或专有形式。因此,只有拥有该产品的公司才能看到其源代码。
但开源软件不同。它允许人们查看源代码。这样一来,你不仅仅是一个用户,还可以成为帮助开发这些项目的人。
全球范围内的协作
开源让世界各地的任何人都可以参与修改项目或软件。你的地理位置或背景并不重要——只要你能改进代码,就可以为项目的发展做出贡献。
如今,许多企业都会在像GitHub或GitLab这样的平台上公开分享他们的源代码。这种全球性的透明度意味着:
-
任何人都可以提出新的功能需求。
-
任何人都可以发现并修复软件中的错误。
-
任何人都可以帮助完善相关文档。
严格的管理流程
你可能会想:“如果任何人都能修改代码,那么软件不就会出问题吗?”这时维护者的作用就体现出来了。
虽然任何人都可以提出修改建议,但核心的维护团队会仔细审查每一份贡献。他们就像“守门人”一样,确保只有安全、高质量的代码才能被纳入项目中。
公开源代码与职业发展
你是在公开的环境中参与这些项目的开发的。因此,开源为你建立了一个永久且可被验证的作品集。GitHub或GitLab会将你的每一项贡献都记录在你的名下。
这样一来,招聘人员就不必仅仅相信你所说的话了。他们可以清楚地看到你是如何编写代码、解决问题的,也可以了解你是如何与全球范围内的团队进行合作的。在开源项目中,你的公开源代码实际上成为了你职业发展的强大动力。
现实中的情况
开源并不只是软件的“免费”版本,它其实是一种动态发展的产品。全球各地的人们会共同在公开的环境中参与它的开发。当你为项目做出贡献时,你不仅仅是在编写代码,更是在参与一场全球性的协作。
开源软件的实际运作方式
开源软件看起来可能像是一种神奇的东西,但实际上它遵循着非常逻辑化的开发流程。大部分开发活动都是在像GitHub或GitLab这样的平台上进行的。GitHub为开发者们提供了一个集中的交流平台。以下是代码贡献的整个生命周期:
“分叉”操作:创建自己的代码副本
想象一下,你在一本食谱中看到了一道很棒的菜谱,你想尝试加入一种新的香料,但你不会直接在原书中进行修改。相反,你会把那一页复印下来。
在开源环境中,我们把这种操作称为“分叉”。也就是说,你可以在自己的GitHub账户下创建该项目代码的副本。
“克隆”操作:将副本下载到自己的电脑上
现在你已经在GitHub上保存了这份“副本”,接下来需要将其下载到本地计算机上,这样你才能真正开始对其进行修改。我们把这个步骤称为“克隆”。
分支:让代码管理更加有条理
在开始编写代码之前,首先需要创建一个分支。可以把分支看作是一个安全的工作空间,它允许你在不影响原始代码的情况下单独开发某个功能或修复某个错误。
提交更改:保存你的工作成果
当你编写完代码或修正了文档中的错别字后,就需要通过“提交”操作来保存这些修改。每次提交都需要附上说明信息,例如“修复了README文件中的错别字”,这样其他人就能清楚地知道你做了什么修改以及修改的原因。
拉取请求:请求他人审核你的代码
这是整个流程中最重要的一环!当你准备好自己的修改内容后,就需要发送一个“拉取请求”。
你实际上是在向原始项目团队提出请求,说:“嘿,我对这个项目进行了一些改进,你们是否愿意将这些更改合并到主代码库中?”
审核与合并
项目维护者会仔细审查你的拉取请求,他们可能会要求你对某些部分进行修改或修复一些小错误。一旦确认你的代码符合质量标准并通过测试,就会将其合并到项目中,这样其他人就可以使用这些修改后的代码了!
为什么这种工作流程会对你的职业生涯产生影响
这个过程不仅仅与编写代码有关,更重要的是它体现了协作精神。
当招聘人员看到你的拉取请求时,他们能从中了解到三件非常重要的信息——而这些是普通的简历无法展示的:
-
对版本控制工具的熟练运用:你显然掌握了如何专业地使用Git和GitHub。
-
出色的沟通能力:他们能看出你是如何处理他人给出的反馈,以及你是如何向他人解释自己的代码逻辑的。
-
坚持不懈的专业态度:你能看到你是如何从头到尾完成一项任务的。
维护者、贡献者与社区的作用
代码是开源项目的基石,但真正推动项目发展的是人们。要想在这个领域取得成功,就需要了解三个关键角色——正是这些角色让项目得以持续运转。
维护者:你的指导者和把关人
维护者是任何开源项目的核心力量。他们都是经验丰富的开发者,负责管理项目的发展方向,并帮助你顺利完成各项任务。
即使是你解决了某个问题并提交了拉取请求,项目也不会自动合并你的代码。团队会进行严格的审核流程,确保你的代码符合项目质量标准并通过各种测试。
维护者会负责整个审核过程,他们会给出反馈意见,要求你进行必要的修改,最终才会批准你的代码被合并到项目中。
贡献者:就是你!
贡献者是推动创新的重要力量。成为贡献者并不需要特别的许可——只要你发现某个问题并提出解决方案即可。贡献者们负责编写代码并修复错误。
他们负责设计用户界面,也会改进各种使用指南。每一位维护者最初都和你现在处于同样的起点。
社区(欢迎新成员的组织)
你可能会担心公开分享自己的代码,但现实情况是,很多开源社区都非常欢迎新人加入。他们真心希望帮助你取得成功。
这些社区通常活跃在Discord、Slack或GitHub的讨论区中。它们为你提供了一个安全的空间:你可以在这里提出问题,当代码出现故障时可以寻求帮助,同时也能向经验更丰富的开发者学习。
关于开源的常见误解
在你首次进行贡献之前,我们需要先澄清一些错误的观念。
许多初学者因为这些误解而推迟了他们的开源之旅。现在我们就来破除这些最常见的误区吧。
误区1:开源只适合有经验的开发者
-
事实:这种想法完全错误。你并不需要是高级工程师才能参与开源项目。很多代码库都会提供一些简单的任务,这些任务通常会被标记为“适合初学者的问题”。
-
秘诀:开源并不仅仅意味着编写代码。你还有很多非编码方面的贡献机会。例如,你可以帮忙完善项目的文档——良好的文档对任何项目来说都至关重要。维护者们非常欢迎那些能帮助改进文档的初学者。
误区2:必须完全理解整个代码库才能进行修改
-
事实:大型项目往往包含成千上万的代码行,没有人能够完全理解所有这些代码。就连核心开发团队也不例外!你只需要了解自己所要修复的那部分代码即可。这就好比修理一座豪宅里漏水的水槽——你并不需要记住整栋房子的蓝图,只需要了解厨房的结构就行了。
误区3:维护者会严厉批评初学者的代码
-
事实:初学者常常害怕自己写的代码“不好”。但实际上,维护者们也是普通人,他们非常感激别人能免费提供帮助。只要你保持尊重并遵守他们的《贡献指南》,他们就会耐心地指导你,帮助你取得成功。
误区4:开源没有报酬,所以是浪费时间
-
事实:虽然提交代码请求可能不会直接带来经济收益,但带来的回报却是巨大的。你的公开作品集会为你带来全职工作的机会,还有一些项目会为初学者提供报酬,比如Google的“夏季编程挑战”或Outreachy等项目。
开源项目的缺点(坦诚的观点)
开源确实是发展职业生涯的好途径,但它也并非完美无缺。如果你认为一切都会非常顺利、轻松,那么你可能会感到失望。下面是我们对你会遇到的实际问题的坦诚分析。
漫长的等待时间(疲惫的维护者)
大多数维护者都是免费为这些项目工作的。当一个项目变得流行起来时,他们需要处理的更新内容就会非常多。他们为了跟上进度而付出了巨大的努力。
- 缺点:你可能会提交非常优秀的代码,但维护者可能需要数周的时间来审核它。你必须学会耐心等待。如果他们没有及时回复,也请不要感到沮丧。
严格的代码添加规则
大型项目会制定严格的代码添加规范,因此代码的提交流程往往并不像点击“保存”按钮那么简单。
- 缺点:大型项目会自动运行严格的测试程序。由于某个逗号缺失之类的小问题,你的代码可能会被多次拒绝,而这一切甚至可能在人类开发者看到代码之前就发生了。
不活跃的项目
GitHub上存在着数以百万计的项目,但并不是所有项目都在持续进行开发中。
- 缺点:初学者往往会花费大量时间去修复某个漏洞,结果却发现该项目的创建者已经两年没有对其进行任何更新了。这个教训非常惨痛——在开始参与某个项目之前,一定要先确认它是否仍然处于活跃状态。
简单任务的激烈竞争
许多项目会为初学者提供一些简单的任务,但想要完成这些任务的人并不少。
- 缺点:很多人都会争相在几分钟内抢到那些被标记为“适合初学者的任务”。如果你总是感觉自己来得太晚,那就需要学会如何更快地获取这些任务。你也可以选择一些规模较小的项目来开始你的开发实践。
为什么开源对开发者来说如此重要
开源带来了许多巨大的好处。它不仅仅意味着编写免费的代码,更意味着你在为自己的未来打基础。以下就是为什么投入时间参与开源工作是一个明智的选择。
免费获得实战技能
你不需要花费高昂的费用去参加培训课程才能学习软件开发。开源项目能让你掌握实际的编程技能,了解大型项目的运作方式、团队协作的机制,以及如何编写清晰、高质量的代码。
低风险地探索自己适合的职业方向
你怎么知道自己是否真的喜欢某份工作呢?开源项目正是自我探索的理想平台。
-
这是一种低风险的尝试方式,能帮助你判断某种技术栈是否适合你自己。
-
你可以尝试担任几周的全栈开发者或技术文档编写员,而不必放弃现有的工作。如果不喜欢这份工作,再换一个项目试试就行了!
全球性的交流网络与导师指导
开源让你能够与世界各地的优秀人士建立联系。你可以从世界上最顶尖的开发者那里获得免费的指导和帮助。随着你的能力不断提升,这些关系甚至可能为你带来在技术会议上的发言机会。
你公开的“工作成果证明”
普通的简历只能告诉别人你能做什么,而开源项目则能真正展示出你的实际能力。
-
你的GitHub个人资料就是你的“工作成果证明”。
-
当企业看到你的代码被应用到实际项目中时,它们就会信任你的能力。
工作与实习机会
开源项目是获得工作机会的直接途径。无论你是正在寻找实习机会的学生,还是希望从事远程工作的专业人士,企业都非常重视那些为开源项目做出贡献的人。因为这表明你具备良好的团队协作能力。
在编程之外培养的各项技能
参与开源项目,你学到的不仅仅是编程知识。你还会学会如何成为一名专业开发者。招聘经理们正是看中这些技能的。
清晰的表达与写作能力
在开源项目中,你需要与从未见过面的人合作。你无法通过肢体动作来解释自己的想法,因此必须把它们写下来。
-
你会学会如何清晰地阐述问题。
-
你会学会如何撰写高质量的技术文档。
-
你会学会如何与处于不同时区的人进行交流。
测试与漏洞排查
在代码被加入项目之前,必须经过团队的审核。开源项目教会你如何像软件测试工程师一样思考,如何发现隐藏的漏洞,如何为代码编写测试用例,并确保你的修改不会破坏整个系统的正常运行。
整体视野与全局意识
大型项目能让你了解各个部分是如何相互连接的。你会明白前端是如何与后端交互的,这有助于你成长为一名全栈开发人员,从而理解整个系统的工作原理。
接受反馈与给予反馈
维护者会指出你的代码中存在的问题,这让你学会了如何冷静地接受反馈,同时也学会了如何尊重他人地评审他人的工作。
自我时间管理
没有人强迫你参与开源项目,你必须自己安排时间。这种经验能帮助你学会如何在居家环境中有效管理时间,而企业也非常看重这一点——因为它说明你可以可靠地从事远程工作。
“工作成果证明”vs. 简历上的自我描述
普通的简历只会列出你掌握的技能,比如“我会使用React”。但任何人都可以在简历上写这些内容。招聘经理却无法确定你的能力是否真实。
开源项目则提供了真正的“工作成果证明”。
用行动说话而非空谈
通过参与开源项目,你可以展示自己实际使用的技术栈。每次你对项目进行修改后,都会提交一个拉取请求,而这些请求都是公开可见的。
企业因此能够看到真实的你,而无需去猜测。他们可以通过这些拉取请求了解:
-
你的代码格式是怎样的;
-
你是如何解决各种问题和漏洞的;
-
你与维护者之间的沟通方式是怎样的。
最有力的求职方式
你提交的合并拉取请求其实就是你的公开作品集。而简历只是一种自我声明,但合并后的拉取请求才是实实在在的证明——它证明了你的能力已经可以应用于实际工作中。
协作、沟通与专业形象的建立
开源的本质就是协作。世界上任何人都可以参与某个项目。你必须学会如何与他人高效合作。以下是一些提升团队协作能力的方法。
帮助他人也是对开源事业的贡献
许多初学者认为只有编写代码才能为开源项目做出贡献,但事实并非如此。帮助其他开发者同样是开源精神的重要组成部分。
-
花时间去帮助别人吧。
-
在Discord或Slack频道中回答问题。
-
帮助新手解决代码问题,这能体现你的团队协作精神。
学习“异步”沟通方式
开源是一个全球性的社区,与你合作的人可能远在世界各地。因此你需要掌握异步沟通技巧——你不会立刻得到回复,有时可能在维护者睡觉时发送消息,他们可能会几小时后才回复。因此,你必须编写清晰明了的信息,提供所有必要的细节。
软技能与尊重维护者
你的“软技能”与编码能力同样重要。你必须始终表现出对维护者的尊重。
-
大多数项目维护者都是无偿从事这项工作的。
-
他们利用自己的业余时间来审查你的代码。
-
如果维护者要求你修改代码,请不要生气,认真进行修改并感谢他们。
提升个人专业形象
当你帮助他人并编写高质量的代码时,人们会注意到你的贡献。而这些行为都是公开进行的。
-
你的GitHub个人主页会记录下这些良好的表现。
-
这正是你品格的真实体现。
-
企业会看到一个乐于助人、能在全球团队中良好协作的专业人士。
-
管理好自己的时间。
-
能够跨越不同时区,通过文字清晰地交流。
-
会使用Git和GitHub等工具。
-
能够在自己的办公桌前解决复杂的问题。
-
如何复制一个项目(
clone)。 -
如何保存你的修改(
commit)。 -
如何将修改推送到GitHub(
push)。 -
如何请求维护者查看你的代码(
pull request)。 -
了解基本的HTML和CSS吗?你可以修改网站的外观。
-
了解基本的Python或JavaScript吗?你可以修复一些小错误。
-
不会编程也没关系?你可以担任技术文档编写工作,帮助整理相关资料。
-
在GitHub上搜索:寻找那些非常活跃的项目,看看是否有
适合初学者的问题标签,这说明该项目欢迎新手参与。 -
使用谷歌搜索:输入“适合初学者的顶级开源项目”进行搜索。
-
访问Google Summer of Code官网:进入Google夏季代码活动官方网站,那里有大量的项目列表,你可以根据需要筛选出特定编程语言的相关项目。
-
Web开发:构建网站(使用HTML、CSS、JavaScript、React等技术)。
-
移动应用开发:开发手机应用程序(使用Swift、Kotlin、Flutter等技术)。
-
人工智能与机器学习:处理智能数据(使用Python等语言)。
-
云技术与DevOps:帮助软件在互联网上运行(使用Docker、AWS等技术)。
-
Web3:运用区块链技术进行开发。
-
修复漏洞:发现并修正小错误。
-
添加新功能:编写新代码来实现新的功能。
-
编写测试用例:编写代码来验证软件是否正常运行。
-
编写使用指南:撰写简单易懂的使用步骤。
-
修正拼写错误:阅读
README.md文件,纠正其中的拼写错误。 -
进行翻译:将文档翻译成其他语言。
-
制作图标:设计酷炫的图标或徽标。
-
优化设计(UI/UX):让菜单更加便于使用。
-
绘制示意图:通过图表说明软件的工作原理。
-
回答问题:在Discord平台上帮助初学者解决问题。
-
组织活动:协助安排线上会议。
-
进行测试:使用软件并反馈任何存在的问题。
-
进入你新复制到的项目文件夹。
-
点击绿色的“代码”按钮,然后复制相应的网页链接。
-
打开你的电脑终端,输入以下命令:
git clone [将链接粘贴到这里] -
git add . -
git commit -m "修复了README文件中的拼写错误。" -
不要留下愤怒的评论。
-
也不要每天都去打扰他们。
-
要有耐心,回复可能会需要一周的时间。
-
在代码编辑器中进行修改。
-
保存文件。
-
输入命令
git add .,然后输入git commit -m "已修复相关问题。"。 -
最后输入命令
git push origin <分支名称>。 -
你会得到整个社区的回复。
-
其他初学者以后也可以搜索到你的讨论内容。
-
你其实是在帮助别人解决问题!
-
简短帖子:利用 LinkedIn 来分享一些快速取得的成果。比如可以写:“今天我修复了第一个漏洞!”
-
为 freeCodeCamp 写文章:你甚至可以直接申请为 freeCodeCamp 撰写文章!
-
每一份拉取请求都是你作品集的一部分。
-
每一篇博客文章也是你作品集的重要组成部分。
-
每一次帮助他人,都会成为公开的记录。
- 项目运作方式:你可以提出一个项目想法,谷歌会支付你报酬,让你在暑假期间编写代码,并且有导师为你提供指导。
- 项目运作方式:你可以申请参与设计工作、市场营销活动或编写指南,而且可以在家工作并获得报酬。
- 项目运作方式:会有专业导师指导你的团队,你不仅可以获得报酬,还能为重要的开源项目做出贡献。
- 项目运作方式:一些项目会需要帮助制作标志或进行用户调研,其中一些工作还会提供报酬。
- 运作方式:你可以通过练习编写指南来提升自己的能力,同时还能获得专家写手的反馈意见,最终还能建立一份公开的作品集。
- 运作方式:你可以通过这些项目学习技术写作或社区管理的相关知识,其中许多项目还会在你学习期间支付报酬。
- 运作方式:企业会付钱让你编写操作步骤指南,这是一种很好的兼职赚钱方式。
-
每周做一件小事就是最好的开始。
-
持续参与社区活动吧。
-
这些小小的努力最终会帮助你建立起一份丰富的作品集。
-
准备好所需工具:注册一个免费的GitHub账户,并下载VS Code。
-
寻找第一个项目:寻找那些欢迎初学者的项目,注意查看是否有
适合初学者的任务这样的标记。 -
主动加入社区:加入该项目的Discord或Slack群组,告诉他们你愿意提供帮助。
-
尝试技术写作:选择一款开源工具,学习如何使用它,然后编写一份简单的使用指南。
-
分享你的开始:在网络上发一篇简短的帖子,宣布你正式开始了自己的开源之旅。
开源如何帮助你获得工作机会、推荐信及远程工作机会
许多人将开源作为通往技术职业道路的桥梁。以下就是免费代码如何帮助你开启有偿职业生涯的具体途径。
直接通往就业的机会
大型企业会开发并使用开源工具。当他们需要招聘人员时,不会只看简历,而是会关注那些已经在GitHub上为他们的项目贡献代码的人。你在证明自己有能力胜任这份工作!招聘人员经常会发消息说:“我们非常喜欢你免费分享的代码,你想来为我们全职工作吗?”
获得真实的就业推荐
找工作往往取决于你认识哪些人。在开源项目中,你会与资深开发者一起编写代码,如果你表现优秀,这些开发者会记住你的名字。日后你可以向他们寻求推荐,这样你的名字就会排在招聘名单的前列。
证明自己适合远程工作
对许多开发者来说,在家工作是一个梦想。企业希望确保能够信任你,因此他们会考察你是否适合远程工作模式。
开源与远程工作有着惊人的相似之处。你需要证明自己确实具备以下能力:
招聘经理知道你接受过远程工作的培训,因此他们从第一天起就可以信任你。
在开始贡献代码之前,你真正需要什么?
在做出第一次修改之前,你需要准备一些基本的东西。你不需要成为专家,只需要简单的工具和正确的思维方式即可。
一个GitHub账户
几乎所有的开发工作都是在GitHub上完成的。创建一个免费账户,这个账户就是你的公开个人资料。
基本的Git知识
Git是开发者用来保存代码的工具。你只需要掌握以下基础知识:
一项核心技能(编程或写作能力)
你不需要掌握十种编程语言,只需要具备一项核心技能即可。
一个代码编辑器
你需要一个地方来编写代码。可以下载像VS Code这样的免费编辑器,它非常易于使用。
耐心和阅读意愿
这是最重要的能力。在提出任何问题之前,你必须先仔细阅读项目的规则说明。
认真阅读README.md和CONTRIBUTING.md文件,它们会告诉你如何正确设置项目环境。
选择合适的项目和技术栈
找到第一个适合自己的项目可能会让人感到困难,因为可供选择的选项很多。但只要知道该去哪里寻找,其实并不难。
如何找到合适的项目
你可以使用一些简单的技巧来寻找需要帮助的项目:
选择你适合的技术栈
“技术栈”是指用于开发软件的一组工具。你可以从很多领域中进行选择:
选择最适合你的方式
根据你已掌握的技能来选择适合自己的发展路径。如果你正在学习网页开发,那就寻找相关的网站项目吧。开源项目正是练习未来工作中所需技能的最佳平台。
贡献形式(代码、文档、设计等)
开源项目的持续发展需要各种类型的技能支持。可以把一个项目想象成建造一座房子——你需要建筑工人、油漆工以及编写施工说明书的人。以下是你可以参与贡献的几种方式:
代码贡献(建筑工人角色)
如果你会编程,就可以帮助开发软件。
文档编写(教师角色)
任何优秀的项目都需要详细的说明。你不需要会编程也能参与这项工作!
设计与美化(油漆工角色)
软件不仅需要功能完备,还需要拥有美观的界面和易用的操作体验。
社区建设与支持工作(辅助者角色)
没有人们的参与,项目就无法顺利进行。
实际操作演示:从克隆项目到提交修改请求
现在,是时候将所有步骤结合起来实践了。我们将详细讲解如何在GitHub上完成修改操作。
第一步:克隆项目
进入你想要参与开发的项目的GitHub页面,点击右上角的“克隆”按钮。这样就会在你的个人GitHub账户中创建该项目的副本,而不会影响原始项目!

第二步:将项目下载到电脑上
接下来,把该项目代码下载到你的电脑上。

步骤3:创建新分支
在修改文件之前,你必须先创建一个安全的工作环境。这个环境被称为“分支”。请输入以下命令:git checkout -b 。

步骤4:进行修改
在VS Code中打开项目文件夹,找到需要修改的文件,进行相应的更改后保存文件。
步骤5:保存你的修改
告诉Git你已经完成了修改。请输入以下两条命令:

步骤6:将代码推回GitHub
将你的修改内容上传到GitHub账户。请输入以下命令:git push origin 。

步骤7:创建拉取请求
返回你的GitHub页面,点击绿色的“比较并创建拉取请求”按钮。给项目维护者写一条友好的留言,然后点击“创建拉取请求”。
恭喜!你已经完成了第一次开源贡献!

与维护者合作并处理反馈
你的工作还没有结束。接下来,你需要与维护者一起协作。以下是处理审核流程的方法。
等待的过程
在提交拉取请求后,你需要耐心等待。请记住,维护者们都是免费为项目工作的忙碌人士。
关注的是代码本身,而不是你个人
维护者会留下评论,他们可能会说“请修改这个单词”或者“你的代码违反了这条规则”。不要因此感到难过!维护者并不是在批评你的编程能力,他们是希望你能取得成功。
如何进行修改
如果有人要求你对代码进行修改,千万不要关闭你的拉取请求!进行更新其实非常简单。
你在 GitHub 上提交的拉取请求会自动完成所有更新!
说声谢谢
有礼貌总是很重要的。当维护者审核你的代码时,一定要道谢。等一切审核通过后,他们就会点击 合并 按钮,这样你的贡献就正式被纳入代码中了!
公开分享学习成果
“公开分享学习成果”意味着向全世界展示自己的进步。这样做实际上是在证明自己的能力。
这会为你的职业发展打开许多新的机会。
公开提问能产生更大的影响
可以在论坛或频道上公开提出问题。公开提问会产生更大的效果:
建立信任与展示自己的能力
当你分享自己所学到的知识时,人们就会开始信任你。你的公开帖子就是你能力的证明,这很可能会为你带来工作机会或实习机会。
在哪里分享你的学习过程
你可以简单地记录下今天学到了什么。以下是一些分享方式:
写博客并记录自己的工作成果
开源与远程工作有着惊人的相似之处。你需要证明自己确实具备以下能力:README.md和CONTRIBUTING.md文件,它们会告诉你如何正确设置项目环境。

git checkout -b 。 

git push origin 。 

合并 按钮,这样你的贡献就正式被纳入代码中了!记录自己参与开源项目的工作非常重要。这样既能帮助他人学习,也能清晰地展示自己的能力。
简短帖子与长篇文章
你可以通过两种方式来分享自己的工作成果:
不必等到完美才发布
不要等到博客内容完美无缺才发布。立即开始分享吧,你的能力会逐渐提升的。每次发布的博客都要比上一次更好一些。
如何学习技术写作
有许多免费的工具可以帮助你学习。可以去看看Showwcase这个YouTube频道,他们为初学者提供了很多视频资源。
通往新工作的道路
记录自己的代码开发过程,可能会为你带来新的职业机会。当你建立了一个公开的代码作品集后,就有可能收到技术写作方面的工作邀请。企业非常喜欢那些能够用简单明了的方式解释技术知识的开发者!
通过开源项目打造个人品牌
个人品牌其实就是人们在网上看到你的名字时所联想到的一切。而开源项目会自然而然地帮助你建立这个品牌。
你的“动态作品集”
当你分享自己的学习过程和项目成果时,你就建立了一个公开、动态的作品集。
这一切都会自然而然地发生
你不必刻意去打造自己的品牌,这一切都会自动发生。
作为“开源贡献者”,你会自然而然地建立起自己的品牌,人们会认为你是一个乐于助人且能力出众的人。
让你的工作本身来为你说话
你的代码、写作成果以及你的善意,都会为你发声。招聘经理们会看到一个值得信赖的、活跃在全球技术社区中的成员。
开源项目、实习机会与发展空间
开源工作并不仅仅是一种志愿行为。实际上,有一些很棒的项目会为你提供报酬,让你在学习和编写代码的过程中获得收益。
谷歌代码之夏
谷歌每年都会举办这个项目。
Outreachy
Outreachy提供了有偿的远程实习机会。
Major League Hacking奖学金计划
MLH奖学金计划类似于远程实习项目。
开源设计社区
这个社区将设计师与开源项目联系在一起。
The Good Docs Project
这个社区致力于改进开源项目的文档编写质量。
LFX导师计划(Linux基金会)
Linux基金会推出了非常优秀的导师辅导项目。
有偿培训课程(自由职业写作方向)
云托管服务公司非常需要关于如何安装开源软件的详细指南。
开始行动永远都不晚
很多人担心自己已经错过了机会,但这种想法是完全错误的。在开源领域,年龄根本不是问题。
代码才不会关心你的年龄
没有人会询问你的年龄,社区只关心一点:你的工作能否为项目带来帮助。只要你能为社区做出贡献,就会受到欢迎。
持之以恒才是关键
你不需要成为最快的程序员,最重要的是要开始行动并坚持下去。
你的过往经验就是你的优势
如果你在晚年才开始参与开源事业,其实也拥有很大的优势——因为你已经懂得如何管理时间以及如何在团队中协作。不要等待完美的时机,现在就是行动的最佳时刻。
总结——接下来的步骤
你已经读完了这份指南!现在你已经了解了什么是开源,也知道了它的工作原理,以及它如何能够改变你的职业生涯。
开始参与开源事业并不需要你成为专家程序员,只需要勇于尝试,并且愿意在公开场合学习就行了。
阅读这份指南只是你的第一步,现在是时候采取实际行动了。以下是本周可以执行的简单计划:
你的行动计划
开源领域虽然规模庞大,但却充满友好氛围。每一位优秀的开发者都是从你现在的这个起点开始的。不要等待完美的时机,今天就做出你的第一次贡献吧,开始打造属于你的未来吧!