About Git Reverts and Contributor’s Pride

A new contributor in a project that I contribute for a long time got annoyed that his submission was partially accepted and replied with a “Accept as is or this is the last time that I’ll send anything here” and well, This is not how things works. Don’t threaten your developer into accepting your code, This will make him sad, and sad developers will not produce the free software that you Enjoy.

Be prideless, Enjoy that your software, art, icon is entering a state of art that will never die and your name will stay forever in the git history, but don’t get annoyed if one day it get’s replaced for a code did by someone else, as code must evolve.

At my company there’s a graphical “curl” that I wrote as the first thing that I did at the job. It was a nice and fun thing to do but the truth is that nobody ever used it, today at the weekly scrum meeting somebody asked if I was against removing it, no, nope, kill it with fire. Unused code is as good as dead code.

This also appply to my new changes to Konsole. I’v did a lot of changes in the source this month, and I was sending experimental stuff to it that I had three accepted-merged-reverted commits. This doesn’t makes me angry at all, one of the features is probably be upstreamed to Breeze and all kde software will enjoy it, and the other two introduced regressions, and if we don’t produce code we can’t evolve, without new code there’s also no new bugs being introduced (as i did).

I’m writting this for you – wannabe kde developer – that are afraid of people looking at your code and realizing that it migth contain bugs. Every code has. Be prideless and send us your code anyway, we will guide you on how to improve it. You only need to take a deep breath and don’t get offended if we tell your code has issues, take some time to learn from them. You will find out that even star programmers often submit quite a lot of broken code.

One Response to “About Git Reverts and Contributor’s Pride

Leave a Reply

Your email address will not be published. Required fields are marked *