The second of two reports from Doc on the latest Linux Lunacy Geek Cruise.
Day Five (Thursday) brought us to Ocho Rios, a town on the north coast of Jamaica. Here we met early in the morning with the Jamaica Linux Users Group (JaLUG), where Linus and other speakers from the cruise answered questions in a wide-ranging Q&A. The setting was The Ruins Pub & Internet Cafe, which sits beside a perfect waterfall and a patio shaded by palms and banyan trees.
Later, most cruisers found their way to Dunn's River Falls. Here a cool mountain river cascades over limestone boulders for hundreds of yards on its way to the sea. Pretty as it is to watch, Dunn's is basically an interactive river. The main idea is to climb the falls upstream from the bottom to the top. It's a bit scary, but most of us had no trouble with it, thanks to experienced guides and pink rubber booties the park rents to visitors who don't trust their own bare feet or sandals.
Guides aren't required for the trek, but they are highly recommended. When we saw the size of our guide's crowd meeting down at the beach, we accepted an offer by a rogue guide to take our small group up ahead of the huge one. About a hundred feet up the first course of waterfalls, the official guide got into a big argument with our unofficial one, ultimately coming to a settlement: our group should take on at least one climber from the big crowd. We chose Cathy Raymond (for those who don't know, Cathy is the wife of ESR).
At this point our group included Greg Haerr, myself, my wife, our six-year-old son, Cathy and the guide. We arrived at the top a good twenty minutes ahead of the crowd. At the exit point there's a pool fed by a wide and smooth waterfall about six feet high. Standing in that falling current is a profoundly refreshing experience, even if you don't get sweated up by the long climb.
On the way back, our taxi driver, Donald, gave us a terrific tour of the town and countryside. Along the way it was fun to discover that Donald knew Jah Shaka, the reggae music figure and open-source effects developer. I had hoped Jah Shaka would be able to join us that morning at the JaLUG meeting. It turned out Donald knew what Jah Shaka had told me earlier in an e-mail: that he'd be busy at a recording session that day—small island.
That evening's talk was a wide-ranging Q&A with all the speakers on stage. It turned out to be an egalitarian affair, more like a conversational circle, with an even balance of power between audience and stage.
Day Six (Friday) was a full day at sea, as the ship threaded the straits between the east end of Cuba and the West end of Haiti. That morning Eric Raymond talked about “Twenty Years Among the Hackers”, while Guido van Rossum covered “Application Development with Python”. Steven Oualline's “Bullet Proofing, Paranoia, and Mucking Out” followed, along with ESR's “The Great Brain Race”.
At lunch I interviewed Lincoln Durey of Emperor Linux. We got off to a late start when we were upstaged by a natural phenomenon. Outside the window we saw some kind of stirring out on the calm waters about a mile away. Then we noticed a line connecting sea to sky: a funnel cloud had dropped down from a squall line behind the boat. When we went up on the stern deck, we saw at least three (I counted four) funnels snaking down from the clouds. At sea these are called water spouts; on land they're tornadoes. Either way, watching them beat dodging hurricanes, which is what cruises like this often do in the Caribbean this time of year.
That afternoon's sessions were “Code Inspections and Reviews” (Steve Oualline), “Introduction to Zope” (Guido van Rossum), “GUIs and Embedded Linux” (Greg Haerr), “Digital Forensics Using Open-Source Tools” (Brian Carrier) and “Building Ad Hoc Serverless Communities” (Brandon Wiley). The evening session was a lively and fun quiz show moderated by Steve Oualline: “How Not to Program in C++”.
On Day Seven (Saturday), we took tender boats to Half Moon Cay (formerly Little San Salvador), which is uninhabited except when the big boats come visiting. The long, protected C-shaped beach is lovely and remarkably uncrowded, considering the large population ferried from the ship. Here we had a whole day to scuba, snorkel, take out sailboat or kayaks, or just drink and hang out.
The party master for the cruise, by the way, was Randall Schwartz, who has been on all thirteen Geek Cruises. I asked Randall if he felt like Bill Murray in the movie Groundhog Day, waking up each morning ready to repeat the same experiences, over and over again. He said no, each cruise was different and new.
The next morning we were off the boat and back to our ordinary lives.
The most useful part of the trip for me was getting to hang around Linus and see how his mind works. He's a very subtle and funny guy, but also a deeply practical one. There is a lot of idealism attached to Linux, but at its core the OS is the practical product of a practical mind. And one that quietly savors the irony of it all.
The CNET/ZDNet story on Linus' talk covered the Q&A's high points as news items, which is fine; but the story didn't convey the friendly and convivial nature of the affair. Linus doesn't give talks any more, he told us, which is why he preferred the Q&A format.
He made it clear throughout the talk that he was speaking as the kernel's chief hacker. “I only do kernel stuff”, he said. “I did user level stuff about 10 years ago—only because without it the kernel isn't usable. I don't know what happens outside the kernel, and I don't much care. What happens inside the kernel I care about.”
This meant he considers his thoughts about the Itanium (he doesn't like it) and OS X (he's still not a fan) irrelevant, no matter how interesting (or even newsworthy) those thoughts may be. His high-content points mostly concerned the 2.6 kernel:
Right now, we are very close to a feature freeze—(at the) end of this month. So when I get home I'll have about three days to say no to people. After that we're done. We're close to 2.6, feature wise. It looks fairly stable too. It doesn't look too bad. One of the big features that happened during 2.5 [was that] the block device layer got completely rewritten in many different ways. The queuing is different. Just the startup for a block device driver is very different. You register disks differently. You keep track of all the disk data, all the partitions you have...
He went on to say that most of the problems in development through version 2.5 have involved coping with this fundamental architectural change.
Also on the subject of kernel development, Linus said he preferred Bitkeeper to CVS, even though he wasn't fond of Bitkeeper's licensing. But even there he made a point repeated so often on the trip that I came to believe it's his favorite phrase: I don't care.
We tend to assume that strong opinions involve strong emotions, but Linus proves over and over that this doesn't need to be the case. He has countless strong opinions about subjects that don't move him emotionally. That's probably true with all of us. But saying it out loud has proven to be extremely useful, because it shunts to ground the emotional charges around countless potentially unproductive and off-topic arguments. The result is a movement as deeply practical as its product.
Here are a few of my notes from Linus' Q&A. Most of them are close to verbatim quotes (again, you can listen to the original) :
I always thought WINE was important, but not supremely important.
I'm a big believer in cheap, powerful and good enough.
The big things that have happened in Linux have all been open source.
It's very important that all infrastructure is open source.
Oracle is not the thing that makes Linux popular.
It's about showing them that we can do better.
To me all the politics is just amusement value. I don't care.
I have never in more than six years been able to talk about what customers are doing. I want to be in development projects. That's it.
My problem has always been trying to throw the uninteresting stuff to other people and make them feel it's interesting. It's been working real well.
There's always stuff to do. There is always to some degree too much stuff to do.
I think I'm a klutz, and I'll bet a hundred dollars you think you're one too. Being a klutz is okay. Being a klutz who thinks he's competent is really irritating.
I don't put too much store in design. A lot of the things I dislike are overdesigned.
We have not been bug free by any stretch. (Linux' success is) about a willingness to admit bugs and get them fixed.
Linux is not secure by design.
My job is tastemaster. My job is to say no to some things.
Over dinner later in the week, Linus dropped a terrific one liner: “The customer may always be right, but not always bright.” That led me to think that open-source infrastructure developers need to be bright, but not always right—just close enough.
Infrastructure is naturally practical stuff, and that's why Linux is becoming as fundamental to the nature of computing as rock is to architecture. It's not perfect and never will be. But it's good enough, and it keeps getting better, by expressing and embodying all the stuff Eric Raymond covered in his “Zen of UNIX” talk, which you'll also find in the first chapter of his next book. One nice quote from that talk:
The history of computing is littered with the bones of programming environments that were so powerful that nobody would ever need to do anything else.
Several other related realizations also became clear in the course of cruise.
Linux' presence in the world is steadily, inexorably, commodifying operating systems, and there is nothing anybody, including Microsoft, Sun or anybody else can do to stop it. One of the participants, Roland Smith of LSI Logic, told me how Linux is becoming the company-wide platform for pretty much everything, including high end engineering tools.
Hardware is now so commodified that tolerance for relatively expensive software is bound to go away at the low end of the market. That market is huge. In most large companies it includes hundreds or thousands of employees dedicated to using one or two job-related applications. Beyond e-mail and browsing, the need for productivity applications is minimal. This means that spreadsheets, word processors, personal information managers and presentation software are naturally going to become generic and commodified.
Transparency is a virtue that make the case for a lot of open-source code, as well as its development methods. ESR: “Look at open-source digital forensics, which we're starting to use in law enforcement. We have to prove the underlying processes. Digital analysis wants to be like digital sciences, which means the underlying processes and procedures have to be knowable.”
New generic applications will become platforms of their own, thin layers of hard code on which countless scripts and scripted applications can run. ESR again: “We're seeing a transition from high level compiled languages to scripting languages. In time C won't be used for anything but OSes and critical applications. Scripting languages will do high level memory and resource management.” For some perspective on this, take a look at what Mitch Kapor is doing with the first application developed by his new Open Source Applications Foundation (which was announced during the cruise). Code named Chandler, it's a personal information manager that puts all kinds of scripting (mostly Python) and scriptable modules around a core of C and C++ code. “We've been enormously influenced by the success of Linux and how that was done”, Mitch says. Thus a development model validates itself to ubiquity.
LOTD—Linux on the Desktop—will inevitably become popular. It might not happen rapidly, but the success of Mozilla 1.x is a useful harbinger. People scoffed and said Mozilla would never happen. But it did. There is a vast market for generic desktops—basically the same market that bought countless dumb 3270 and VT-X00 terminals twenty years ago. Microsoft won't be cheap or open enough to serve that market. Apple wants the high end professionals and upscale consumers. That leaves Linux running OpenOffice, Chandler and other commodity applications.
The big companies are finally getting fed up with the high cost of doing business with Microsoft. Yes, there are the familiar crashes of big mission critical applications. One cruiser, Kel Vanderlip, said, “What's driving Linux into corporations is the failure of Exchange”. But the main issue for Big IT today is Microsoft's damaged relationships with customers. The decision by Microsoft to muscle up license fees this past summer was a dumb move by a smart company. In the past, Microsoft has generally tried to do what the market wants. In fact, I believe the biggest uncredited cause of Microsoft's success is its extreme sensitivity to what customers want. But no customer wants a big price increase or newer, tougher licensing terms. By demanding those prices, Microsoft proved to be less a marketing company than an entrenched monopoly whose only revenue-growing choice is to extract more money from its customers. Financially, it looks good so far. This week Microsoft announced higher net earnings based on those price increases. Those earnings, however, came from customers who mostly felt they had little choice. From what I've been hearing (and not just on the boat) many of those customers are looking to move off Microsoft at the first opportunity.
Linux is waiting.