Thank You, Larry McVoy

For the first time in my life, I want to thank Larry McVoy. He recently eliminated a major weakness of the free software community, by announcing the end of his campaign to entice free software projects to use and promote his nonfree software. Soon, Linux development will no longer use this program, and no longer spread the message that nonfree software is a good thing if it's convenient.

My gratitude is limited, since it was McVoy that created the problem in the first place. But I still appreciate his decision to clear it up.

There are thousands of nonfree programs, and most merit no special attention, other than developing a free replacement. What made this program, BitKeeper, infamous and dangerous was its marketing approach: inviting high-profile free software projects to use it, so as to attract other paying users.

McVoy made the program available gratis to free software developers. This did not mean it was free software for them: they were privileged not to part with their money, but they still had to part with their freedom. They gave up the fundamental freedoms that define free software: freedom to run the program as you wish for any purpose, freedom to study and change the source code as you wish, freedom to make and redistribute copies, and freedom to publish modified versions.

The free software movement has said, “Think of ‘free speech,’ not ‘free beer’” since 1990. McVoy said the opposite; he invited developers to focus on the lack of monetary price, instead of on freedom. A free software activist would dismiss this suggestion, but those in our community who value technical advantage above freedom and community were susceptible to it.

McVoy's great triumph was the adoption of this program for Linux development. No free software project is more visible than Linux. It is the kernel of the GNU/Linux operating system, an essential component, and users often mistake it for the entire system. As McVoy surely planned, the use of his program in Linux development was powerful publicity for it.

It was also, whether intentionally or not, a powerful political PR campaign, telling the free software community that freedom-denying software is acceptable as long as it's convenient. If we had taken that attitude towards Unix in 1984, where would we be today? Nowhere. If we had accepted using Unix, instead of setting out to replace it, nothing like the GNU/Linux system would exist.

Of course, the Linux developers had practical reasons for what they did. I won't argue with those reasons; they surely know what's convenient for them. But they did not count, or did not value, how this would affect their freedom—or the rest of the community's efforts.

A free kernel, even a whole free operating system, is not sufficient to use your computer in freedom; we need free software for everything else, too. Free applications, free drivers, free BIOS: some of those projects face large obstacles—the need to reverse engineer formats or protocols or pressure companies to document them, or to work around or face down patent threats, or to compete with a network effect. Success will require firmness and determination. A better kernel is desirable, to be sure, but not at the expense of weakening the impetus to liberate the rest of the software world.

When the use of his program became controversial, McVoy responded with distraction. For instance, he promised to release it as free software if the company went out of business. Alas, that does no good as long as the company remains in business. Linux developers responded by saying, “We'll switch to a free program when you develop a better one.” This was an indirect way of saying, “We made the mess, but we won't clean it up.”

Fortunately, not everyone in Linux development considered a nonfree program acceptable, and there was continuing pressure for a free alternative. Finally Andrew Tridgell developed an interoperating free program, so Linux developers would no longer need to use a nonfree program.

McVoy first blustered and threatened, but ultimately chose to go home and take his ball with him: he withdrew permission for gratis use by free software projects, and Linux developers will move to other software. The program they no longer use will remain unethical as long as it is nonfree, but they will no longer promote it, nor by using it teach others to give freedom low priority. We can begin to forget about that program.

We should not forget the lesson we have learned from it: Nonfree programs are dangerous to you and to your community. Don't let them get a place in your life.