Chairman Mao Tse-tung was fond of telling a little fable to illustrate one of his favorite maxims. It was about the old man who lived near a mountain. The mountain happened to be right between him and the nearest town, which caused him no end of trouble. So one day he decided to remove the mountain. He hoisted a mattock and began to hack away. His neighbors thought he was crazy, and came over to make fun of him. You'll never move that mountain, they said, so why bother? The old man shrugged. If I die before the mountain is removed, he declared, my sons will continue digging. And if they die before it's done, their sons will continue. And so on.

The spirit that lived within the mountain heard these words and suddenly became very agitated about his long-term housing situation. So he immediately lifted the entire mountain up and flew it to another, presumably safer, region.

Mao used the story as evidence that pure will could achieve China's transformation from poverty into developed-nation status. The execution of this philosophy had dismal consequences, such as the Great Leap Forward and the consequent starvation of millions of people. But I was reminded of the story recently, when reviewing the e-mail that came in to Salon in response to an article my colleague Janelle Brown wrote analyzing the flaws of Gnutella, an open-sourced file-trading software system that many see as the successor to Napster. In her piece, Brown pointed out several technical shortcomings and possible legal vulnerabilities that could hamper Gnutella's advancement.

The response from letter writers was intriguing. While many correspondents acknowledged some of the problems, they also shrugged them off. Their faith that all technical problems would eventually be worked out was unshakable. It was as if there was a historical inevitability ensuring the success of free software. Never mind that Gnutella did not scale well -- that as more people used it, it performed less efficiently. The next version, it was declared, would incorporate improvements that solved that problem. Never mind that legal authorities would find a point of vulnerability in the developers who actually wrote the software. In the future, the Net would include structures that facilitated the anonymous creation and distribution of code.

There's always a next version. That may sound like a pretty prosaic reason for passion, but it is as much a key to understanding free-software emotion as is Richard Stallman's insistence that sharing source code is a moral imperative. When authors write books or directors film movies, they aim for a complete work, a final edit or final cut. They may even convince themselves that they've delivered the final word on a subject. Not true for software. Every honest software developer knows that software is always incomplete and imperfect. Its creation is a process. The next version, ideally, will always be better, will theoretically fix more bugs than it creates.

Open-source software, at heart, is a method for maximizing the efficiency and speed with which one can create the next version. Release early, release often, is the mantra, meaning get your new code out into the public so millions of eyes can tear it apart and help create a new version even faster. The success of this strategy with Linux, Apache or any other open-source software program seems to have had a psychological effect. One could argue that open-source developers understand the inherent imperfection of software better than anyone: They know that even if they don't move the mountain (or Microsoft) with their code, then the next generation of developers will succeed. As a consequence, they have created what they believe is the strongest system for continuously improving code.

The step from faith to passion is easy. If you believe that your way is the best way to achieve a given end, then that fuels your determination to practice what you preach, to distribute your code freely and frequently. If enough people agree with you, then you have a movement, a self-fulfilling prophecy of software development, a way to will things into being just as the old man willed his mountain to disappear.

Certainly you don't need to steal somebody else's code or crack someone else's internal network to achieve your will. And while plenty of my correspondents assured me that the very idea that they would even want to look at Microsoft's source code was anathema to them -- that, in effect, to break into Microsoft to steal code would be analogous to breaking into a sewer to steal excrement -- I think that particular point of view actually belongs to a juvenile minority. The majority believes in the process, and, understandably, any suggestion that they might seek a shortcut to success impugns that belief -- and their own passionately held values.

Recent Stories

Ask the pilot
The gut-churning trials and tribulations of making the grade with an airline.
Ask the pilot
Who cares what planes look like? I do! Why do they have to look so ugly and boring?
Ask the pilot
Avoiding speculation, the pilot weighs in on the Madrid plane crash.
Ask the pilot
What do U.S. carriers need to do to regain their status as world-class players? Wi-Fi would help.
Ask the Pilot
The safe landing of the damaged Qantas 747 was no miracle. Plus: If a plane loses pressure, will your eyes pop out?

Daily Newsletter

Get Salon in your mailbox!