One other interesting talk at Ontario Linux Fest was hearing Jon “maddog” Hall give a keynote. I remember Maddog giving a talk at Real World Linux back in 2004; in fact, I even wrote about it. Maddog’s been around the block many times, which is why I was surprised to hear him give a keynote on how the LTSP (Linux Terminal Server Project) and Linux-based thin clients are going to save the world. I’m overstating that a bit, but I feel I have to vehemently rebut. My thesis is: We’ve been on thin clients before, they were called VT100 green screens, and nobody really wants to go back – damn the peripheral factors.
Most advocates of thin clients usually begin like this: they recite the history of computing from the time-sharing mainframe with its attached terminals as the original “thin client” systems, and then give a history of how Bill Gates’ mantra of “a computer on every desk” has now come to fruition, but for a variety of reasons, thin clients should/could make a comeback. Many rationales are bandied about, most of them concerned with centralized manageability of computing infrastructure, applications, user data, etc.
I completely agree that these are important reasons to build thin clients. I also completely disagree with the notion that such a scenario is useful outside of a 35-40 seat undergraduate CS lab environment. To be frank, if it weren’t so, the world (and keep in mind that most of the desktop computing world is on Windows) would be on Citrix Metaframe by now. The main reason this isn’t so isn’t just because of cost – it’s because maintaining a central server is extremely time-consuming and difficult, and fraught with peril. Any change you deploy to the central server has huge ramifications for all clients connected to it. This is often touted as a huge benefit for thin-client-thick-server architectures, but I believe instead that it is a detriment. Fine, you no longer need a junior PC support tech running around installing applications on a user’s local desktop. But now you need a really competent systems administrator to manage the central server, and those are hard to come by. Is it worth the business risk to have not only a central point of failure be your server, but your sysadmin as well?
Maddog also touched on a couple of environmental justifications for using thin clients, and I’d like to rebut those as well. Re-use of old hardware: Indeed, deploying salvaged equipment as el-cheapo terminals is environmentally friendly. But Linux (or FreeBSD, or OpenBSD, etc.) are efficient operating systems, and what’s the real difference between running Linux off a local hard disk versus booting it off the server? And where are you going to get the server that’s providing all the CPU cycles needed to run GNOME across 30 nodes? Surely not from the salvage pile. Reduced power consumption: Unless you are truly running a fanless, diskless thin client, the delta between having a desktop PC with a hard disk and without is small. After energy becomes really expensive (i.e. after peak oil), I predict more individuals and businesses are simply going to acquire laptops rather than provision desktops – whether they are thin or thick clients.
The conclusion is that I really don’t see a future in thin clients, except in some niche scenarios like a university lab environment. Computers — and relatively high-powered ones, from a Linux perspective — are inexpensive enough that even a random castoff that I purchase from the local surplus store for $50 or less is going to make an excellent Linux desktop. Why would anyone invest the time in deploying LTSP, given those kinds of economics?