Thanks for Open Source

I've been writing this blog for a bit over a year. I started it for two main reasons: I love writing and I wanted to have notes about stuff I've tried (whether movies or technology). But somewhere in the back of my mind, I hoped that the weird little experiments and discoveries I made related to vim or Linux or OpenWRT or whatever would help someone else. I was partly inspired by my friend Daniel, whose blog I had ended up at several times - sometimes because he told me such-and-such information I wanted was there, but also more than once through Google.

I know I have a couple friends reading this blog intermittently, which is great. But astonishing and wonderful: a couple weeks ago someone I'd never met (from France no less) sent an email of thanks - he was trying to run OpenWRT under VirtualBox, and something I'd written on the subject was of value to him. We had a short exchange of emails, and he said "Get in touch if you come to visit this corner of the country, I'll have a beer for you in the fridge ;-)"

I've been an open source user since 1994, I've been involved in events and the OSS community since probably 1996, in 1998 I published "The Bash Prompt HOWTO" which I maintained for several years (I keep thinking I'll get back to it and update it ...), I ran a Linux User's Group for several years in the small town I lived in in Georgia, and most recently I became the author of an open source program called gitcheck. I'm not Linus Torvalds - not in genius, obnoxiousness, or contribution, but people have thanked me and/or helped me with projects pretty much every year. But it's not at all common, and this time I stopped and really thought about it.

When was the last time you thanked an open source author? When was the last time I thanked an open source author? It's more likely you sat in front of your computer cursing them for not including a feature that seemed perfectly obvious to you. (Yes, I've done that.)

This is the open source author experience: you create a program to scratch your own itch. It seems to work fairly well, and might even be of use to others. You choose to make it free for one or both of two reasons: either there's no way anyone is going to pay for this, or you believe it's morally right to release it for free. And then you put it out there, and you wait. Maybe you maintain it, but there's no financial motivation to do so: you might stop because you don't have the time anymore or maybe it works "well enough."

I've received zero feedback on gitcheck - but this is okay because it's useful to me, and so far I'm still maintaining it and trying to improve it. I work on it, despite knowing there are other similar projects out there, because:

  • I'd rather have full control
  • I like the way mine does it better
  • it's a Python learning experience for me

(Three more common reasons OSS authors do what they do.)

I both long for and dread feedback on this project: it would mean I have USERS, which would be fantastic, but it would almost certainly come with feature requests. And that's where the complexity multiplies: does the request even fit the scope of the project as you envisioned it? Do you even know how to code this new feature idea? (This isn't likely to be a big problem: most coders would love the challenge.) Would you use the feature yourself? And this is an important and troubling question, because maintaining - and particularly testing - features you don't use yourself is a real PITA.

So this blog post is several things: first and foremost a gigantic THANK YOU to all the OSS developers whose code I've been using for more than 20 years, but also a reminder to myself to occasionally thank the people who write both the code and also the HOWTOs, the blogs, and the posts on Ask Ubuntu, serverfault, StackExchange, and superuser (woo, who knew - I knew three of my most-used question-sites were related, but it turns out Ask Ubuntu shares the same parent company as well! And here I thought it was Canonical ...). I routinely add a "Bibliography" section to technical blog posts with pointers to the web pages that helped me solve the problem under discussion, but when will the author of the site ever know that? Getting a "thank you" from France didn't just make my day, it made my damn week: all that "thank you" cost him was the time it took to write the message, and - given how much of an effect it had on me - I hope to extend that thanks and happiness to others.