[this post is available online at https://s.apache.org/MfuS ]

by Weiwei Yang

I submitted my first patch to Apache Hadoop in 2015, a very simple bug fix with 
just a few lines of changes. However the feeling is still vivid to me when the 
patch was accepted, I felt great accomplishment. It was not about how big the 
change was, but rather because I knew even a small change would help a lot of 
people. This is the best thing I like about working in Open Source, the work 
I've done has the chance to influence the world. 

As of today, I have contributed nearly 200 patches to Apache Hadoop, over 20k 
lines of code. I still feel happy when the community accepts my patches. I 
believe that having such passion is an essential for an individual contributor 
to make the way to Apache. Unless your company paid you to work on Open Source, 
you must find yourself such accomplishment during the work, otherwise the 
commitment won't last. Like me, I spent over 3 years until I received commit 
privileges for Hadoop. In retrospect, it was a tough, challenging but fast 
growth journey. I am glad I did not give up and finally get where I am now.

If you are hired by a commercial company that sells products or services 
powered by Open Source software, then congratulations, you are on a shortcut to 
Apache. Such companies usually have a strong team working directly on Open 
Source projects and a lot of committers. Being a member of such organization, 
you will have more time working on the project, get faster feedback of your 
patches, opportunities to participate more discussions and much deeper 
involvement. Unfortunately, I was not working for such companies. Moreover, my 
native language is not English and I have a big timezone gap with the majority 
people from the community. That makes my path to Apache much more difficult. I 
believe there are many people, just like me at 3 years ago, who are willing to 
contribute but finding it hard to. In this post, I will share some tips how to 
work with the Apache community and how to grow up to a committer.

First, it's important that you know things that are public to everyone. Every 
Open Source project has its own tutorials introducing how to contribute, be 
sure you have read that before working on any patches. Those documents 
generally tell you how to contribute code in the "Apache" way, and how to 
collaborate with the community.

Second, don't mind fixing bugs. Actually I suggest to begin with fixing bugs. 
You may find bugs in your daily work, or somebody reported to the community. No 
matter if they are big or not, bugs must be fixed so that it's easier to get 
attention from the community. In an Open Source community, everyone volunteers 
to review some other ones' patches. So don't be upset if nobody gets to your 
patch quickly, try to soft ping committers around this area. But never push 
them for anything. And always be polite.

More involvement. There are many ways to get more involvement. First, if a 
community sets up a MeetUp once in a while, try to attend even you are remote 
or in an inconvenient local time. Such MeetUps can help you gather information 
of the development status, current community focus etc. It also helps others to 
get familiar with your face; second, try to participate in more discussions. 
This could be discussions on mailing lists, issue tracking systems or a Web 
conference that discusses a particular issue/design. In my opinion, this is the 
hardest part especially for contributors from overseas.

Be self-motivated and passionate. Nobody forces you to work on Open Source 
projects, you need to keep motivating yourself. Like I first mentioned in this 
post, there are more ways to be self-motivated than just feeling accomplished. 
Working in the community gives you the chance to work in a diverse environment, 
meet people from different companies and different countries; you can get as 
many chances as you want to solve difficult real problems, and improve your 
skills; you can build your reputation in the community which also helps your 
career development.

I truly hope my experiences would help people. Now I am working at Alibaba 
Group, and it gives me more reason to write this post. I see a lot of talented 
people around, they have solid skills, they have done and are doing a lot work 
to make Hadoop better. They are open to contributing back but are having 
various of difficulties to work with the community. I am committed to helping 
grow this community, and I do believe an open and diverse community will help 
the project thrive.  


Weiwei Yang is a Staff Engineer working at Alibaba Group. He has been working 
on Big Data area for over 8 years, most of time working on Apache Hadoop. He 
contributed to several Apache projects such as YARN, HDFS, MapReduce, Ambari 
and Slider, and an active Hadoop committer. At present, he is working in 
Alibaba’s data infrastructure team and is focusing on evolving Apache YARN to 
support mixed workloads, improve performance and cluster utilization. Prior to 
that, he worked in IBM for several years and won multiple Open Source 
contribution awards.
= = =

"Success at Apache" is a monthly blog series that focuses on the processes 
behind why the ASF "just works" 
https://blogs.apache.org/foundation/category/SuccessAtApache

# # #

NOTE: you are receiving this message because you are subscribed to the 
announce@apache.org distribution list. To unsubscribe, send email from the 
recipient account to announce-unsubscr...@apache.org with the word 
"Unsubscribe" in the subject line. 

Reply via email to