Friday, June 11, 2004

Stallman speaks

Last night I attended a talk by Richard Stallman at Portland State. Yes, *the* Richard Stallman, founder of the free software movement, and the person who we have to thank for GNU\Linux, Emacs and gcc. Remember, it's "free" as in free speech (or freedom), not free beer.

In the past, I have exchanged a couple, brief, email with Stallman, and I've even curiously played the recording of him singing the Free Software song (it's even cornier than you would expect). But this was the first time I saw the legend in person. Here's my mini trip report:

Introduced with minimal preamble, RMS launched into the story of his beginning at MIT's AI lab, the hacker culture there, and the Xerox laser printer that introduced him to proprietary software. For want of some source code, the free software movement was born.

The piece I'd never fully grasped before this talk was how personally Stallman took the denial of access to the source code. It truly is a moral evil to deny someone the source: it does them actual harm. In this case, they were not able to work around paper jams (nor learn from the source code). In essence, a Non-Disclosure Agreement boils down to an agreement, "I promise not to help ________" (with the blank to be filled in later).

Starting in 1983, Stallman began coming up with the idea of free software, and began working toward that end.

Free software (by definition) guarantees the following:

0 - Freedom to run (as often and as many times as desired)
1 - Permission to modify
2 - Freedom to share
3 - Freedom to distribute modified copies

For RMS, it's all about freedom. Examples of harm done by proprietary software are: inability to share useful software, illegality of playing DVDs on free software, spyware (Windows XP/Real reporting user information), etc.

The initial goal of the free software movement was to build a completely free system you can run on your computer. This includes, kernel, compiler, editor, file systems, graphical system, etc. etc. The first piece of software he wrote was, my favorite, GNU Emacs. He sold tapes containing the program (or you could get it free of charge from an ftp site).

After founding the Free Software Foundation, to further the cause, he stopped personally selling Emacs, and began contracting work. He quickly worked up to charging $250/hr, and worked until he paid enough for himself to live, to save, and to pay taxes for the year. This took him 7 working weeks. After that, he worked without charge. Needless to say, Stallman lives a simple life.

In the beginning of the 1990's, all the pieces for the free operating system were in place except for the kernel. After casting around for a free option, they settled on the MACH micro-kernel (developed at CMU), and set about writing the user-level programs to fill out the system calls that would complete the kernel interface. This turned out to be more difficult than originally expected. Luckily, Linus Torvalds began writing the Linux kernel (using the monolithic kernel model), and released it under GPL in 1993. People began combining the Linux kernel with the GNU system, and eventually even GNU people began using the system as a whole. Thus was born what we now know as GNU\Linux.

You'll notice my use of "GNU\Linux" as opposed to just "Linux". I knew that Stallman believed strongly in using the former, while many (most) other people are happy with just using the latter. It wasn't until this talk that I finally absorbed how simply using "Linux" to describe the operating system, versus "GNU\Linux", completely breaks the connection between the software and the philosophy of free software. Stallman acknowledged that the Linux kernel is the last piece that carried the free operating system across the finish line, but it is just one piece. And because freedom is the end goal of the free software movement, this last piece of education is critical.

He rarely programs, letting people younger and more capable to that work. Stallman now spends most of his time educating people about free software. The GNU\Linux system is only the beginning, there are many more pieces needed: playing DVDs, authoring multi-media content, gaming software, whatever might be useful. The two most powerful enemies to free software are the href="">DMCA and software patents, the later
being the larger of the two.

Many questions were asked, the bulk the answers usually boiled down to the questioner not understanding "free software", or Stallman applying freedom concepts to the specific example. The most interesting question asked was,

"Specifically, if you could change one aspect of copyright law, what would you do?"

His (paraphrased) answer was to change the laws so that software can only be copyrighted for 3 years. In order to obtain software copyright you would have to register the complete source with the Library of Congress, and in 3 years they would release the code. If you did not register the complete source, you would be guilty of a crime (and could be prosecuted). The way proprietary code could still exist would be to continually innovate (or at least release "new" versions at least every 3 years).

He did sing the Free Software song and talked about the church of Emacs. The obligatory dig at 'vi' was, "vi vi vi - editor of the beast", and he views using a free version of 'vi' as penance.

Stallman is quite the character - he's very adamant about his views of "good" and "bad". In reality, he is pretty humble. He always honored other people's view points - both people he talked about (Linus Torvalds) and people in the audience. While Microsoft was the butt of several jokes, he explicitly pointed out that simply "hating Microsoft" is not good - it could lead one to thinking that anything anti-Microsoft could be good, and his view is that *all* proprietary software is bad. In a nutshell, he believes to his core, that all software should be free.

When you take a step back and look at the accomplishment, the GNU\Linux system - it's pretty impressive. Stallman started a movement that, 20 years later, has resulted in truly free system that is threatening Microsoft, a company with 90+% market share, $25 billion in the bank, $10 billion/year in revenue, and probably the highest margin of profit ratio ever. It is software of the highest quality (think of the last time Linux/Emacs/gcc crashed). And most importantly, the software can *never* be taken away from you.

1 comment:

Silence Dogood said...

great post Trey.