Many people bemoan the unceasing bickering and so called “holy wars” in the Free/libre/Open Source Software (FLOSS) world. The process of repeatedly redrawing battle lines such as vi vs emacs (and emacs vs xemacs), xfree86 vs xorg, KDE vs GNOME, BSD vs Linux, and the Free Software Foundation vs the Open Source Initiative is an essential part of what makes FLOSS into great software. As painful as it may be to watch, the divisions, factionalism, and emotionalism are fundamental to the process of creating FLOSS and can’t be excised without diminishing the software itself.
Many commentators write articles deploring the fanaticism of FLOSS partisans. Even people who are sympathetic to FLOSS and appreciate its qualities, frequently denounce the divisions in the FLOSS community. A typical expression of this sentiment is Rollie Hawk’s article “You mean even Linux isn’t cool enough now?” According to Hawk, “Most rational human beings would agree that the flame wars over operating systems are ignorant at least and pointless at best.” Hawk argues that “the battle between aficionados of Linux and BSD is not only silly but hurts both parties with every attack.” The article denounces many of the admittedly silly and petty reasons that BSD partisans think their OS is “cooler” and urges everyone on both sides of the Linux vs BSD divide to stop bickering and to realize that “we are all on the same side”. Hawk concludes:
we are all—or so I thought—supposed to be on the side of making people’s lives and jobs more easy, productive, and fun with technology. How that happens is of drastically less importance than the fact that it does happen.
While Hawk incisively exposes many of the fallacies in the arguments over BSD vs Linux, he also disregards the whole point of BSD and Linux and the technical substance of the debates. Hawk writes from the point of view of a desktop user who has no desire to get under the hood and plumb the inner mysteries of the technology. He argues that for the average user it makes not a wit of difference whether the desktop is running on top of a BSD or Linux kernel. In denouncing the flame wars, Hawk ignores that the flame wars are often predicated upon differing visions that drive the development of the kernels. BSD was never meant to be the most accessible OS, which seems to be one of Hawk’s chief criteria. Rather, it was designed to be the best OS in some aspect. For instance, the raison d’etre for OpenBSD is to provide the best security, while NetBSD is designed to be the best at networking. There are plenty of good reasons why people might prefer BSD over Linux for these features, but Hawk entirely ignores these reasons when he cavalierly dismisses the flame wars as “ ignorant at least and pointless at best”. The various groups working on the BSD kernel have their own vision of what is the best design and for this reason they have hived into multiple varieties such as NetBSD, OpenBSD, and FreeBSD. Meanwhile the Linux kernel is more open and accepts code from a wide variety of sources, because Linux developers never claimed to create the perfect design, but rather pragmatically created a kernel that was good enough to work for most people and their sundry hardware. These fundamental differences in vision are what drove the various kernel projects to excel, and shouldn’t be dismissed as merely “pointless”.
Since many commentators like Hawk argue from the point of view of the average desktop user, they assume that most users don’t care what kind of software is under the hood. They often assume that all FLOSS is the same to the average user. Nonetheless, desktop users who has no use for technical details may have political reasons to care exactly what software is under the hood. Debates of BSD versus Linux are often interesting to people who don’t worry about run levels and kernel modules. Some flavors of Linux, unlike BSD, aspire to take away market share from Microsoft and break its monopoly on the desktop. Many desktop users do care about breaking Microsoft’s power over their digital futures and support Linux for that reason. Many desktop users do think it is vitally important that proprietary companies not gain the power to control their lives or to embrace and extend standards so that their information is held captive to the whims of a corporation. Because the BSD license is not designed to challenge industry practices which would restrict freedoms and lock them into detrimental monopolies, many desktop users do care whether they are running BSD or Linux under the hood. Freedom and social justice are issues that profoundly matter to all types of users, even those who don’t give a hoot about the inner workings of the technology. Many people who haven’t the faintest idea how to use a command line are eagerly installing OpenOffice and FireFox because they value their freedom. For many, especially in Europe and the developing world, the politics are one of the primary reasons given for switching to FLOSS. Even people who don’t see their desktop as a political manifesto generally agree that their lives and jobs won’t be very “easy, productive, and fun” in a proprietary world filled with expensive and restrictive software, Digital Rights Management, and frequent invasions of personal privacy.
For desktop users who aren’t fans of the free software movement and its efforts to change the world, many have firm reasons for choosing other software. They may wish to support BSD-style licenses which gives them the most libertarian freedom to do whatever they want with their computer. Still other desktop users may think it important to support Linus and the open source advocates who encourage more openness in their development methodology than BSD. Others may prefer programs because they are free-market advocates who want business friendly software. In short, we shouldn’t dismiss the flame wars in the FLOSS community as “ignorant” or “pointless”, nor should we regard them as the rarified purview of elite hackers and developers.
Although some of the arguments in the flame wars may be wrongheaded and even down right silly, there are very real differences in philosophy and technical matters which do matter and we ought to understand and respect them, even if we don’t chose to participate in these debates. More importantly, we should recognize that the flame wars and partisanship serve a vitally important purpose. FLOSS is about more than the mere tools themselves, it is about people’s ability to become cocreators in technology and taking ownership of the technology which governs their lives. Part of that process is the ability to humans to build identities and communities around those tools. In a profound way, FLOSS is a social movement and people don’t get involved unless they are emotionally committed in some way. Part of showing your affiliation and membership in a FLOSS project is the human need to create cultural differentiation, common mythologies, and the flame wars which Hawk so deplores. What makes FLOSS projects work is the ability of people to share a common vision to create something better, but creating visions is inherently political and replete with divisive debate. Even as FLOSS has increasingly moved out of hacker subculture and into corporate quarters, people’s participation is still a profoundly human experience which brings out all the human emotions. While the cultural divisions aren’t as recognizable as in the hacker subculture, the FLOSS corporate world has many of the same human rivalries and internal disagreements.
The emotional involvement of the FLOSS community is not a fact to deplore, but rather an element to embrace as part of what makes FLOSS work. We don’t want FLOSS developers to treat their software as simply a way to get a paycheck as is done by many software developers in the proprietary world. People’s sense of identification with a FLOSS project and their sense of ownership over the final product are what drives FLOSS communities to make software which is so stable and bug-free, yet also drives them to engage in endless flame wars and partisan bickering.
Average desktop users are a vital part of this process and should not be excluded. They won’t file bug reports, endure long downloads, and spread the software to their neighbors, without the emotional commitment and the concomitant partisanship. While the average user doesn’t have to participate in the FLOSS world, they should recognize that FLOSS only works because people like RMS and ESR engage in holy wars and Linus feels so emotionally committed to creating great software that he excoriates the GNOME designers as being “interface nazis” whose mentality is a “disease”. This sort of passion drives the FLOSS projects and makes them compete to outdo other projects. In other words, what many dismiss as “ignorant” and “pointless” is exactly what makes FLOSS worth using in the first place.