the full ramifications of this did not become clear until very recently—in fact, they are still unfolding, in remarkably strange ways, as I’ll explain when we get to Linux. The upshot is that millions of people got accustomed to using GUIs in one form or another. By doing so, they made Apple/Microsoft a lot of money. The fortunes of many people have become bound up with the ability of these companies to continue selling products whose salability is very much open to question.
HONEY-POT, TAR-PIT, WHATEVER
When Gates and Allen invented the idea of selling software, they ran into criticism from both hackers and sober-sided businesspeople. Hackers understood that software was just information and objected to the idea of selling it. These objections were partly moral. The hackers were coming out of the scientific and academic world, where it is imperative to make the results of one’s work freely available to the public. They were also partly practical: how can you sell something that can be easily copied? Businesspeople, who are polar opposites of hackers in so many ways, had objections of their own. Accustomed to selling toasters and insurance policies, they naturally had a difficult time understanding how a long collection of ones and zeroes could constitute a salable product.
Obviously Microsoft prevailed over these objections, and so did Apple. But the objections still exist. The most hackerish of all the hackers, the Ur-hacker, as it were,was and is Richard Stallman, who became so annoyed with the evil practice of selling software that in 1984 (the same year that the Macintosh went on sale) he went off and founded something called the Free Software Foundation, which commenced work on something called GNU. GNU is an acronym for Gnu’s Not Unix, but this is a joke in more ways than one, because GNU most certainly is a functional replacement for Unix. Because of copyright concerns (“Unix” is trademarked, and the programs it comprises are copyrighted, by AT&T) they simply could not claim that it was Unix, and so, just to be extra safe, they asserted that it wasn’t. Notwithstanding the incomparable talent and drive possessed by Mr. Stallman and other GNU adherents, their project to build a free Unix was a little bit like trying to dig a subway system with a teaspoon. Until, that is, the advent of Linux. *
But the basic idea of recreating an operating system from scratch was perfectly sound and completely doable. It has been done many times. It is inherent in the very nature of operating systems.
Operating systems are not strictly necessary. There is no reason why a sufficiently dedicated coder could not start from nothing with every project and write fresh code to handle such basic, low-level operations as controlling the read/write heads on the disk drives and lighting up pixels on the screen. The very first computers had to be programmed in this way. But since nearly every program needs to carry out those same basic operations, this approach would lead to vast duplication of effort.
Nothing is more disagreeable to the hacker than duplication of effort. The first and most important mental habit that people develop when they learn how to write computer programs is to generalize, generalize, generalize. To make their code as modular and flexible as possible, breaking large problems down into small subroutines that can be used over and over again in different contexts. Consequently, the development of operating systems, despite being technically unnecessary, was inevitable. Because at its heart, an operating system is nothing more than a library containing the most commonly used code, written once (and hopefully written well), and then made available to every coder who needs it.
So a proprietary, closed, secret operating system is a contradiction in terms. It goes against the whole point of having an operating system. And it is impossible to keep them secret anyway. The source code—the original lines of text