Happy birthday to GNU. The development of the operating system now known as Linux started 20 years ago this week, when Richard Stallman quit his job at MIT to start writing a free clone of the Unix operating system. The name was derived from the recursive Gnu's Not Unix, and is pronounced as in the Flanders and Swan song.
Stallman had announced his intentions on September 27, 1993, in the net.unix-wizards Usenet newsgroup. "I consider that the golden rule requires that if I like a program I must share it with other people who like it," he wrote. "So that I can continue to use computers without violating my principles, I have decided to put together a sufficient body of free software so that I will be able to get along without any software that is not free."
Stallman's contribution was one of the most astonishing feats of programming ever seen. He developed the GNU C Compiler (GCC), debugger (GDB), GNU Bash shell and a version of the powerful Emacs text editor. He also launched the Free Software Foundation to support the work, and published the GNU General Public Licence (GPL).
The GNU operating system was close to completion except for the kernel, when Linus Torvalds got involved. Though he wasn't a free software aficionado, he used Stallman's tools to develop one, and released it under Stallman's licence. This is why purists tend to call it GNU/Linux though, in my view, that battle has long been lost.
On Monday, Stallman's birthday letter made it clear that his take on free software has not changed. The problem now, however, is not that people don't use free software, but that they use it for the wrong reasons. "Are we working for freedom, or have we replaced that goal with the shallow goal of popularity?" he asked.
Again, I think that battle has been lost. "Free software" only became popular after a breakaway group led by Eric Raymond and Bruce Perens decided to ditch the ideology and rename it "open source". The new reality is that: "Free software is a political philosophy; open source is a development methodology." (This isn't what the Open Source Definition says, but no one reads that anyway.)
So far, open source has mainly continued Stallman's approach of cloning Unix and, more recently, Windows originals. This makes it relatively easy to unify developments among programmers who don't even know one another. But what will happen when they run out of things to clone?
The open source movement currently has no way of developing independent software architectures, or even of performing simple usability testing. And it shows.
And without a Stallman-style ideological commitment, it is hard to see why any bright young programmer with a brilliant idea should decide not to become a billionaire and give it all away. Logically, open source will result in a software industry that is not just without significant profits but without the profit motive. It will be interesting to see if it works.