你无法想象开源项目离你有多近。它早已融入你生活的方方面面,从办公室到家里,从健身房到餐厅等等。
俗话说:“开源项目属于我们,而不是我”,这就解释了为什么这些项目很受欢迎,以至于连知名的商业巨头都将开源计划纳入他们的商业计划中。但是对于普通人来说,到底是否有必要又是否有可能加入开源社区呢?它的魅力何在?
在这篇文章中,我将通过介绍优点和缺点来回答这些问题。我们都知道,奖励比惩罚更好,那我们就先从奖励开始说起。
01 掌握一项新技能
你是否厌倦了每天疏远和重复的工作?你是否想学习新的、令人兴奋的、有价值的技能?
在线课程(MOOCs)或书籍绝对是提高你的技能和扩展你的知识的好方法。然而,我想推荐另一种高效,有趣的方法,那就是加入相关的开源社区,在生产环境中解决实际问题的同时学习新技能。这些活跃的开源项目之所以如此受欢迎,是因为它们帮助用户解决实际问题并满足他们的需求。通过参与开源社区,你学习到的是真正能解决现实生产上的实战知识,而不是书本上的条条框框与课本理论。
让我们以 Apache ShardingSphere 为例。Apache ShardingSphere 受到了全世界程序员和学生的赞赏。以现有的社区数据为参考,ShardingSphere 拥有 14K+ 的 GitStars ,近 5K 的 fork,GitHub 上近 250 个贡献者,以及 160+ 的真实用例场景,基于这些数据,任何人都会得出这个结论。更重要的是,它也是 Google Summer of Code 2021、Summer 2021 和 Open source Day 2021 的合作项目。
它的功能,如数据分片、数据加密、数据扩展、分布式加载测试的影子数据库等,都是出于解决大数据数据场景、分布式数据库和高并发性的真实行业需求而产生的。换句话说,人们选择它是为了解决他们的生产问题,并有机会将意见和优化再回馈到社区。这种前后呼应的模式使得这个社区变得活跃、多样化并且可以蓬勃发展。
02 就业机会
如今,人力资源部门和招聘经理经常对候选人的资料和个人或职业发展项目进行筛选,因为他们认为这是一种实用和有效的方法,可以挑选出最佳候选人。从雇主的角度来看,这些做法是合理的。如果与传统的纸质简历相比,GitHub 可以更详尽地介绍你的资历、经验、技能,甚至个性。如果你参与的开源项目,在生产环境中被广泛使用,或者有同行业开发的解决方案,那么你在就业市场上就会非常具有吸引力,获得更好的机会。
如果你时常因为内卷或 30 岁求职而焦虑,那现在你将有新的应对之策。于是,当你获得了新发现的市场对你的技能和专业形象的赞赏的时候,你的自信心就会瞬间被提升了。
我听过很多这样的故事,Apache ShardingSphere 的 contributors 和 committers 收到了 HR 的面试电话,因为考虑到他们在开源社区的持续贡献和互动。此外,SphereEx 正在积极招募对分布式数据库中间件垂直领域的全职开源事业感兴趣的人才,以及 Java 开发人员,请点击这里查看适合你的机会。
03 兴趣
“Yep, I did it just for fun”,这是我从我们的 contributors 和 committers 那里听到的另一个原因。我在开源社区所做的事情与我的工作无关,但这是我的爱好,我想参与到社区中去,与他人交流思想,这就是我在这里的原因,就是这样一个简单而又有说服力的答案。一个简单的事实是,尽管我们是以利益驱动的心态来处理我们职业生活中的大部分问题,但我们可能会发现,在做这些事情时并没有把我们的“真心和灵魂”放在里面。找到属于你的激情或者副业可以让你重新发现自己,并且把这种积极的能量能带到你喜欢的事情上,这也会为你带来巨大的满足感,从而形成一个自我实现的循环。
坦白来说,这一直以来都是我的主要驱动力之一。每个人都在与不同的生活、工作或家庭问题作斗争,但目标、希望和来自社区的支持使我们不断努力,跌跌撞撞地向前走绝不放弃。
04 社交
一个开源社区是由多种元素组成的,其中最重要的是代码和人。打个比方,我们可以把代码看作是建筑材料,建造完成一个城堡需要许多种材料。并且无论位置、设计或材料有多好,如果没有人们的参与和承诺,一座城堡永远不会竣工,甚至随时都可能会倒塌。Apache foundation 的成功很好地证明了“社区大于代码”这一口号的重要性。创造、发展和滋养一个社区的重要因素在于参与者本身,而不是其他东西。
反之,参与者通过社交交流想法和意见,找到志同道合的人,在共同目标的驱动下,从社区中受益,而这最终会有助于社区的改善。
你的朋友不仅包括直接在你身边的人,还包括分布在世界各地的人。这听起来是是不是很棒?我说它完全是这样,至少对我来说是这样。在我们的社区里,我们互相成长,有时我们也会约在一起见面。我们的一些员工来自 Apache ShardingSphere 社区,从早期开始,我们就通过社区认识对方。吴晟(Apache Skywalking 的 VP),姜宁(华为开源部的技术专家),Ted Liu(开源社的联合创始人兼董事长),Jerry Tan(Apache brpc 的 VP),温铭(API7 的 CEO),黄向东(Apache IoTDB 的 VP),郭炜,代立冬,李岗(Apache DolphinScheduler 的 PMC),这些只是我遇到的部分开源社区的合作伙伴。
05 商业
这部分要留到最后说,因为它既是一个挑战也是一个优势。一些但不是所有的开源社区项目维护者,都有机会通过利用他们在开源社区所做的、所学到的东西来创建成功的商业企业。
如今,在技术本身、风险资本、社会和不同行业需求的推动下,开源业务正在蓬勃发展。这积极地鼓励了旨在商业化的开源项目,以提供越来越专业的产品。然而,发展一个繁荣的开源社区并寻求将其商业化,需要一个漫长而艰巨的旅程,这并不适合胆小的人。作为目前正在走这条路的人,我的建议是,在进行这段旅程之前,至少要深刻考虑你的承诺。当然,最终的奖赏是有吸引力的,但这将意味着你必须在你的生活中做出无数的牺牲。我不想让我听起来很讨嫌,无论如何,如果你想试一试,那就放手一搏,祝你好运!
如果你正在寻找一个活跃的开源社区,Apache ShardingSphere 绝对是你应该考虑的一个好选择。另外,SphereEx 目前提供了许多工作机会,可以让你成为全职的开源开发者或社区经理。
感谢你阅读本篇文章,下一篇文章将会是“如何加入开源社区”。欢迎持续关注我们,谢谢!
作者
潘娟 | Trista
SphereEx 联合创始人,Apache 成员,Apache ShardingSphere PMC,Apache brpc(孵化中)导师
Twitter: https://twitter.com/trista86934690
Github: https://github.com/tristaZero
ShardingSphere GitHub:https://github.com/apache/shardingsphere