In brief, The Joy Of Linux is a guide to the headspace of GNU/Linux, an attempt to open the Windows' user's eyes not so much to what GNU/Linux does, or how to work with it, but *why* it does things that way. It does attempt to get into technical details occasionally, at which times it usually also gets into trouble.
The first five chapters of the book are a reasonably detailed account of the social, historical and philosophical background to the free software movement and to Linux. Chapter One looks at the history of UNIX, its strengths that made it a success, and the commercial fragmentation that contributed to its failure to take over the world. After that, the authors go into the development of the FSF and the creation of Linux. Chapter Two starts with one of many personal experiences of the authors', this one about an early experience with UNIX 'phone support, to introduce the Linux community and Chapter Three discusses Microsoft's response to the Linux phenomenon, comparing it with their earlier response to DR-DOS. Chapter Four looks at some of the internal fragmentation in the Linux community, how it came about, and how the community holds together in spite of it. One almost leaves this chapter full of warm fuzzies about the ability of the community to tolerate multiple, differing, strongly-held opinions without fragmenting. Almost. Chapter Five, for some reason, looks at the Linux community's attitude to women.
Nothing new in any of this, but here it's all presented in the important context of why Linux does things the way it does them. They pull this off pretty well, too. Why are there two competing GUI environments? What are the vi/emacs wars? Where are the help files? Who's rms? What's a GPL? As the Windows user makes her way through the answers to these questions, more and more of the Linux mindset will be rubbing off on her.
I'm in agreement with the authors that if you drop a Windows user _unprepared_ into the Linux environment, he'll rapidly become frustrated with his inability to do things the Windows way, and may well just storm off to buy XP. If he's been prepared for the way Linux will do things, and if he's bought in to that approach - at least a little - by being exposed to the mindset, he may not storm off until he's had a chance to give Linux a fair hearing. For such a user, the authors' observation that "In the end, because Linux is free software, it's your responsibility to define how you approach it and what you want from it" may be the single most precious nugget of information in the book.
My biggest problem with the first part of the book is the lack of plot. Yes, I know it's a technical book, but the authors make no attempt to let you know up-front where you're going, and if you get there and turn around, you can't see any compelling path. It's less like an exploration of Linux than it is like getting up in the morning, packing a sandwich, and going for a wander in the Linux Forest out the back of the house. Specific gripes include the absence of SuSE from their list of "all of" the major distros, and their absolute failure to consider the effects of the general .com crash on the collapse of so many fledgling Linux companies in the past eighteen months.
Part Two tries to get technical. Hoo boy. Chapter Six discusses security, going so far as to describe how to require the root password to boot single-user. This is useful, to be sure, but it might be just a tiny bit premature for the reader. Chapter Seven discusses dual-boot systems and again, while they're talking about the principles and discussing pros and cons, they give that a pretty good treatment. When they try to get down to details, the non-technical nature of the book becomes apparent. For example, their sample /etc/fstab contains lots of unnecessary line feeds. I know from bitter experience how hard it is to explain to editors why this is bad, but marking each of the spurious linefeeds with a little carriage-return character, whose function is nowhere explained, has got to be one of the worse ways of dealing with the problem. Chapter Eight gets you into the problems of support for the incredibly diverse world of PC hardware by way of sex shops, which is a pretty painful segue. They do a good job of easing the reader into the importance of checking your prospective hardware against the various compatibility lists.
Chapter Nine tackles the thorny subject of loadable kernel modules head-on, and they explain it pretty well. It's nigh-on impossible to understand Linux driver support in the modern age without understanding loadable modules, so kudos to them for doing a good job. In Chapter Ten, they deal with Linux games, and attempt to paint the desert light blue, and in Chapter Eleven they deal with soundcards and graphics cards, fairly concluding that you're going to want OpenGL support out the box, and you're probably not going to get it. Chapter Twelve discusses various ways of running Linux, focussing particularly on the issue of running alongside or not top of Windows, and Chapter Thirteen rounds things off by pointing you at several other reference works. They print the GPL verbatim as an appendix, which I think is good (and a nice easy way of adding eleven pages to the book).
On the whole, I was less happy about Part Two than Part One. They're not the best-qualified people in the world to write about the technical elements of installing and running Linux, and the light and easy writing style here causes them problems with ambiguous and imprecise language. There's continued philosophical discussion throughout, though, and that's worth reading. One could also make the argument that a very little exposure to the details of day-to-day maintenance of a Linux system contributes further to the poor newbie's understanding.
As I've said, the writing style is light, and although some of the humour will be inaccessible to a UK audience, most of it should work for the target audience of Linux newbies. The "Joy Of Tech" cartoons with which the book is generously salted add a lot to the general humour level, and are often pertinent to the text.
And in the end? I think Neal Stephenson's "In The Beginning Was The Command Line" gives nearly as good a view of the Linux mindset. Moreover, Stephenson really can write, and is funnier to boot. Still and all, if you're going to try to get a friend or relative who's a dyed-in-the-wool Windows user, to make the leap and use Linux, you could do worse than to give them a copy of "The Joy Of Linux" to read *before* you give them O'Reilly's "Linux in a Nutshell" and a good boxed distro, with manuals.
© Tom Yates, 2001