您是否对开源技术充满热情,并梦想成为一名开源软件开发者? 如果答案是肯定的,那么您来对了地方。
“开源”是一个技术术语,指的是自由开放的软件。 但开源远不止如此,它涉及更广阔的生态系统。
本文将深入探讨开源的各个方面,并为您提供成为一名开源开发者的详细指南。
让我们开始吧!
什么是开源开发者?
开源开发者是指那些为依据开源许可证发布的软件做出贡献的人。 简单来说,只要您参与到开源项目中,您就可以被视为开源开发者。
然而,开源开发者的工作不仅仅是简单地贡献代码。
他们专注于整个开源生态系统,深入理解其运作机制、贡献方式、不同的许可证类型,以及与其他开发者合作创建优质软件的能力。这些技能使开源开发者在行业中需求量很大。
开源市场非常开放,尤其对以下技术领域的人才需求旺盛:
- 云/容器技术
- 网络安全
- 开发运维(DevOps)
- 网络技术
- 区块链
- 存储技术
- 人工智能/机器学习
- 边缘计算
接下来,我们将详细了解开源开发者的具体职责。
开源开发者的职责
作为一名开源开发者,您的职责会根据您的经验、参与程度和技能而有所不同。核心职责包括通过添加新代码或修复错误来改进项目。此外,您还需要管理开源项目的社区方面。
如果您在编码和开发方面有专长,您将有机会为项目的核心代码做出贡献。这可能涉及添加新功能或优化代码库以提升性能。
此外,您还需要参与解决问题和错误追踪。开源项目因其开放性,任何人都可以贡献代码,因此规模会不断扩大。为了有效管理这些错误和问题,项目经理会部署合适的追踪系统,以管理任务、功能请求和错误报告。
代码审查也是您需要参与的环节,以确保代码库的一致性和质量。
根据您的具体角色,您可能还需要执行以下操作:
- 测试和质量保证
- 收集需求
- 社区互动
- 保持与先前版本的向后兼容性
- 发布管理
- 确保项目安全
- 编写完善的内部和公共文档
- 进行翻译
接下来,我们将探讨为什么选择开源职业。
为什么选择开源职业?
开源职业目前需求量很大。 越来越多的公司选择将其项目开源。事实上,您会发现大多数技术都基于开源原则。 软件的关注度越高,它就越完善。
开源还有助于公司降低成本、减轻业务风险并提升整体项目质量。
所有这些都意味着作为一名开源开发者,您在这些公司找到工作的机会更大。根据《2022年开源工作报告》,许多管理人员积极寻找具备开源经验的候选人。
这份 2022 年开源就业报告 显示,86% 的管理人员希望招聘有开源背景的人才。 此外,46% 的管理人员表示有兴趣增加开源岗位的招聘。
来源:training.linuxfoundation.org
但是,该研究也表明,93% 的管理人员在寻找合适的开源人才时遇到了困难。 他们认为,大多数候选人缺乏必要的开源经验。
报告还揭示了招聘经理所看重的技能。他们希望候选人具备以下能力:
- 构建解决方案的能力
- 掌握 GitHub 的使用
- 拥有运行项目和为开源项目做贡献的经验
- 熟悉新的开发工具
从求职者的角度来看,选择开源职业也有诸多好处,包括:
- 接触最先进的技术和基础设施
- 与来自世界各地的资深专家合作
- 拥有极佳的职业发展机会
- 能够从事自己热爱的开源事业
如何成为一名开源开发者?
要成为一名出色且熟练的开源开发者,您必须从小处着手。 最好的方法是深入理解开源及其运作方式。而学习如何为开源项目做贡献,是入门的最佳途径。
#1. 了解开源项目的组成部分
要开启您的开源开发之旅,您需要了解开源项目的构成和运作机制。理解开源项目是由一群致力于解决实际问题的个人组成的,这一点至关重要。这些人员包括项目维护者、贡献者、社区成员以及用户/客户。
开源项目的其他重要组成部分还包括:
- 源代码和文档存储库
- 贡献指南
- 项目许可证(规定其分发条款)
- 项目文化
- 行为准则指南
- 任务分配机制
这些要素中的每一个都对开源项目的成功至关重要。此外,所有这些要素的核心是版本控制系统(VCS),例如 Git。
#2. 从小事做起
正如 Radek Pazdera 所建议的那样,从小事做起通常是明智的。这能帮助您避免被大型开源项目的庞大代码库所吓倒。如果您试图一开始就了解所有细节,您很快就会感到力不从心。此外,从小事着手可以帮助您将时间投入到您感兴趣的项目中,并在整个过程中保持动力。
#3. 了解开源贡献的基础知识
成为开源开发者的最佳途径是学习基础知识。核心概念是:代码在其生命周期中需要被修改、检查或改进。
开源生态系统非常庞大。此外,大多数项目都是由财团或企业软件供应商赞助的。即使在构建专有软件时,公司也会使用开源软件来构建组件。
如果您是开源新手,建议从 GitHub 上寻找您感兴趣的项目。您可以浏览项目并研究其贡献文件和自述文件。项目文档也是学习开源项目的绝佳资源,因为它包含详细的步骤和教程。
一旦您熟悉了基本概念,就可以创建一个开发环境并开始贡献代码了。
#4. 保持沟通畅通
在为任何开源项目做出贡献时,您还需要积极参与社区。加入 IRC 频道和邮件列表,以便及时了解社区的最新动态。这对于初学者来说尤为重要,他们可能会需要帮助来弄清从哪里开始做出贡献。
您也可以直接向项目开发者和维护者发送邮件寻求帮助。从事开源项目的人们乐于助人,会指导您完成整个过程。但请注意,不要用简单的问题打扰他们。如有基本问题,可以使用论坛或邮件列表寻求解答。
一旦您开始贡献,您就会开始受到关注,这也会成为您获得工作机会的开始。
#5. 获得一份开源工作
您可以通过两种方式找到开源工作:通过传统的招聘流程或直接被开源社区发现。
我们先来了解一下传统的求职方式。
在这种情况下,您可以在招聘门户或公司官网搜索招聘信息并进行申请。 您也可以通过 LinkedIn 来了解公司的文化和空缺职位。
如果您没有找到感兴趣的开源项目的招聘信息,您可以联系该项目的开发者或维护者,表达您希望加入的意愿。如果候选人在其领域表现出色,公司在某些情况下可能会考虑聘用他。
另一种方式是通过您的贡献来引起人们的注意。
我之前写过一篇关于开源和求职的文章,其中讨论了如何通过贡献让自己受到关注。关键在于持续贡献,直到有人注意到您。一旦您产生了显著的影响,您就处于被聘用的有利地位。
结语
开源开发之路始于贡献。有时,候选人会在工作中学习相关技术。但是,我们强烈建议您先独立入门,以便在竞争中占据优势。
此外,开源工作大多是远程的,这能让您更好地平衡工作与生活,并有机会在空闲时间继续为其他开源项目做出贡献。
接下来,您可以研究一下 TypeScript 库和运行时,以便进一步了解开发者的工作环境。