Community Notes

Getting Connected with Gale

Jon Masters is a UK-based embedded Linux developer, writer, and consultant. He has been actively involved with the Linux community since starting his first degree at age 13. Jon is currently a member of more than 50 Linux User Groups around the world.

This month, I want to take a look at some of the informal communities that exist all around us. I'm not talking about your local Linux User Group - these days, the LUGs often have formal committees, structures, and even presidents. I'm talking about the more unofficial online communities that many of us participate in. Like many, I'm an IRC addict. I spend a lot of my spare time hanging out on the Linux and Free Software channels on the Freenode and OFTC networks (as well as others). I've used IRC for years, and I'm comfortable with it. But there's a lot more out there these days than plain old IRC.

Figure 1: Several Gale clients are available for users who'd rather work in a GUI. XGM, which is described as a "work in progress," offers a gtk-based interface.

Tale of Gale

On my last journey across the Atlantic, I hooked up with an old friend who's recently moved to the greater Boston area. He and I had the usual chitchat and quickly ended up geeking out, watching the 1980s cult classic move Real Genius. For those of you who get out a little more often, this movie is about a bunch of nerdy students designing dangerous weapons for the military who ultimately end up saving the world. The usual kind of stuff. But during the movie, my friend told me that a large amount of the footage was shot at the California Institute of Technology (Caltech).

That's when I heard about Gale http://www.gale.org/, the open source distributed instant messaging tool from Caltech students, friends, and others living and working in the Caltech area. As it would turn out, there's yet another large community out there that had almost completely passed me by. That might actually have been a good thing in retrospect, because I would quickly discover that Gale is yet another fantastic way to sink vast amounts of your online time into humorous, intellectual discussion about such a diverse range of topics that I couldn't possibly describe it all here.

Gale isn't like most other instant messaging applications. In fact, the closest analogy I can think of would be a hybrid of IRC (Internet Relay Chat) and Usenet. With IRC, users connect to a central server and join channels ("chat rooms"), in which they can communicate with others along the lines of the posted channel topic. (In practice, most channels end up debating a wide range of very off-topic material, too.) IRC is very interactive, and conversation frequently changes direction, but it's possible to come back to a channel after many hours and read through your logs to catch up on whatever you've missed.

Usenet is a much older, distributed news network in which people post messages to newsgroups that others can choose to subscribe to. When a message is posted, it may be propagated by your ISP's local news server and may be received by other people - there's no guarantee about who will get to see what you've posted. Usenet is much more public than IRC in the sense that it attempts to have a universal namespace with content that's available to the majority of the Internet world. (IRC requires that you be connected to a specific network in order to join a conversation.) Google famously has some of the largest online records of early Usenet conversations, although some authors might now regret what they said several decades ago being a search hit on a site such as Google.

Gerring Around in Gale

Like IRC and Usenet, Gale does have servers, and it does transmit and receive messages between members of the community, but it does not have channels or newsgroups per se. Instead, it has a hierarchical tree of locations that users can choose to subscribe to. A location is a name separated by periods, such as pub.tv.gegrassi. Users who are part of the community may subscribe to a particular set of messages by choosing to receive a particular location within the hierarchy. Typically, users work on the command line using the gsub and gsend utilities to select which messages they want to receive, and to send messages to other people. For example, to send a message to my own personal location, I might type:

gsend pub.me.jcm@ofb.net

Gale users subscribe to locations using the gsub program:

gsub pub@ofb.net

They will automatically receive any locations under that to which they are subscribed, so there's no need to do anything in order to receive pub.me.jcm if you have subscribed to pub. As a result, most people choose to receive everything under the top level of the hierarchy and then restrict the locations that they are not interested in according to the signal and noise they see in individuals and messages. For those who really care, the Gale website has collated lists of standard locations too.

The Gale location subscription model works well because it means I don't need to do anything in order to create a location others can receive. Let's say I join a gym and want to tell everyone about it. I can send a message:

gsend pub.me.jcm.gym@ofb.net

If I send enough messages to that location, some people might choose to add a -pub.me.jcm.gym@ofb.net to their gsub configuration, thus ignoring my ranting. Such location creation often takes place mid-conversation in order to split off a major discussion into sub topics. For example, talk about me goes under pub.me.jcm, but if the conversation requires it, we can create additional locations like pub.me.jcm.food on the fly. Messages can also be tagged to supply additional metadata. For example /nolog tells clients not to log an individual message.

Messages sent and received using Gale are encrypted on the point-to-point links between individual nodes and users. In fact, Gale is built upon a system of mutual distrust between users and administrators, forming a very complex and reasonably secure means to communicate as publicly, or as privately, as you choose. For instance, a private message to jcm@printk.net will use a secure channel that automatically encrypts your private message to me.

Why Not?

So, what's the downside? Why aren't we all using Gale? The key problem right now is that the barrier to entry is quite high. Running your own server is a complex task that took me several days worth of tinkering as I tried to follow what documentation was available. (For example, I had to guess who to mail about setting up encryption keys for access to the ofb.net public hierarchy.) You don't have to run your own server of course, although if you don't, you'll need to find one somewhere. But even if you aren't running a server, most of the good clients are still simple command line utilities, which is great for people like me who love speaking in "Unix talk," but not so good if you're accustomed to the latest in desktop instant messaging applications.

The barriers to entry aren't all bad. For one thing, you need to be advanced enough to install Gale in order to use it, so the network is not saturated with too much noise yet. In any case, in my first month of using Gale, I've met a lot of interesting people I'd never heard of before, and I've discovered some old friends along the way. I even know of successful relationships that have started between users of Gale!

LUG Roundup

Here's a selection of discussions that interested me from the Linux User Groups around the world over the past month. If you're a member of your local LUG and would like to see it featured here in a future issue, drop me a line and tell me what's great about your local Linux user community. And if you have an interesting high resolution image of a recent LUG event, send it along.

Silicon Valley LUG (SVLUG)

Roland Krause posted a mail asking about virtual servers. With the growing popularity of cool virtualization technologies like Xen, I figured this would be a straightforward discussion. But as it turns out, Roland would like to implement a failover cluster of Xen virtual machines, each running an NFS server that can take over from a failed node. Unfortunately, NFS is notorious as a stateful protocol, requiring more than a simple backup server to take over existing connections.

Figure 2: Silicon Valley LUG members can look for inspiration at the nearby Computer History Museum.

Ottawa LUG (OCLUG)

Michael Walma posted an interesting mail concerning the 2006 Canadian census. In Canada, it's possible to file your information electronically using a government gateway. Except there's a problem - yes, the usual problem - the technology is Windows and Mac only. Those discussing this issue were keen to know whether there was any legal framework that would help persuade the government to provide a Linux-friendly website. Good luck with that - we have similar troubles in the UK.

Nottingham LUG (NLUG)

Michael Erskine and others recently held a Desktop Fix-it evening, at which they offered free advice to those who turned up with problematic Linux machines. The usual suspects reared their ugly heads - MBR/boot loader issues, installation problems, and the like - but there were also more unlikely topics, such as the latest steps in Linux virtualization. In any case, the writeup posted to the NLUG mailing list suggested that this event was as well received as their Software Freedom day and installfest sessions, which I've attended in the past.

Figure 3: A recent visit with friends in the Nottingham Linux community brought me this view of Nottingham's famous sinking library.