Why should you get involved in an Open-Source community?
You wouldn’t imagine how close Open-Source projects are to you, as they have been integrated into every aspect of our lives - from the office to your home, from gyms to restaurants etc.
The saying goes something along the lines of “Open-Source projects belong to us, not me” , which explains why these projects are popular to the point that even renowned business giants are including Open-Source initiatives into their roadmap. But for us common individuals, is there a chance and need to join the Open-Source community? What’s the appeal?
In this article, I will answer these questions by sharing the pros and cons. As we all know, the carrot is always better than the stick, so let’s first start with the carrot.
1. Master a New Skill
Tired of alienating and repetitive work every day? Do you want to learn new, exciting and valuable skills?
Online courses (MOOCs) or old fashioned books are definitely great ways to improve your skillset and expand your knowledge. However, I’d like to recommend another efficient and interesting method, i.e. joining a relevant Open-Source community to learn new skills while solving real problems in a production environment.
The reason why these active Open-Source projects are so popular is that they help users solve actual issues, while at the same time meet their needs. What you’ll learn won’t be about memorizing knowledge or textbook content, but about stimulating your brain and critical thinking skills with real-world knowledge.
Let’s take Apache ShardingSphere as an example as it’s is appreciated by coders and students worldwide. Anyone will arrive to this conclusion just by considering the community data available, i.e. 14K+ GitStars, almost 5K forks, nearly 250 contributors on GitHub, and 160+ real use case scenarios. What’s more, it’s also a Google Summer of Code 2021, Summer 2021, and Open source Day 2021 partner project.
Its features such as sharding, data encryption, data scaling, shadow database for distributed loading tests etc. are borne out of real industry needs to address big data scenarios, distributed databases and high concurrency. In other words, people choose it to solve their production issues and for the possibility to provide direct feedback upstream. This back and forth model makes this community active, diverse, and flourishing.
2. Career Opportunities
HR departments and hiring managers nowadays routinely screen candidates’ profiles and personal or professional development projects, as they view it as a practical and effective approach to select the best possible candidates. From an employer point of view, these practices make sense: GitHub can provide a more elaborate overview of your qualifications, experiences, skills, and even personality when compared to a traditional paper resume.
If the Open-Source project you are getting involved in, is widely utilized in a production environment or has an equivalent industry developed solution, you are going to be very attractive in the job market and command better opportunities.
If you ever felt stuck in rut, you may be well too familiar with the hit our confidence can take, and the newlyfound market appreciation of your skillset and professional profile will instantly provide you with the ever welcome confidence boost.
I have heard many such stories from Apache ShardingSphere contributors and committers receiving impromptu interview calls from HRs considering their continued contributions and interactions in the Open-Source community.
Besides, SphereEx is actively recruiting talent interested in a full-time Open-Source career within the distributed database middleware vertical, and Java developers. Make sure to check out available opportunities here.
“Yep, I did it just for fun!” - that’s another reason I heard from our contributors and committers. “What I’m doing in the Open-Source community has nothing to do with my job, but that’s my passion and I want to get involved in a community to exchange ideas with others. That’s the reason why I’m here”.
Such a simple, yet persuasive answer. The truth is that although we approach most of our professional life’s issues with a profit-driven mindset, we might find that we do it without putting our “heart and soul” in it. Picking up a passion or side-project can allow you to rediscover yourself and channel positive energy into working on something you love, which in return gives you great satisfaction, thus creating a self-fulfilling circle.
Honestly, this has and still is one of my main drivers until now. Everyone is struggling with different life, work, or family issues - but goals, hopes and support from the community keep us striving and stumbling forward without quitting.
An Open-Source community is made up of multiple elements, most important of which are code and people. As a premise, for the sake of analogy we could consider code as building materials, and should note that many types materials are required to build a great castle. We should also note that no matter how good the location, design or materials, a castle will never be great and might even collapse on itself, without people’s participation and commitment.
The importance of the “Community Over Code” mantra is well demonstrated by the success of the Apache Foundation. The X factor to create, grow and nourish a community lies in the participants themselves rather than anything else.
Viceversa, participants benefit from the community by socializing, exchanging ideas and opinions, finding like-minded individuals driven by a shared purpose, which in turn ultimately contributes to improving the community.
Your friends will not only include people directly around you, but also people from all over the world. Doesn’t this sound amazing? I’d say it totally does, at least to me.
In our community, we grew up with each other, and sometimes, we will meet each other in person. Some of our employees are from the Apache ShardingSphere community, and we’ve known each other thanks to the community since the early days. Sheng Wu (VP of Apache Skywalking), Ning Jiang (Technical expert of Huawei Open Source Department), Ted Liu (Co-founder & Chairman of KAIYUANSHE), Jerry Tan (VP of Apache brpc), Ming Wen (CET of API7), Xiangdong Huang (VP of Apache IoTDB), Wei Guo, Lidong Dai, Gang Li (PMCs of Apache DolphinScheduler), are just some of the partners I met from Open-Source communities.
Last but definitely not least, this part is addressed at the end since it is both a challenge and an advantage. Some but not all of the Open-Source community project maintainers had the chance to create successful business ventures by leveraging what they practiced and learned in the community.
These days, the Open-Source business is booming, driven by technology itself, as well as venture capital, society, and diverse industry needs. This positively encourages Open-Source projects aiming at being commercialized to provide increasingly professional products. Nevertheless, developing a thriving Open-Source community and looking to commercialize it entails a long and arduous journey not fit for the faint of heart.
As someone who is currently undertaking this path, my suggestion is to deeply consider your commitment at least a few times before undertaking the journey. Surely the ultimate prize is attractive, but it will require numerous sacrifices that will have to be made in your life. I don’t want to sound like a bummer, by all means, if you want to give it a try, go for it!
If you are looking for an active Open-Source community to join, Apache ShardingSphere is definitely a great option you should consider. Also, SphereEx is currently providing many job opportunities that would allow you to become a full-time Open-Source developer or community manager.
Thank you for taking the time to read this article, but this is not the time to bid farewell since my next article, “How to Join an Open-Source Community” will be available soon. Please stay tuned, and see you next time.
Juan Pan (Trista)
SphereEx co-founder, Apache member, Apache ShardingSphere PMC, Apache brpc (Incubating) mentor
Juan’s Twitter: https://twitter.com/trista86934690
ShardingSphere Github: https://github.com/apache/shardingsphere
ShardingSphere Twitter: https://twitter.com/ShardingSphere
ShardingSphere Slack Channel: https://bit.ly/3qB2GGc