DEV Community

Cover image for The perfect open-sourcer does not exist
Batuhan Ipci
Batuhan Ipci

Posted on • Updated on

The perfect open-sourcer does not exist

Breakthrough

Over the last four months, I have set some goals to become a better open-sourcer.
They looked something like this:

  • [x] Contribute to an open-source project and build influence in the community
  • [x] Make a commitment to a project and build up credibility as a maintainer
  • [x] Do a meaningful code review and answer issues

Being young and having less experience in open source community, made all of these seem out of reach. Nevertheless, I carried them out. Regardless of what goals you might have, I want you to go through your version of a breakthrough.

During the process, what became clear to me was to put my commitment to the goals I wanted to achieve. I have this desire to be perfect in things I do, but ironically this leaves my work overdue and ultimately I end up not doing them. Though, once I achieve them, I wonder why I haven't done them earlier.

It's easier to achieve your goals than you think, but being perfect about them is not.

Contribute small to big πŸ›πŸ—»

Contribute to an open-source project and build influence in the community

Whether you contribute small or big chunks of code, being consistent about them carries vital importance. Small contributions to a particular project help you to get familiar with it at first and leads to something bigger.
Take a look at some pull requests I have raised to the following projects; withfig, cve-bin-tool, my-photohub, pr-approve-generator.

palpatine static site generator with unlimited power!⚑

Make a commitment to a project and build up credibility as a maintainer

One of the personal projects I love developing is palpatine. I blogged about it here and I am constantly adding new features to it! So far it has reached 5 starts and keeps growing with the help of the open-source community.

Keeping good maintenance on and marketing your projects is, I believe, a very significant part of open source. There are so many developers all around the world on GitHub potentially finding your project worthwhile.

Read Code Like A Book πŸ“– πŸ§™

Do a meaningful code review and answer issues

Almost everyone seems to have had a hard time reviewing other people's codes. My experience was not very different, I too found it utterly challenging. So much so that, I was putting off writing this blog for the longest time. I understand, however, that being able to review other people's code is an important trait to have and a difficult skill to attain. It takes time and practice to be able to look at code and give constructive feedback about them so that it helps the project and the developer.

I reviewed the codes of two of my classmates from;

Review 2️⃣

review1

Review 2️⃣

review

I am no expert at code reviews yet, without writing much I want to click on the Submit review button as soon as I can. You as a developer may relate, there might have been times you found other developers more experienced than you are, and not wanting to review their code. However, in such a situation, reviewing good or poor-quality code can improve you as a developer drastically. Along the way, I found myself searching and learning a lot about things I didn't know.
This resource was the most important piece that helped me to make an impactful review.

Better open-source player πŸ‘Ύ

After accomplishing all the goals I counted above, ironically it feels easier to do them again. Before I attempted any of those, it was very overwhelming, they all seemed like it was out of my capability. Do not wait for your work to be perfect and get started with what you truly love.
The feeling of accomplishment is so rewarding that you will be able to say; "you could do it once again."

Top comments (21)

Collapse
 
arifpateldubaiprestonuk profile image
Arif Patel Dubai Preston UK

Thank You!

Collapse
 
batunpc profile image
Batuhan Ipci

Thanks Arif!

Collapse
 
arifpateldubaiprestonuk profile image
Arif Patel Dubai Preston UK

My Pleasure!

Collapse
 
saminarp profile image
Samina Rahman Purba

What a well crafted article

Collapse
 
batunpc profile image
Batuhan Ipci

Thank you 🀩❀️

Collapse
 
krishnaagarwal profile image
Krishna Agarwal • Edited

It's definitely a good and useful article @batunpc ⭐
Thanks a lot for sharing, it will help me to be a better Open-Sourcer

Collapse
 
batunpc profile image
Batuhan Ipci • Edited

Thanks lot for reading Krishna, means lot to me 🀩
Good luck in your open-source journey!!

Collapse
 
krishnaagarwal profile image
Krishna Agarwal

Good Luck πŸ‘πŸ»

Collapse
 
siddharthkmehta profile image
Siddharth Kumar Mehta

Totally agreed with you @batunpc

Collapse
 
lico profile image
SeongKuk Han

other developers more experienced than you are, and not wanting to review their code.

I think I was afraid of reviewing others' code because of this. I'll try to make one step! Thank you

Collapse
 
maurerkrisztian profile image
KrisztiΓ‘n Maurer

Great article, thank you! I'm in a similar situation, with the difference that sometimes I feel that I don't have much time to contribute besides my personal projects... I always come up with some ideas, and experiments and I feel like maybe I learn more from them but of course, I contribute sometimes and I want to contribute more.

Collapse
 
batunpc profile image
Batuhan Ipci

Thanks Maurer, for reading my article! OpenFlame seems like a good organization! Being consistent in open source requires reasonable effort but the work is rewarding.

Collapse
 
maurerkrisztian profile image
KrisztiΓ‘n Maurer • Edited

Thanks, I looked at this Palpatine project (star++), it would be great if there was a GitHub action that would turn MD/txt files into a website and upload it to a separate branch that can be hosted.

Thread Thread
 
batunpc profile image
Batuhan Ipci

That's a great suggestion! I will take it into consideration in future releases 🀩

Thread Thread
 
maurerkrisztian profile image
KrisztiΓ‘n Maurer

I created a simple POC github.com/MaurerKrisztian/md-to-web. It would be nice if the releases include an executable, the workflow could download the latest version and use it *(build is slow with make that's why I suggest that).

Collapse
 
fromshubhi profile image
Shubhi✨

Amazing article thanks for sharing!!

Collapse
 
davidrenne profile image
davidrenne

I starred Palpatine just cause it only has 5 stars

Collapse
 
batunpc profile image
Batuhan Ipci

Thanks David!

Collapse
 
davidrenne profile image
davidrenne

Throw me a star on gocore

github.com/DanielRenne/GoCore

Collapse
 
batunpc profile image
Batuhan Ipci

Done πŸ‘

Collapse
 
romil_code profile image
Romil Jain

If you're not beginner then does open source contributions help in getting btter job