Part I: Introduction and Background
History was made on Tuesday, June 20, 2000. Accepting an invitation to speak on the subject, this was the first time that RMS gave a lecture on "The Use of Free Software In Commercial Applications" to a group of Teradyne Telecommunication Division employees in Deerfield, Illinois. Despite Teradyne's record of producing proprietary, patented software, the skies didn't darken, lightning didn't strike, a plague of locusts didn't descend and consume printouts of non-free code, and thunderous condemnations of immoral behavior didn't issue from RMS's lips. In general, a good time was had by all present. This is my record of the events that transpired.
No doubt this report won't be well-received by those who would, for whatever reason, wish to portray RMS as some kind of unreasonable free-software lunatic zealot. Having had the privilege and good fortune to spend part of the 19th and 20th of June in his company, I can attest that such accusations are unfair and slanderous.
Of course, that's exactly what one would expect an RMS sycophant to say. However, I am anything but a blind RMS groupie. We have our differences: while I think that it is essential that some software be free (particularly that which is socially ubiquitous, like internet infrastructure code), I don't think all software has to be free. If people accept increasingly restrictive licenses, that's their choice. Politically, I am a libertarian, and RMS admitted to me that he is a liberal. It's fair to say that we agree more than we disagree, but our few disagreements probably run deep.
The events that led to RMS's visit started about a year ago. We had just begun to develop internet test software on a platform based on a commercial distribution of GNU software and Linux kernel. In some cases we were simply aggregating our software with this GNU/Linux operating system, but in others we were statically linking some of our programs with GPL code, and thus would be required to release the combined work under the GPL. Clearly it was important that our software developers be familiar with the requirements of the GPL.
I had been corresponding with RMS via email for a while, following an initial response of his to a general inquiry I made of the FSF. (Yes, I was surprised that RMS himself would take the time to respond. It was the first of many popular misconceptions I had about the man that were about to be shattered.) Many of my inquiries involved dynamically linked combinations of free and non-free code and the circumstances under which distributions of aggregates that could self-assemble at run time would be legit under the GPL.
Since a free program can interact with a non-free one via pipes or sockets without the combination necessarily considered a derived work of the free program, I was wondering if a general rule applied whereby such "loose coupling" might be permitted. (RMS's position was that it might be possible but we could not find a general rule to define the necessary relationship. This shattered a second misconception: there were things of which RMS didn't approve, but would admit might be admissible under the GPL. Zealots never act with such reason.) It became apparent that it would be beneficial if RMS could address our developers that were producing code to run under GNU/Linux about the GPL. Did it have to be "the man" himself? Probably not, but it certainly strengthens the perceived legitimacy of any claims we might make about taking the GPL seriously if we welcome RMS to advise us: we certainly wouldn't invite the attention if we were trying to hide something.
Not surprisingly, the intersection of our schedule and RMS's was such that it would be about a year before his presentation would take place. In the mean time I realized that mere compliance with the GPL wouldn't be enough: to be welcome by the free software community, we would have to voluntarily contribute as well as mine code. Perhaps we could explore this when RMS arrived. I had the distinct impression by this point that while he might prefer that we free all our code, he'd be happy if we freed some that we weren't strictly required to under the GPL. Strike another misconception.
Part II: Arrival, and Email
It turned out that I was unable to meet RMS at the airport because of an errand I had to run. While he said that it wasn't necessary to have someone meet him and he didn't want to inconvenience anyone, I though it the only decent thing to do: he was returning to the U.S. from Seoul, Korea, would likely be tired, and had never been out our way before. I managed to co-opt two coworkers of mine to meet him in my place, armed with a pad of paper with "RMS" scrawled on the top sheet, in, hopefully, large, friendly letters. I left instructions that he be offered transport to his hotel, and to verify that he checked in without difficulty. I expected him to be exhausted after his journey and to want to get some sleep before dinner. RMS previously indicated that he'd like company for dinner so we got a small group together to try one of his favorite restaurants: Cafe Luciano, in the north end of Chicago. Alas, he didn't get much rest: after some 15 hours incommunicado, it was imperative for him to get his email. He was left at the hotel to get on with this task.
By this time, I had returned to work, and met with my coworkers. "So, what's he like in person?" was my first question. I was informed that he corrected the use of a "Linux" moniker to "GNU/Linux" twice, didn't care for small talk, and settled down with his laptop for the trip to the hotel. I thought to myself that if my coworker survived his "Linux" faux-pas well enough to recount it, RMS couldn't be all that bad. Besides, our email exchange was always friendly. As for small talk, I don't care for it much either. I was to learn the importance of his attachment to his laptop soon enough -- my coworker relayed that RMS had trouble getting his email upon his arrival at the hotel. Help was offered, but with only marginal success.
I emailed RMS my local phone number and that I would try to assist him any way I could. I didn't want to call, because I thought he'd be getting some sleep and didn't want to disturb him, confident that he'd got his email. He had my coworker's phone number and could call if he had trouble. That call came quickly. It turned out that dial-up access to his ISP was inadequate for him to get his email in a timely manner. We realized that I could indeed help by providing telnet and ftp access from our office. Without delay, I set out to bring him to Teradyne. I was to meet RMS in person at last!
RMS is a lot less imposing in person than he is by reputation. He's of average height, has the stereotypical hacker hair style and beard, and arms himself with a laptop. He looks like he could benefit from losing a bit of weight and smiles like one imagines the wizard in the old Collosal Cave adventure game might smile when granting you another life. Though appearing innocuous, I had no doubt that in his hands that laptop was a formidable weapon against those who would deny software freedom, kind of the way that a light-saber is as powerful as the Jedi wielding it. I introduced myself, we quickly optimized to using first names, and got on the the task at hand: retrieving Richard's email.
Richard gets his email by building a compressed GNU zip archive on his mail server of his incoming mail, and transferring it to his laptop -- in our case, via an intermediate floppy. He then reads and queues responses on his laptop for later transmission by reversing the process. It takes him several hours a day to keep up with his email. I started to feel guilty about all the lengthy posts I had sent him over the past several months. Clearly, his time is precious, and one shouldn't presume that Richard's presence implies constant undivided attention: he multiplexes himself in space as well as time, and, when blocked waiting for interesting input, he will tend to his email as necessary. To a non-hacker, this habit might appear odd, and a bit rude, but it strikes me a perfectly reasonable, reminding me of the days of timesharing on an expensive mainframe.
After working on his email for a while, it was time to head off to dinner. On Richard's suggestion, we picked up some CDs at his hotel room, to listen to during the hour drive to the restaurant. Richard settled down to read and respond to another batch of email on the trip, occasionally wondering how we liked his choice of music, and offering alternates. I think I liked the Burmese percussion pieces best.
While his presentation the next day was to focus on legal compliance with the GPL and only describe briefly the underlying philosophy from a historical perspective, it was anything goes at dinner. Boy, did the queries fly! A lot of basic questions were asked, and challenges made, about his fundamental beliefs. I couldn't tell if Richard was round-robin scheduling among the queriers or playing a variant of whack-a-mole with each response he offered. I was getting nervous: here were a bunch of GPL newbies debating with the great RMS. I seized upon the opportunity a lull offered and asked him, "How can you stand answering the same questions over and over?" "I have a mission!" he replied, with vigor. Clearly another misconception of mine was shattered: RMS will patiently take the time to explain his position to anyone who shows interest. I suppose that he's the only person I can describe as an evangelical atheist without it being an oxymoron.
You'd think that it was an divisive, and sometimes uncomfortable, evening, but somehow the excellent food appeared to help overcome differing philosophies, that, in the end, weren't as disparate as initially thought. Of course, Richard's sense of humor certainly helped liven everyone's spirits. He is a notorious punster. Unfortunately so many of his puns are sensitive to subtleties of timing and context, that to try to relay them would not do justice to how funny they were at the time. Dinner came to an end all too soon, and Richard capped the evening by insisting on adding a zero to the waitress's tip. Literally -- he carries with him a stash of bank note-sized pieces of paper with a "0" denomination on them.
The trip back to our car was punctuated by what appeared to be a destitute young man asking for money for food. True to his help-your-neighbor ethic, Richard had us wait while he took the bewildered man to a local store and bought him a sandwich. I was a bit worried about this adventure but realized that he must have done this many times before and I certainly wasn't going to presume that he needed babysitting. Of course, the rest of us debated the effect on Teradyne's stock price if Richard had been mugged while our guest, the wording of the subsequent Slashdot headline, and what a strange fellow he was. Personally, I think a bit more of that kind of strangeness wouldn't hurt the world. Richard promptly returned (no doubt to a mental sigh of relief) and explained that someone once asked him for a quarter for the subway, but proceeded to pocket the change instead of taking the train. Not to be duped by a liar in the future, he resolved to never give money to a beggar for some purported worthwhile purpose, but to see to it, if he could, that the purpose was met with his help. He does donate money to charitable organizations.
Richard finally appeared to surrender to fatigue on the ride back from town and get some sleep. But, once more, we stopped at the office for the final email sync ritual of the day, before I dropped him off at his hotel.
Part III - Lecture, Lunch, and Leaving
Tuesday, June 20th arrived with grey skies and a drizzling rain. I picked Richard up at his hotel a few minutes before 10:00 AM. We were running a bit late. As we were returning to Teradyne's office complex, I ran into my boss and asked him to start the presentation off with some background about what the GPL was (in broad terms), and why it mattered to us. Richard needed to service a higher-priority interrupt: seeking tea to drink while lecturing. While I'd heard of his fondness for specialty teas, he had to settle for the generic vending machine variety. No jasmine or lechee blossom around here. (Note to self: fix this if ever he visits again).
The presentation was agreed upon before hand. We were permitted to videotape the lecture for future training. Rather than his usual speech about software freedom, Richard focused only briefly on the history of the GPL, and proceeded to explain what it means for software to be free, the GPL and LGPL (and their differences), and what was necessary to comply with both. There are a few important differences depending on how the software is distributed, whether via the internet, or physical media, and he covered these. Richard provided examples of programs working together that would not be considered derived works of one of them: where communication between them was via a simple socket or pipe interface. There was no opportunity to debate the "rightness" or "wrongness" of his philosophy -- that was not the purpose of the presentation. Free code is here to stay, and having made the choice to use it in our products, we had to abide by the licensing requirements. Richard is an excellent speaker, properly pacing his lecture, without wandering away from the topics at hand. Oh, and all this without notes. He spoke for about an hour, and then proceeded to answer questions for another hour.
Audience questions ranged from simple queries to subtle aspects of, and potential "gotchas" related to compliance. Accidents happen, and sometimes GPL-violating combinations of free and non-free code escape, typically as demo versions. Richard explained that the FSF is interested in ensuring that compliance with the GPL is restored as soon as possible when a violation occurs and not in embarking on a witch-hunt. Scratch any misconceptions about being unreasonable. A few people asked about ways to "get around" the GPL, and Richard calmly explained that he would not help anyone do this and refused to answer such questions. (We had agreed to this before hand, as well as not allowing the Q&A session to turn onto a philosophical debate.) Richard explained simple ways that we could be friendly to the free software community, beyond legal compliance with the GPL. During the Q&A session, I asked if any other companies had invited him to speak on the subject of GPL compliance, and Richard said that we were the first. However, as part of GPL-violation settlements with the FSF, some (unnamed) companies were required to appoint a GPL compliance officer, known to the FSF, and pay for their training to understand the GPL. Apparently the FSF pursues GPL violators quite actively, but does not make a habit of publicly exposing offenders. My boss made the overture that we would voluntarily have a person assigned to verify GPL compliance on projects where we include GPL code.
After the presentation, we all gathered around for a group photo, and Richard autographed a copy of the GNU Manifesto for a coworker who wasn't able to attend. I would later ask for (and get) his autograph myself -- the only expression of RMS fandom on my part, and a bit embarrassing I suppose, but hey, this was The RMS, after all, and not some open-source free software coattail-rider. I helped Richard check out of his hotel room and cache his luggage in the trunk of my car, until it was time to catch his flight back to Boston. This task accomplished, we set off in search of lunch -- no gang this time, just the two of us. While generally frugal and unassuming, Richard likes to eat well (whether this had anything to do with his expenses being covered by Teradyne, I don't know). Fortunately so do I, and we found a local seafood place. While he enjoys Chinese food, having spent several weeks in Asia, he had an appetite for more occidental fare. Over lunch we discussed the likelihood of Teradyne being friendly to the free software community as well as our political differences in the matter of socialization of "essential services", like health care. Like I said, we have our differences, but the conversation was interesting, and remained friendly.
After lunch, it was email-sync time, once again. I snagged my autograph once this was done (about an hour and a half later), shortly before the taxi arrived to take Richard to the airport. As he was leaving, I let him know that I very much enjoyed the opportunity to chat with him, and his parting words to me were his "Happy hacking" trademark greeting. The local mean IQ noticeably depressed as his taxi drove off, I trudged back inside, out of the drizzle, and returned to my cubicle to resume my somewhat Dilbertesque existence.
Happy hacking, Richard.
Part IV - EpilogueOur group within Teradyne's Telecommunication Division has chosen to formally have someone assigned to ensure GPL compliance, and plans to adopt a set of "free software friendly" principles, with RMS' support, as a pilot project for the division.
RMS Visit mini-HOWTO
Here are some suggestions if you want your company to have a successful visit by RMS.
- Decide and agree on the topics to be covered. If you permit an ethical debate to arise, you'll probably get one.
- Plan ahead for this. RMS is very busy, and his schedule will probably mean that any presentation has to be scheduled six to twelve months in advance. Be willing to be flexible in scheduling a visit date.
- Make sure that he can get his email. It piles up quickly and it is a full-time job for RMS to keep up with it. He makes himself surprisingly accessible, and it would not be fair to him or others to interfere with this.
- If you want to be nice, try to accommodate his tastes in food and drink. I made the mistake of not having some of his favorite teas available, even though it would not have been a great difficulty to do so. RMS knows good food, and, if he's been somewhere before, could probably recommend an excellent restaurant. Pay attention.
- RMS appears to like company, but do try to strike a balance between work (the purpose of his visit), GPL discussions, and other topics of conversation.
- Make sure that he can get his email.
- It would probably be best to assign a (traditional) hacker to help with his relatively modest needs. Hackers understand each other in a way that non-hackers don't. RMS can appear rude and impatient to those who over-inflate their own self-importance above his attention to people with whom he corresponds. He does not put on false airs and it's easy to think of him as "one of the gang" in a familiar way. Nevertheless, he is a VIP by virtue of his wide-spread influence and his ability to get his work done in unfamiliar surroundings will sometimes require trivial, but immediate, attention on the part of his host.
- Make sure that he can get his email.
- Did I mention the bit about email?
The following notices are reproduced from Rene's home page where this essay is found: 1) Disclaimer: This article reflects the opinions of the author and does not necessarily reflect the opinions of Teradyne management. 2) (c) 2000 Rene S. Hollan. Verbatim copying and distribution of any pages on this site is permitted, provided this notice is preserved on each page where it appears.