Is Linus' Law still valid?
A few weeks ago my Fedora Linux computer became so damn slow that I had to urgently ask for help.
Things are better now, thanks to the valid help I promptly got from the community. However, I would like to share why, after making all that noise and then disappeared for a few weeks. I think there is a general issue here that is relevant to everybody who wants to promote Free Software. I think that the so-called Linus’ Law, the one that says “given enough eyes, all bugs are shallow” is much less of a selling point than it used to be and that what happened to me may be a good example of this point.
I have done professional hardware and software testing in my previous jobs. I know how to do it well. In these weeks I have obviously come across several, more or less unrelated software bugs some serious, some just irritating. Only part of them are in closed source software, so even if all software were “Free as in Freedom”, it wouldn’t change much of what follows.
When I asked for help, I did get plenty of it (THANKS!, again) but it tooks days for me to start trying all the suggestions I got. I did the bare miminum to get my system up and running decently again. I didn’t do any real testing and bug reporting though. And now, that is as soon as my computer is back to decent/good performance, I will almost surely have to go on, without contributing to solve those bugs for good. Without having even tried all the suggestions I got for free.
Am I ungrateful? No, I really don’t feel ungrateful. I am certainly grateful to people who made and make Free Software possible in general, and to all people who sent me free advice in this specific case. And I still love and only use Free Software, both for ethical reasons and because it still is (regardless of software licenses) what works for me much better than the alternatives.
As I said, personally I have the skills to test software programs and work together with its developers (unlike most newbie Linux users, who would have gone back to Windows one hour seeing their computer becoming disgustingly slow). This only makes my doubts about Linus’ Law stronger: I could not make the bugs I met shallower, even if I have the skills to do it.
However, it doesn’t matter what skills I have. As many Linux Free Software users who aren’t programmers, I simply have no time or spare computers to do any real software debugging. Debugging for good the software bugs I met three weeks ago and later means to have lots of time to spend doing debugging and nothing else. Even if you do have a spare computer to reserve for testing, which isn’t my case right now: if I test, I don’t work.
I could only afford that much time to help make bugs shallower if I were paid to spend that time in that way. It’s as simple like that, really. I’m not asking money, of course! I am just pointing out that I don’t simply prefer to do other things: I must do those other things, instead of helping to properly debug software, because I have bills to pay.
When I asked for help, I could not use it immediately because I had a deadline that I could meet even with an almost dead computer, because involved talking to people or writing plain text files. Only after I closed that assignment, I went back debug my computer. But as soon as its performances improved from “almost dead” to “bad, but much better than before, ie bearable” with the Firefox VACUUM trick, I immediately stopped worrying and investigating. Because I had other deadlines to meet by doing urgent stuff that my computer now was fast again to do. It didn’t matter if the solution was an ugly, partial, unlelegant patch and what not. It is good enough. I will indirectly pay back for the help I got, in the only way I’m able to do it. I’ll reformat in one, quickly readable list all the tips I got from comments to my posts, mailing lists and private message and publish them, as soon as I can.
But I wonder if that Linus’ Law is really as effective today as it was 10 years ago. Today Free Software is much richer and more complex than it was in the 90s. Things in the server/developer space, from the Linux kernel to Gcc or Apache, are rock solid. The situation on the desktop is different, and made worse by the fact that the majority of current users of Free Software desktops are people like me. We run Free Software to do stuff, not because we like to hack Free Software. Assuming we have the skills, and that’s one damn big assumption, we often must run all day to do things that require a computer, but have nothing at all with debugging software, and don’t leave any time for it. Sure, we’re so many that we will stump into a huge number of bugs anyway, whether we want it or not, but that will be it. But is it realistic to expect, or keep telling, that this will be enough to fix those bugs quickly?