Contributing to open source software is typically considered to be about 3x more difficult due to the extra effort required to make a feature or bug-fix useable for the broader community. Addressing such requirements is the main contributor to the extra cost. Another cost factor is the time and effort it takes to make the code contribution pass the quality checks and code reviews.
Despite the effort required, I am a big believer in contributing back to the open source community, and here are four of the main reasons why I do it:
Reason 1. Challenge Myself
I’ve found that one of the most rewarding experiences to grow as a software engineer is to contribute to open source projects. It’s one of the best ways to improve your skills.
As an open-source contributor, I want to ensure that my code adds value to the project I’m contributing to without causing issues.
The open source community inspires me to learn more and helps me to produce the highest quality code. I want to continue to sharpen my skills as a developer and learn new ways to build better and more impactful software. Contributing to open source projects give me that platform.
Reason 2. Make an Impact
For the past 5 years, I’ve been helping organizations around the globe get the most out of the Open edX platform.
Part of my job is to make sure Open edX is operating efficiently. Find a bug? I fix it. Need a feature? I build it. By making these updates to the open source software, I ensure that those changes are integral parts of the system, and will be available to everyone using the software.
Reason 3. Being a part of a Community
Being an active member of the Open edX community is rewarding. It’s an opportunity to make new friends, collaborate, and think of ways we can continue to improve the learning technology.
For example, in 2014 I was working on the largest Arabic Open edX deployment (Edraak.org). At that time, Open edX didn’t support Arabic due to Unicode issues. It also had no support for RTL (Right-to-Left) languages which is essential for it to be usable by Arabic learners. The Edraak technical team managed to pull some hacks to make it work for both Arabic and RTL. However, that solution didn’t survive the first Open edX release update, so I collaborated with two edX team members to add RTL support for the platform. That was my first contribution to the Open edX community, and one of my largest ones.
So far it’s being used, without further help from me, by 14 major learning platforms throughout the world in different Right-to-Left languages.
Reason 4. Giving Back is Awesome
Using open source software is one thing, but contributing to open source projects is way more rewarding. It’s a way to express gratitude, and pay tribute to people who wrote that software. It’s also a way to collectively advance the software movement akin to what researchers do in the medical field.
So contributing to open source software is not just “part of the job description” for me, it’s about making a difference in the lives of millions of users and community members across the globe, every single day.
What about you? What is your experience working in an open source community? Let us know via the comments section below!
About the Author
Omar is a father, a husband and a Software Engineer at Appsembler. He’s usually working from Amman, Jordan. After stumbling on Open edX in 2014, he couldn’t stop working on it and trying to make it better. You can follow Omar’s contribution on GitHub or ping him in the Open edX Slack.