Love your bugs: a zen guide to keeping your sanity while managing a free software project

Love your bugs: a zen guide to keeping your sanity while managing a free software project


Over the last few years, I've come to accept the fact that regardless of my attempts to quit this job, I am fundamentally a programmer. I wrote a book about security, I am the Editor In Chief of Free Software Magazine, but in the end I am still just a programmer. A lucky one, I must admit. Until last month, I had been blessed by the fact that either the software I wrote was owned by somebody else after a short contract (and therefore it didn't matter to me once I had completed it: somebody else eventually took it over), or that what I programmed had been created just for myself (I was the only user of the software... bliss!).

This changed when I became a free software programmer.

I have recently released what I consider an important project: Drigg. Drigg is what FSDaily is based on, and allows people to create sites like Digg (with voting etc.) in no time. I wrote it both because I felt that the world needed it, and because... well, we felt we needed it ourselves with FSDaily. So, it came out.

Little did I know, that that would be just the beginning. I had been working day and night for weeks, to get Drigg completed. While programming I had this vision that once I finished, that would be "it": I could go back to what I considered my "normal life", happily managing Free Software Magazine and doing things like going to the beach in the heat of January (no sarcasm: I live in Australia...). Oh yes, little did I know.

What I didn't know, was that releasing the software (after painfully winning a battle with CVS) was only the very first step. After that, bug reports and feature requests started coming in. Tons of them. Unstoppable. It felt like a truckload per day.

I learned a lot from this experience. You see, I like being tidy. I look with horror at other Drupal modules with bugs opened 4, 8, 12 weeks ago and never really dealt with, with one shy message by the maintainer asking for more information, and apparently nothing really done about the problems. To me, it was like seeing a shop with half-open boxes all over the floor, and merchandise everywhere. My shop was to be tidy: I was going to be the Tesco of the Drupal modules.

I managed to do that, but my goodness, what a struggle. People reported obscure bugs. I asked follow-up questions, only to see some of the reporters disappear for four days. Other people reported bugs very accurately, with a twist: it was absolutely impossible to reproduce them. Or, others reported bugs that made me realise that maybe I should have spent a little bit more time testing the module, and I wondered how on earth I could have allowed my own site to run with that kind of problem... Or, again, others reported the "usual suspects", the bugs for which you could just get a little robot to type for you "You are using an old version of JQuery. Please update". And then again "You are using an old version of JQuery. Please update". And then again...

I started getting a little restless about bugs. I would go to bed thinking: my goodness, I really hope there won't be any nasties tomorrow morning. Sure enough though, I logged in to my Drupal dashboard the following morning, and there they were, the happy bunch waiting for me: one nasty bug, a couple of vague reports, and a feature request. I caught myself thinking, in the middle of the afternoon: "Gosh, what if somebody is filing a bug report on my modules right now?". I guess some would say that I was going a little delirious. I guess this is what you get when you are slightly obsessive compulsive and enjoy the thought that your module is bug-free (or should I say "bug report free"?). So yes, bug reports were seriously bugging me. I wanted to work harder, and harder, and harder, so that Drigg was bug-free. I did just that.

Eventually, I realised that bug reports are there just to bug you--but in a good way. That's their job. What else could a bug do, after all, if not bugging you? I realised that if bugs weren't reported, they wouldn't get fixed either. And I realised that they, in the end, only matter a little bit: at the end of the day, it's better to have a program with a couple of bugs than not having a program at all... I also learned that very, very often behind vague, apparently worthless reports there are real bugs waiting to be found.

A program is like a plant. To stay alive, it needs considerable amounts of work, wisdom, and love. A watchful eye needs to make absolutely sure that bugs don't end up ruining this plant, and that any problem is dealt with timely. You have to eliminate the bugs, squash them mercilessly, and yet love the bug reports which are so important to find out where those bugs are in your plant.

I managed to grow a plant that the whole community enjoys. Several web sites out there are benefiting from my work already. I will look after it, let it grow slowly, and look at every bug report that comes with gratitude. That's what being a community is about, isn't it?

Category: 

Author information

Tony Mobily's picture

Biography

Tony is the founder and the Editor In Chief of Free Software Magazine

Most forwarded

Interview with Dave Mohyla, of DTIDATA

