Emacs

2007 09 13
Sam Williams’s Free as in Freedom: Richard Stallman’s Crusade for Free Software


Sam Williams. Free as in Freedom: Richard Stallman’s Crusade for Free Software.

This is a quick, basic biography of Richard Stallman, the man responsible not just for some awesome programs (most awesomely, from my point of view, Emacs), but also the Free Software Foundation. Williams takes us through Stallman’s early life to his days as a hacker at MIT and then on through a lifetime as an advocate for free software.

The book’s title conveys the sense in which Stallman thinks software ought to be free: the issue is not money, it’s the right to see and modify the source code of the programs your computer is running. Stallman dissents from the Open Source movement’s emphasis on the practical benefits of having freely available source code. For Stallman the issue is one of freedom, and the right to modify that source code to suit your own needs. These would be important even if Open Source turned out to be an inferior model for software development in other respects.

What about the incentives for developing new software on the model Stallman favours? Stallman addresses this by arguing that programmers might reasonably charge clients for consulting on software, even if the code doesn’t happen to be proprietary.

As part of the effort to provide a legal basis for his ideas, Stallman was instrumental in the creation of the GPL, a version of copyright (called “copyleft”) that permits use of the original program and any derivatives created from it, so long as those derivative creations are similarly protected by the GPL. Whether the issue you care about is freedom or efficiency (or both), it’s hard to deny that we owe an incredible amount of great software to the GPL and the framework for software development that it helped support.

Williams tells his story with the occasional moment of humour, and as far as this newbie could tell, handles the ideas in his book fairly clearly. The book is also released under the GFDL, meaning that you can read the entire thing online here, which is a nice touch, and in keeping with the philosophical views of his subject.

Two complaints, however. First, Williams is not exactly the world’s greatest prose stylist. Here is an especially awful passage:

For Stallman, the months spent playing catch up with Symbolics evoke a mixture of pride and profound sadness. As a dyed-in-the-wool liberal whose father had served in World War II, Stallman is no pacifist. In many ways, the Symbolics war offered the rite of passage toward which Stallman had been careening ever since joining the AI Lab staff a decade before. At the same time, however, it coincided with the traumatic destruction of the AI
Lab hacker culture that had nurtured Stallman since his teenage years. One day, while taking a break from writing code, Stallman experienced a traumatic moment passing through the lab’s equipment room. There,
Stallman encountered the hulking, unused frame of the PDP-10 machine. Startled by the dormant lights, lights that once actively blinked out a silent code indicating the status of the internal program, Stallman says the emotional impact was not unlike coming across a beloved family member’s well-preserved corpse.

Forget the overwrought quality of the passage. What the fuck is a reference to pacifism doing here? Pacifism is a view about violence, typically political violence. It has nothing in common with passivity. That’s why you can be aggressive in promoting your pacifism without contradiction. And this quirk comes up again!

Whatever the outcome, the bickering solidified Stallman’s resolve. With no source code to review, Stallman filled in the software gaps according to his own tastes and enlisted members of the AI Lab to provide a continuous stream of bug reports. He also made sure LMI programmers had direct access to the changes. “I was going to punish Symbolics if it was the last thing I did,” Stallman says. Such statements are revealing. Not only do they shed light on Stallman’s nonpacifist nature, they also reflect the intense level of emotion triggered by the conflict. ((It’s true that the next bit of text goes on to discuss violence, but the reference to pacifism here is still inappropriate.))

The other complaint I had about the book is that at times I wanted Williams to push Stallman a bit harder on some basic concerns that even someone sympathetic to Stallman’s position might have. I was trying hard while I read the book to imagine an alternate history of software, in which the GPL was from start to finish the industry standard. I wanted to believe that this was a better world, but wasn’t sure about some of the details. And even if for Stallman the focus needs to be on freedom, rather than efficiency, anyone interested in evaluating his proposal needs to spend quite a bit of time worrying about the economics of software development, and whether the GPL could have met everyone’s needs equally well.

That said, I enjoyed the book and don’t regret the time I spent reading it.


Nada (0)

2007 02 20
My dotemacs


Posted by in: Emacs, Software

I’m sick and tired of being known as little more than a hunk with rippled abs and chiseled buttocks. It’s almost enough to make me drop my plans for the forthcoming “Men of Explananda” calendar, which has long been in the works. Therefore, I have decided to reveal my dotemacs file, both for the edification of the world, and so as to prove for once and for all that behind this pretty face is the mind of a true geek.


Howls of outrage (12)

2007 01 23
Emacs question


Posted by in: Emacs, Software, tech-sci

(Non-geeks stop reading now.)

How do you customize emacs (running in MS Windows) so that it starts off maximized? I assume that you want to specify the frame size of the initial buffer in your _emacs file. But Googling only reveals customizing the initial buffer size by specifying dimensions, like so:

(setq initial-frame-alist ‘((top . 1) (left . 1) (width . 70) (height . 28)))

But that sucks. It’s not the same as maximizing the damn program, even if fiddling with the numbers could get the same effect as maximizing, which it doesn’t. (And the commands which do maximize the frame size end up pushing the minibuffer off the screen.) I’m trying to do this with my _emacs file without going into my registry.

Or is this so confused that the question doesn’t even make sense?

Update: Answer here.


Howls of outrage (15)