The first time I contributed to Open Source must have been over twenty years ago. I think it was a feature to add a table of contents to CDs burned with mkisofs, followed closely by a patch to Samba that allowed a device to be transparently mounted under a share which was being accessed. I recall sending those patches by e-mail (over UUCP of course) and being quite excited when they were accepted. (I haven’t checked, but I assume credit for those relatively small features has meanwhile been dropped from CONTRIB or CHANGELOG files and can be found in old archives only.)

Other than reporting bugs (which can be quite involved – having to create test-cases, etc.) and pestering people to add features I consider useful, I haven’t contributed very much to the Open Source world.

Enter Ansible.

Ansible is written in Python, and that is forcing me to learn more Python, which is good. I’ve been quite active with the project over the past few months, and I’m hugely enjoying it.

Twenty odd years have brought on a massive change to collaboration: there’s quite a difference from running diff -c ... | mail ... to working with git repositories on Github. :-) Turn-around time between submitting a patch and getting that merged (or thrown back as being useless!) has decreased of course, at least in theory: timezones do add a certain lag to the process…

While it can be a bit nerve-racking to argue and fight for a feature to be implemented, it’s all the more satisfying when it actually then is implemented. It’s also satisfying to come up with a something which quite radically changes how the project then does its documentation, say.

Working on Open Source projects can be time consuming, but it’s fun. All of us should do more of it, and every little bit helps, be it writing documentation, carefully and precisely reporting bugs, contributing ideas and/or code, fixing bugs, etc. Hell, even a graphics artist without IT knowhow can contribute to an Open Source project.

Somebody, sometime, will say “thank you”.