Open source seems to be coming up on the timeline over and over again. More Open-Source sponsored events, more speakers talking about Open-source, Open-source here, Open-source there, open-source everywhere.
Maybe you have some point attempted to contribute to an open-source project, maybe one of the popular ones.
You probably went to their GitHub page, found their issues page and understood nothing of what was going on there. Maybe you understood something, but it seemed the issue had been there for months and you had no idea if it was still active or not.
Let’s say you decided to navigate to the communication channel and decided to work your way through from there. If you were like me, probably sent an introductory message, with no response. Days pass and you can literally see the tumbleweed roll across your message.
As you can tell I have attempted to contribute to Open-Source projects and most of them have been difficult to break into.
As an Outreachy alum, I talk with a lot of people attempting to contribute to Open-Source and my heart sometimes go out to them.
I watch their enthusiasm turn into apathy when they see no positive response.
Open-source communities can be icy sometimes, trust me, I know.
Outreachy was my first interaction with Open-Source communities, and it was honestly quite pleasant. I mean then, I thought it was the hardest thing ever, however retrospectively, it was quite pleasant.
I feel the first thing you should be aware of is, everyone in Open-Source is busy, this could be bad and it could also be good.
It means no one is obligated to drop everything to respond to you, there are timezone differences and sometimes switching contexts to understand your question and how to respond to you may take time. This however also means no one expects you to drop everything to respond to them. Use that information as you wish.
I contributed to the ChRIS project. In complete honesty, If I were doing this independently of Outreachy, I would’ve quit on the first day. That’s why I am in awe of people who contribute to Open-Source projects on their own, especially newbie techies, you are stronger than me.
I found it difficult to find my way to their communication channel. It took me almost two whole days. I felt like a goose with a laptop, it was the most difficult task. Turns out I just did not know how to read the documentation.
This was my Achilles tendon for most of my internship. One day, during one of my code reviews a Senior Engineer said I should learn how to read the documentation and I was like, maybe this is a real problem.
When joining Open-Source communities, knowing how to read the documentation goes a very long way. Like really read it, most of the information you need is there. I am not even kidding, it’s there.
Join the meetings!
This might seem a bit herculean, but it’s worth it, trust me, join the meetings. There is almost always information about meeting times contributors can join. Information about projects being actively worked on are discussed there, that way you know where to direct your energy. You also get to meet part of the team and for me, that made it easier to communicate with them on the communication channels.
My community contributed largely to my public speaking skills. I learned how to get comfortable talking about my rickety code, I wish I got more comfortable asking questions and speaking up, but I did the best I could then so that’s okay.
Honestly, I never knew anything being discussed, I had a long note where I wrote down words I was unfamiliar with and at the end of meetings I always had almost a page full of words. I felt like they picked the wrong person and that made me feel like disappearing all the time. After one meeting, I felt so dumb I fantasized about closing my laptop, smashing it with a hammer, setting it on fire, and drowning the remains.
Technically, I grew in an unexpected way. I did not get better at writing 1000 lines of code, I learned how to understand code. I spent a huge chunk of my time reading code, which was not difficult because their code was written so beautifully, it felt poetic.
I felt I was wasting time then, but now I see reading well-written code taught me how to attempt to try to write good code, code others can understand at a glance.
The experience was quite interesting, but I still feel Open-Source Communities with community managers are winning. The reason why I stuck with my community was that It seemed to be breathing. It’s the same reason I contribute to open-source projects I contribute to.
The best thing I enjoyed from that internship was my mentors. They were the best, they gave me freedom. I was able to explore projects and even though I felt I was everywhere, I learned so much I am still reaping the benefits.
With Open-Source projects, there is usually more than one way you can help it is okay to contribute in ways other than code. It’s okay to want to use a project to learn a new skill, the best way to learn is by doing, and so do.
Open-Source is a collaborative effort of a diverse set of people. Everyone contributes to bringing Open-Source projects alive, these people are writers, speakers, designers, testers, and community managers.
I try to replicate the experience in my life these days, I am very patient and never assume anyone knows anything, I explain as much as I can.
In conclusion, Open-source is everywhere. Might seem hard to break in, but it is totally worth it. There are more ways to contribute than code, find what works for you and always remember to be open.