Why I left Puppy Linux17 January 2009
As some of you may know I am, albeit to a lesser extent now, a huge fan of Puppy Linux and I was, up until last October, actively involved in the community. So why the change of heart?
Perhaps the most significant reason was the stepping down of Barry Kauler from his full time position as creator of Puppy Linux, though I’m sure the fact that my own change from working at home to a nine to five office job was, due to the reduction in spare time, also a further nail in the coffin. I am still a happy Linux user, that passion hasn’t diminished at all, but it is now in the form of Debian, a project on a markedly larger scale.
My reason for writing this is that it touches on a topic not just applicable to the world of computers, but one of a more universal relevance; namely the importance of working together. It would seem that the life of a computer programmer is a lonely one, with only the warm glow of the screen for company. I am sure that in many cases this is true, but perhaps more to the point it is the fact that the nature of computing lends itself in such a way that isolation is very easy to achieve and sustain. Now the point that I am interested here is; to what extent can good software, whether in the form of applications, websites or operating systems, be useful and successful when created by an individual? It’s clear that, technically speaking, one can learn the finer details of any programming language through books and websites and with a little trial and error become the proud author of a functional program. For solving simple, small-scale problems this is fine, but when faced with the unforeseeable diversity and complexity of larger-scale environments and operating conditions, an entirely new set of problems are faced; how does one retrieve, manage, assimilate and implement feedback?
Although such a question has always been paramount in computing, I feel it is taking on a new dimension in the landscape of the internet, where the speed and volume of communication has become a defining charateristic. To fail to take advantage of, or at least acknowledge this reality, would be to miss out on an immensely valuable resource. So here we get to the crux of it; it is not enough to simply be able to code deeply complex software in the privacy of one’s own computer screen glow. In order to actualise the greatest possible potential for a computer program one most also be able to engage with a wider community, a skill of an all-together different calibre, requiring, quite appropriately an all-together different hemisphere of the brain. In the case of an operating system, perhaps the most complex of all software, the case for community is strongest. Somewhere, somehow, the time-honoured values of relating to others, such as gratitude, openness and humility must be sincerely exercised. There is no shortcut or substitute here, merely generating a large number of users is not the same as a genuine sense of community.
To give a practical example, I have found by far the most striking difference between Puppy and Debian to be the Package Management System (the means by which you can install new software). In Puppy the PMS is more of a useful bonus, as on the whole, one must search the internet and install new programs by hand. There is only really a limited selection of software in the official repository of packages and they are created and maintained almost solely by Barry Kauler himself. In Debian, the PMS takes on a radically different role, it is to all intent and purpose the very backbone. For instance in Debian it is actually possible to upgrade your entire operating system to a newer version using_ aptitude_, the name given to the current incarnation of their PMS. However, what is more striking is the sheer scale of the number of programs available through aptitude, practically every program ever created for Linux is available. And there are yet more and more awesome features to Debian’s PMS, but the point I must make here is that the success of it is fundamentally dependant on a community of relationships. No one single person could ever maintain that many pacakges and keep them up to date. Okay, so it hasn’t always been easy for Debian, they’ve unsurprisingly had their fare share of commuinty drama, but their overall success has won through and earned them widespread respect and recognition. The precedent they have set has been the subject of academic study and the stability of their code is depended on for numerous derivatives, included the most succesuful Linux of all time, Ubuntu.
Okay, so Debian is clearly a much bigger and more ‘official’ project, that’s certainly appealing in itself, but it’s still a non-profit organisation run by volunteers, exactly the same as Puppy. However, I am finding that Debian is demonstrating to me that there is so much more to computers than the solitary programmer, that an operating system is just as much about a community of people as it is about lines of well written code.