Subject
- #Open Source Contribution
- #Growth Opportunity
Created: 2025-05-03
Updated: 2025-05-27
Created: 2025-05-03 00:00
Updated: 2025-05-27 09:42
This article aims to give courage to those who are interested in open source but are hesitant, thinking, 'Can I do this?', 'Where do I start?'.
Today, I want to share my experiences of taking the plunge into open source and what I learned and felt during the process.
When studying development, you often encounter the term 'open source'. If you look at GitHub, there are numerous projects that move the world, with their code openly available.
Projects that publicly release their code in this way are called 'open source'.
For example, there are large open-source projects like OpenJDK, Spring Framework, Redis, and React.
I have contributed to open source a total of four times so far. I'm contributing by finding small, minor improvements in open source, rather than adding features that will turn the world upside down.
I don't know the code style of the above projects, nor do I know in detail what they do.
You can see that you can contribute to the community even if you don't completely understand the code. I've only been in development for two years, and I haven't felt particularly talented in development.
I am maintaining this activity because I enjoy contributing to open source and communicating in the developer community.
Honestly, at first, the thought of 'wouldn't it be nice to add a line to my resume?' wasn't completely absent. It was quite big. But there was a bigger motivation. It was the desire to 'learn more deeply' and the need to 'solve the problems I've experienced'.
I had the opportunity to deeply study Project Reactor, the underlying technology, while using Spring WebFlux in a team project. I understood the concepts through books and documents, but I could only learn how it actually operates and optimizes in complex systems by directly looking at the code and experiencing it. Also, I often worried, 'How do I prove that I studied Reactor hard?', and I thought, 'I should contribute to open source!'.
Once I decided to 'contribute!', I was at a loss as to where to start. From finding the part I needed to modify in the vast code, to predicting how my changes would affect the entire system, everything was daunting.
I think it took a long time to finally register a PR because I often thought, 'What if I get criticized for uploading a PR like this?'.
The Reactive Command of Lettuce, a Redis Java client I was using as a Reactive Stack, was based on Reactor, and I wanted to improve it by directly modifying the Reactor chain based on Reactor learning.
I just forked it without thinking and looked at all the code that included the strings 'Reactive' and 'reactor'. I think I checked all the code where the chain was composed of Reactor Publishers such as Mono and Flux.
While thoroughly examining the code, I was lucky enough to find code that was slightly less readable and didn't have proper method chaining in one of the codes that used the Reactor chain. It wasn't a feature improvement or architecture change that would turn the world upside down, but it was a small and clear problem within the scope that I could understand and modify. I thought, 'Oh, if it's something like this, I can contribute too!'.
Based on what I understood, I carefully modified the code and checked whether it worked as intended, even if it was only in a local environment. Although it was a small change, I approached it with caution, trying to follow the existing code style as much as possible and wondering if it would affect other parts.
It was time to commit the modified content and finally upload the PR. Honestly, there were a lot of 고민 and hesitation until I pressed the 'send' button. I was worried, 'Is it okay to send a PR with this much change?', 'Wouldn't they say I fixed something obvious?', 'Can I write the explanation in English well?'.
As I said before, I was very afraid of being criticized for my shortcomings. But with the thought that 'starting is half the battle' and 'you can't learn anything unless you try', I bravely submitted a PR with the changes I made and the reasons for them as detailed as possible.
redis/lettuce - #3061
Finally, my PR was 'Merged', and I felt a great sense of accomplishment and pride in the fact that the code I wrote and modified became part of a famous open-source project used by countless developers.
Above all, the biggest gain was that I gained the confidence that 'I can do it too!'.
It's okay if you don't completely understand it. You can start small, just like me. There are many ways to contribute, such as correcting typos in documents, participating in translation, and reporting simple bugs. What's important is the courage to take the first step beyond fear.
If you make a mistake, it is also an opportunity to grow even more by getting feedback from the community through that mistake.
It is also a valuable opportunity to add a line to your resume, but open source contribution based on learning can also be a means of proving that you have really studied hard.
Comments are disabled for this post.