Dave Mohyla is the president and founder of dtidata.com, a hard drive recovery facility based in Tampa, Florida.

TM: Where are you based? What does your company do?
DTI Data recovery is based in South Pasadena, Florida which is a suburb of Tampa. We have been here for over 10 years. We operate a bio-metrically secured class 100 clean room where we perform hard drive recovery on all types of hard disks, from laptop hard drives to multi drive RAID systems.

Anybody up to writing good directory software?

Since the very beginning, directories (of any kind) have had a very central role in the internet. (I have recently grown fond of Free Web Directory. Even Slashdot can be considered a directory: a collection of great news and invaluable user-generated comments. As far as software is concerned, doing a quick search on Google about software directories will return the free (as in freedom) software directories like Savannah, SourceForge, Freshmeat and so on, followed by shareware and freeware sites such as FileBuzz, PCWin Download Center and All Freeware (great if you're looking for shareware and freeware, but definitely less comprehensive than their free-as-in-freedom counterparts).

Interview with Mark Shuttleworth

Mark Shuttleworth is the founder of Thawte, the first Certification Authority to sell public SSL certificates. After selling Thawte to Verisign, Mark moved on to training as an astronaut in Russia and visiting space. Once he got back he founded Ubuntu, the leading GNU/Linux distribution. He agreed on releasing a quick interview to Free Software Magazine.

Is better education the key to finding better software?

I read David Jonathon's article Anybody Up To Writing Good Directory Software? the other day, which got me thinking about software directories in general. As David mentioned, many of the software directories one finds when doing a quick google search are free as in beer, not as in freedom. But what interests me is the software directories that already exist, providing a combination of both free as in beer software, and open source software. Sites such as Freeware Downloads and Shareware Download don't advertise themselves as providing free as in liberty software, but each of them have a good selection of open source software available... if you know where to look.

Most emailed

Free Open Document label templates

If you’ve ever spent hours at work doing mailings, cursed your printer for printing outside the lines on your labels, or moaned “There has got to be a better way to do this,” here’s the solution you’ve been looking for. Working smarter, not harder! Worldlabel.com, a manufacture of labels offers Open Office / Libre Office labels templates for downloading in ODF format which will save you time, effort, and (if you want) make really cool-looking labels

Creating a user-centric site in Drupal

A little while ago, while talking in the #drupal mailing list, I showed my latest creation to one of the core developers there. His reaction was "Wow, I am always surprised what people use Drupal for". His surprise is somehow justified: I did create a site for a bunch of entertainers in Perth, a company set to use Drupal to take over the world with Entertainers.Biz.

Update: since writing this article, I have updated the system so that the whole booking process happens online. I will update the article accordingly!

So, why, why do people and companies develop free software?

More and more people are discovering free software. Many people only do so after weeks, or even months, of using it. I wonder, for example, how many Firefox users actually know how free Firefox really is—many of them realise that you can get it for free, but find it hard to believe that anybody can modify it and even redistribute it legally.

When the discovery is made, the first instinct is to ask: why do they do it? Programming is hard work. Even though most (if not all) programmers are driven by their higher-than-normal IQs and their amazing passion for solving problems, it’s still hard to understand why so many of them would donate so much of their time to creating something that they can’t really show off to anybody but their colleagues or geek friends.

Sure, anybody can buy laptops, and just program. No need to get a full-on lab or spend thousands of dollars in equipment. But... is that the full story?

Fun articles

Santa Claus - the most successful open source project

It dawned on me the other day, as I was shopping for the dozens of gifts it seems I have to buy every December, that Santa Claus is the most successful open source project in history. (Bridget @ Illiterarty would agree with that). Santa Claus is essentially a marketing development that is embodied by everyone who stuffs a sock, gives a gift, hosts a dinner or wishes Merry Christmas over the holiday season.

Most emailed

Editorial

When I first started thinking about Free Software Magazine, I was feeling enthusiastic about the dream. I had Dave, Gianluca, and Alan willing to help me, I had established members of the free software community willing to help me out, I had writers volunteering their time and energy for free, and I had a generous offer from OpenHosting for servers, all before I'd proved myself. There was a sense of excitement in the air, and I thought maybe, just maybe, I could make this work.

Free Software Magazine uses Apollo project management software and CRM for its everyday activities!