An Extensive History of Freedom Fighting in Cyberspace
The fight for freedom is one of the most discussed subjects in arts and literature. The glorification of the deeds of freedom fighters and the refinement of their personalities to fit in the heroic molds manufactured through public perception is not something strange to historians, as well as to artists and writers. Most of what we know about our historic heroes is sufficient to give them god-like traits and gain them a cult following, guaranteeing an enduring place on the pages of history. Their high profile, radical positions and struggles usually overshadow the rest of their lives. The freedom fighters of the cyberspace are not that different from traditional ones in terms of radicalism and impact; the only differences being the neutral nature of the digital terrain, which seems to make all the difference as this book shows.
Having been a Linux reporter since its inception, Glyn Moody justly dedicates a major portion of his book to describing the inner workings of the Linux kitchen in gratifying details. We get early to learn about Linus, the Finnish student who starts Linux as a hobby project in his bedroom, only to find himself leading an army of "lieutenants" in developing an operating system equaling, if not superseding, the functionality of the one built by the most powerful corporation in the world, Microsoft. It is through these lieutenants that we hold the threads to what constitutes a network of creative, liberal minds who believe in sharing knowledge as the most important catalyst of progress and innovation. If we track all these threads, however, they would lead us to a focal point in which they all meet: Richard Stallman, the father of Free Software as he is usually denoted. Moody takes Stallman's exceptional efforts to promote the freedom of software as the starting point of his research, going through Stallman's GNU project, Linus' Linux, Walls' Perl, Lee's Internet among others, to build a case for why freedom is essential for progress, and how openness can be compatible with business.
In the early chapters, the author tells the story of the radicalization of Stallman, that is how he got so attached to the idea of software freedom to the point of dedicating his whole life for that cause. We learn about of Stallman's days in MIT's AI lab and the "hacker" culture -- hacking in the good sense of the word -- of sharing the code to add more features and provide patches for improving existing software. Considering it as the best days of his life, the destruction of this community through commercialization, when most of the fellow hackers were sucked by a newly formed company from within, working in closed source had led Stallman to join a competing company to nullify their work. In this phase, Stallman single-handedly equalled the work of a team of fellow hackers just to retaliate the destruction of his community, yet it was the preface of a more radical action with a much more enduring effect.
After leaving the company in which he was working, Stallman's ideals of software freedom began to formalize in his head. Now, his target was not of mere vengeance for his local hacker community, but to recreate a similar one on a global stage. He started to work, again single-handedly, on the almost impossible goal of creating on his own a free operating system -- with the word "free" signalling the availability of the code, rather than the price of the product. This "freedom" concept was later formalized into the General Public License (GPL), which generally allows the reselling of software under the condition of keeping the source freely available, allowing reselling and modification, in what is usually called "copyleft," in contrast to the copyrights of proprietary software. Through these condition, Stallman wanted to ensure the continuity of the freedom of any software, and consequently the freedom of a development ecosystem built upon the values of cooperation in place of competition, a cause he planned to defend through the inception of the Free Software Foundation.
As extraordinary goals need extraordinary work, Stallman quickly realized that he needs to build upon the work of others. His aim was to build a Unix clone. As the Unix structure allowed for the integration of several modular parts, he would build each module on its own, test it, and then, when all modules are built, integrate them using a kernel software. In his quest for already built modules, Stallman used his own EMACS text processor, a modified version of a software he used to work on in the AI lab. In an effort to save the effort of writing a compiler from scratch, Stallman approached professor Andrew Tanenbaum of the Free University of Amsterdam to use a compiler he had built for educative purposes. Tanenbaum refused by saying, "the university is free; the compiler isn't." Stallman resorted to writing the compiler, a very daunting task, which probably encouraged him to send another request to Tanenbaum so as to use another product to fill the missing piece in his project, the micro-kernel. Again Tanenbaum refused, citing his disagreement with the copyleft conditions. Stallman's GNU project (stands recursively for GNU Not Linux) was complete but for the missing kernel, a piece that he later started to work on, but was to be filled by the effort of another man, Linus.
Linus' project didn't start out of conviction like that of Stallman, but rather out of boredom combined with the desire of self-education. As a student, he was a user of Minix, Tanenbaum's educative Unix operating system, and so he wanted to develop a basic clone of it on Intel's 386 architecture. Linus used intensively Minix's online message board to get initial help with his project. Eventually, however, his small project would expand into a kernel employing many of Stallman's modules to provide an operating system that not only would surpass Minix and throw it into oblivion, but would also replace Stallman's kernel as the last piece of the GNU puzzle.
Most of the communications in Linux's early stage were done on Minix's message board. One would bet that Tanenbaum wasn't very happy looking at this young project overshadowing his own. This lead to unfortunate events in which Tanenbaum -- somewhat portrayed as a villain throughout the book -- engaged in flame wars with Linus over technical issues such as portability (Linux was initially fixed on Intel's 386 architecture) and the usage of micro-kernels (Linux didn't use it, while Minix did). He even did the terrible mistake of calling Linux "obsolete" in a clear lack of foresight. Yet, if it wasn't for Tanenbaum's Minix and its message board, Linux wouldn't have gained such an early popularity among the hackers who quickly jumped into the Linux bandwagon, developing new features, providing patches, and testing components.
Despite the expansion of the Linux community of developers throughout the years, Linus was able to keep his central role intact. That was due, in large, to the fact of his ability to delegate many tasks to his volunteering "lieutenants" to filter out the stuff before it reaches him. Each of his lieutenants was responsible for several parts of the code, clinging to certain features in accordance with his expertise. Such spontaneous, hierarchical specialization allowed for better manageability given the distributed nature of the team. It was basically meritocracy in action, with people rising to the task without being asked to do so. Features were selected based upon the popular demand of the user base, as well as the release schedule. The instantaneous response provided by the internet allowed for a supply based on demand through rapid releases, instead of a supply which uses marketing to manufacture demand, like in the case of proprietary software. If a feature was not developed effectively, a users' outcry would be enough for someone else to pick it up and branch the development, allowing Linus to choose the better implementation in his official release. That was what is often called the Linux method.
As one reads through the book, he will find different flavours of free software and open source development, some of them even preceding Stallman and Linus. Eric Allman wrote Sendmail, a software for e-mail routing, back in 1980, putting the first piece into the puzzle of Internet freedom. Larry Wall started in 1987 a Unix scripting language he called Perl, allowing its development in an open source fashion. Moreover, the internet is built upon a foundation of open source software because of its freedom. Many projects were also later able to build upon Linux's success and add to it including the GIMP and its GTK, Debian, KDE, GNOME, Mozilla, and Apache among others. The details of the emergence and success of these projects are well documented by Moody in an interesting fashion without losing focus on the workings of the open source communities with all the politics and diplomacy -- or the lack thereof -- involved.
Among the extensive list of software projects mentioned in the book, arises some pieces of literature, mentioned for their effective analysis and important impact in the progress of the open source and free software communities. In addition to the licenses' role as open source legal binders, the community needed advocacy more than anything else. Moody insists that Eric Raymond's essay "The Cathedral and the Bazaar" played such a role by showing how open source provide an effective ecosystem for software development. Larry McVoy's Sourceware proposal was prophetic and alarming at the same time: it exposed the problem of fragmentation in the Unix market, asking for backing a single flavor of Unix, either SunOS or Linux. Eric Hahn's Hersey Documents played an important role in convincing Netscape to release its web browser as open source, a move that yielded the inception of the Mozilla project. And finally, Microsoft's infamous Halloween Documents signaled the giant's acknowledgement of free software as a viable alternative.
Most of the later chapters of the book deal with open source as a business model. In its effort to prove the point of open source's compatibility with business, the book, unwillingly, exposes its shortcomings too. Many of the examples of successful businesses in the nineties were of resellers of freely available software on CDs or even magnetic tapes -- a business model that is no more viable in most cases. This eventually evolves into a more durable model, that is firms offering technical support for Linux products. Other start-ups focused on building online communities or selling hardware supporting Linux. But many of the examples mentioned were of inflated success due to the dot-com boom of that time. In the last few chapters, however, we see that many technology giants have supported the open-source model either by providing Linux-based products and support, or by releasing their own products as open source, a trend that still continues to this day, albeit with somewhat less enthusiasm. Yet, the book is filled with optimism that is only tuned down in the postscript of the second edition, which was written after the boom was busted. Nevertheless, the author correctly, even if coincidentally, implies that the future of Linux may lie in the field of embedded systems rather than desktops.
Linus remained strange to the commercial world of Linux until later in his life when he decided to join a hardware company in Silicon Valley. Stallman, however, fell completely out of relevance in all the chapters dealing with business. This mirrors to some facts we learn in the first chapters about both personalities: mainly, Linus being a pragmatist, and Stallman being a radical. While he was never against selling free software, Stallman demonstrated no interest in doing business. His philosophy is based on sharing as the base of freedom, insisting that it is an ethical matter. Linus, on the other hand, did use the GPL for practical reasons: to make Linux grow and get distributed easily. It was the reselling issue (the fact that someone could make money by reselling your product) that initially turned Linus away from this particular license, and it is what proved to be substantial in distributing Linux quickly, along with the Internet. Later, Linus became generally complacent about people making money out of Linux, even if the business mixture included dealings with some proprietary software. Stallman, meanwhile, remained defiant against any attempt to contaminate what he perceived as pure free software, and that's why he remained sceptical of the whole "open source" movement, considering it a distraction from his own "free software."
Because the book is more oriented towards the history of open source products, it largely overlooks the ethical ground of making source code available for everyone (Stallman's case). It mentions, however, the expansion of the open source phenomenon into other industries, and how this could revolutionize the way business is done. In an a time prior to Wikipedia (the second edition of the book was released in 2002), maybe one should not expect more, given that Google, for example, is mentioned only once or twice in the context of just being the coolest search engine around. Yet, the author could have elaborated more on why Stallman took it as a moral obligation, and how, if the whole world turned into open source, it would make the world better, or not. I believe this was appropriate for the book since what it indirectly proves over and over -- at least for me -- is that open source is at odds with direct competition, and that all the mentioned businesses are nothing but a deformity in a business world run by the closed source ideals. It was particularly interesting to see the "chief theoretician" of the open source movement, Eric Raymond, a staunch believer in the free market -- a contradiction with the open source sharing ideals in my dictionary!
Despite the plethora of projects mentioned in the book, there is more politics than technology in Rebel Code. One of the questions that I was left pondering about after reading the book was whether Linus is a dictator or not. On a broader sense: is openness and sharing (aka. open source) a perquisite for freedom or not? I found my answer in the book while reading about Linus' method of developing Linux, as well as Tim Bernard-Lee's effort to standardize the Internet. For Linux, the community is like a population which has a centralized government and a single head -- permanent for that matter -- but which has limited, if any, control over its citizens. This limited control is because discontented citizens can go elsewhere and start a new government if they want, thanks to the neutrality of the digital terrain. And that's the beauty of the book, that one can find the efforts of many human beings living far off each others combined to create great things, like defining freedom itself.
Any reader of the Rebel Code must take into his consideration the context in which it was written. The booming years are responsible for the over optimistic tone, and the author's background is responsible for what might seem some sort of bias against Microsoft -- along with Microsoft's unethical actions of course. In the whole book, I found only two unreasonable passages demeaning the giant corporation (two is a small number given that the back cover personifies Microsoft as Goliath): The first is in the prologue, when Moody provides a somewhat comical setting of frightened engineers inside Mcirosoft's headquarters, while the second being the accusation of Microsoft's misconduct during Mindcraft's benchmarks saga discussed in the sixteenth chapter. Apart from that, I find the book to be very informative and well researched.
If you are a programmer, you will most probably fall in love with the book; maybe even you will feel like writing the lines of codes hidden between the lines. An informed reader will like the fact that many of his beloved projects will be popping as he goes across the pages. A historian will enjoy the chronology and the references. Yet, it doesn't take a geek to appreciate the hard work that is spilled throughout the pages. Rebel Code is full of amusing facts including why Linux has a penguin mascot, what there is in the name of Red Hat, why Stallman wanted to rename Linux, and what PERL stands for. Most importantly though, if you care about freedom, you will definitely appreciate the message encompassing this book.