3 min read
Opensource as stress relief

How I started open source

My journey with open source began unexpectedly when I discovered maxGraph while at work. As I devled deeper into the project, I saw there was a significant amount of work to be done, particularly with migrating old Javascript code from the original mxGraph repository.

With my long-lasting wish to do some open source work and intrigued by the project, I commented on “Contributors Needed” issue, only to be hit with a response “Choose from one of the open issues”.

As someone who had never worked on open source, I was confused. Where do I start? How do I run the project locally? What about tests? No clue how to navigate the codebase. And the scariest of all, what if I break something? Thank God that did not hold me back. I stuck through, learning as I went, and eventually submitted my first PR.

Days later, I received a message that read, “Hi @HalilFocic, thanks for your contribution. This is great!”. This was enough for me to keep going. I played to my strenghts and focused on the issues labeled as bugs since I really enjoy hunting bugs and understanding why and when they happen.

Months later, I got publicly thanked in new version of the library. One more reason to keep going. 2025 will be the year I sacrifice a bit of myself and help with the documentation even though I don’t enjoy it as much as hunting bugs.

Now let’s get back to the title of this post.

No deadlines, no pressure

One of the greatest joys of open source is the ability to work at my own pace. I can choose when to work, how long to work and what to work on. Jumping into a new issue without the pressure of a deadline allows me to just think about code, nothing else. This makes me much more productive and I enjoy it way more.

No room for business

Focus is primarily on building tools and solutions that developers will actually use. “Clients” are developers who will use the library, not some business person who has no idea what they want, they just know how to say ‘I need this tomorrow’.

Continuous growth and learning

Every issue I tackle in an open source project presents an opportunity to expand my knowledge. The more bugs I see, the easier it is to fix them. Unlike the repetitive tasks that often dominate our regular jobs, open source offers a constant stream of new challenges. From hunting bugs to making features, each contribution pushes me to learn something new and grow as a developer.

No ChatGPT Heroes

The number of people rambling about how easy it is to implement or fix something without ever contributing to the project is minimal. Everyone goes by the invisible rule “Talk is cheap, show me the code”.