I used to love programming in dirty non-standard C++ using Borland’s Turbo C++ IDE v3.0 on MS-DOS. I ‘wasted’ much of my time during my high school (and college, to some extent) on trying to build a GUI “library” for MS-DOS, which could do command buttons, checkboxes, menus, blah blah blah. (While this taught me some OOP concepts, and some debugging skills, I was trying to reinvent the wheel. I don’t think it was worth spending so much time on it, now, but I was a FOSSn00b at that point of time.)
I wanted to develop, for no productive reasons, a Sky atlas software for MS-DOS. So I decided to use KStars’ catalogs. I downloaded the KStars source and tried to understand how to use these catalogs. I also borrowed the RADectoXY conversion from KStars. While looking through the code, I saw that the KStars code was so beautifully written, so well encapsulated, that I decided that there was absolutely no point in re-inventing the wheel, and decided to join the KStars project and try to kontribute.
So I wrote out a mail to Jason Harris, author of KStars, saying that I’m an amateur astronomer who was inspired into the same by KStars, know some C++, and want to try and kontribute in my own small way. Jason said that I could try picking out bugs, try fixing small bugs, and asked me to join the kstars-devel at kde dot org mailing list. After some bug-finding, bug-fixing, I sent in my first patch.
Sometimes, the desire to improve software that I use (“Why does that software have this feature, while this software that I use does not?” for instance) drives me to contribute. I did something for mcabber because gajim had a gajim-remote but mcabber did not (unfortunately, it is not working now 😦 – example of bad code). I think that’s what happened with KStars, although I don’t remember clearly. KStars lacked the star depth offered by Cartes du Ciel, and the amount of information about DSOs, or accuracy in magnitudes was more in other software. That’s where I decided to jump in.