Essay:Open Source and the insanity problem

From RationalWiki
Jump to: navigation, search

This is an essay under construction by User:EVDebs. Please comment only on the talk page.

I found this article from 2010 today. Now, I have to say, I don't really agree with this guy on his opinion of free/open source software's relevance; I tend to prefer to use free software when it's available because hey, I'm permabroke and I don't want to be a pirate, and I think open source software is, in general, a good thing because it means there's way more tools available for people who need to do custom work; it's not too different from having your own personal hardware store and scrapyard. And I do think there are legitimate political and practical motives to use FOSS, although I don't think it's an obligation (I'm a Mac and iOS user, have been for years, and yes, I know what I'm doing) -- avoiding vendor lockin and data rot are both quite important.

However, one thing I do agree with the author on: a lot of the leading lights of FOSS are completely. fucking. insane. Eric Raymond (paranoid, egomaniacal, hateful, paranoid) and Richard Stallman (brittle, unclean, has messianic delusions, possibly autistic) are at the top of the list; you also can't ignore people like OpenBSD leader Theo De Raadt (shit-stirrer, all around asshole), Hans Reiser (wife-murderer) and that guy who once interviewed me for a Linux job and had the sort of people skills that made him the last person in the world who should be giving a job interview. By comparison, Linus Torvalds is merely snarky and tactless (but at least baseline sane), and I've yet to hear anyone say much of anything bad about, say, Larry Wall or Guido Van Rossum. [1]

Truth is, utopians in general are shit-stirrers who frequently have trouble agreeing on anything, and utopians with pretensions of Randroidism are worse than most because they're convinced that the rules of the world don't apply to them. The constructed language community is infested with them for example; one conlanger wrote a 1997 essay[2] essentially throwing in the towel on Esperanto-like auxiliary languages because the supply far outstrips demand and because the auxlang community simply can't agree on anything when it comes to language design; on the other hand, the artlang community, consisting as it does of fans of languages like Klingon, Quenya, and Na'vi, has no need for such debates because their languages are works of art, not solutions to problems already solved. The FOSS community certainly leans more towards the auxlangers in that regard; the one thing that makes it work in spite of the chaos is that there's usually someone interested in something no matter how obscure, so if there's an unfilled sector of the market, someone will probably (and I stress probably) fill it at some point.

There is a long tradition of frustration in the Linux community about how Linux never seems to get much play on the desktop despite being widely deployed in data centers and having most of the software people need readily available. Certainly the off-putting behavior of the community is somewhat responsible; although business management seems to select for sociopathic traits, someone as dysfunctional as Theo De Raadt, for example, wouldn't get very far in any environment where he wasn't specifically catered for. But the real problem is the shit-stirring such behavior entails, and if you're familiar with the phrase "People's Front of Judea" you know exactly where this is going. The Linux distribution world is a train wreck. Format wars that date back to the early 1980s, many of them theoretically long settled, still influence the modern debates; vi vs. emacs may be a distant memory for most people, but you won't run out of people willing to fight over GNOME vs. KDE, CVS vs. Subversion vs. Git[3], and, most of all, whether or not the use of commercial software is ever acceptable. In the process, a depressingly large number of FOSS developers seem to forget that they're creating a product.

My Linux distribution of choice is Ubuntu. As a result, I've become a little too familiar with the GNOME desktop. Nautilus, the file manager, is a thing of beauty that's about as close as it can come to being a clone of the Mac Finder, and that's no accident because one of Nautilus' original designers was one of the Mac's creators, Andy Hertzfeld. However, as you work your way through the rest of GNOME (and its close relative, Unity) you get the feel of something that tries but doesn't quite succeed in copying the Mac because for the most part, it was created by people who don't understand the Mac.[4] Nautilus is excellent, as are some of the ancillary apps like Shotwell and Cheese. But gnome-screensaver, for example, is hopelessly and embarrassingly crippled, and in many cases there's no way out. For all its reputation of being a computer for the simple-minded, the Mac has always had relatively easy ways to tweak things under the surface -- ResEdit for the old Mac OS, plists and packages for OS X, and Applescript for both since 1992. GNOME fails badly in that regard -- it just isn't as tightly integrated, and in many cases where GNOME programmers follow Mac design decisions, they botch them because they don't understand the underlying logic. The main alternative is the more Windows-like KDE, which tends to make more sense, but at the cost of frequently exposing too much of the underlying functionality when the user doesn't need to see it. And, of course, there's the lesser competition like XFCE and LXDE... [5]

It doesn't help that the FOSS community inherited an annoying streak of social Darwinism from the old-line Unix world; an anonymous commenter, upon the release of Mac OS X, noted that "Apple has finally separated the Unix world into people who use Unix because they like the technology and people who use Unix because it lets them feel superior." This machismo pervades many FOSS projects; one example might be the very popular multitrack sound recording/editing app Audacity[6]. Numark shipped it for several years with Numark and Ion Audio USB cassette decks and turntables, and there's no question Audacity, being among the more popular FOSS apps out there (not to mention one of its grassroots success stories, in contrast to de-proprietaried projects like Mozilla, LibreOffice, and Qt; it's a standby for podcasters, for example), is a very high quality product. It is also, however, a very intimidating product; its default library of effects and filters is immense and is far beyond anything someone who simply wants to rip an old Sinatra record is going to need. While it seemed at the time a big win for FOSS, and Audacity still supports the gear, Numark gave up on it, preferring to go with its (proprietary, and much simpler) EZ Audio Converter. The nature of the FOSS market is such that a simplified version of Audacity would probably be laughed out of the room before anyone even considered bundling it. [7] I mentioned KDE above as something similar; although the hostility towards GUI environments has died down over the last 20 years, KDE apps still occasionally make the mistake of giving you everything at once without even the benefit of a mode switch between simple and advanced. (And let's not even get started on what you have to know just to run a couple of filters on a photo in The GIMP.)

The simple fact is that there is no way to standardize these things, and since the supply side has grown -- even metastasized -- out of control, there is no way there ever will be. Unless a distribution maintainer makes a decision to focus on one specific design and builds everything accordingly, there will always be a crazy quilt of languages, toolkits, and interface designs. This anarchy does have value on one level -- it's possible to accommodate nearly any programming style, language preference, or design language. However, it also means that there's no way to guarantee a consistent user experience. This of course is a major problem for users, who as a general rule are used to a consistent interface on Mac and Windows platforms and who are likely to find shifting between several different interface designs (and a few programs with no rhyme or reason at all) to be extremely jarring. Standardization? Not a bloody chance. Even if you can get a few maintainers on board, you'll still run into major problems with forks and schisms as egos clash and split up projects. [8] The fact that the Debian software repository is as widely used as it is might actually be an anomaly; as it is, it still has competition.

But all this is about clashing egos. Where does insanity come into this? Well, start with the fact that the geek community in general tends to draw in a large number of people with high raw intelligence but underdeveloped social and reasoning skills. The social dynamics are just plain strange -- most geeks are outcasts of a sort, and all too frequently assume that because they're smart people, they can't be fooled. Ayn Rand obviously appeals heavily to people like this. Many don't understand interpersonal relations above a lizard brain level, which is why Libertarianism is so common among successful geeks. As a result, the social isolation becomes an echo chamber -- as the author of the article mentioned at the top of the page points out, Eric Raymond's view of himself as one of the bright and talented is rather exaggerated,[9] but it radiates throughout his blog writings. This also explains the staggering misogyny of the geek community and the way many gravitate towards groups like the seduction community and transhumanism; once someone's convinced themselves that they're infallible, anything that doesn't go their way is taken as both a slight and a problem to be solved, and those held responsible are treated as enemies. [10]

There's no easy solution to this. Finding people willing to help fix the interface and standardization issues in open source software shouldn't be difficult; the problem is that once they get an idea of what the community is like, they won't stick around. (Artists have egos too.) Decentralized movements have their ups and their downs; the Occupy movement, for example, has a long-standing problem with tinfoil hatters and right-wing extremists, and Anonymous is a big sloppy mess of people, many of whom share nothing but the typically blunt and occasionally alien morality of the *chans. The open source movement is no different; the political aspects of it have drawn a huge population of insane zealots with serious social issues, and it's hard to imagine there ever being an easy -- or any -- solution.

See also[edit]

References[edit]

  1. Torvalds, in fact, is a staunch pragmatist when it comes to FOSS software; he does believe strongly in it, but he eschews zealotry for the most part and chose not to use the GPLv3 because he didn't like some of the changes around patent law.
  2. http://web.archive.org/web/20110720131647/http://www.rickharrison.com/language/farewell.html
  3. Git], interestingly enough, is the result of a political shitstorm created by the divergence in philosophies between FOSS and commercial software; when Andrew Tridgell pissed off Larry McVoy, the owner of the Bitkeeper source control system that Linus had been (controversially) using for the Linux kernel, by reverse-engineering the Bitkeeper protocol, Torvalds created Git in the aftermath to give him capabilities that he'd previously relied on in the proprietary Bitkeeper that didn't exist in any of the free source control systems available at the time. Ironically, McVoy was among the earlier voices calling for making Unix source code generally available, at least in part to promote transparency as an advantage over Microsoft's closed Windows NT system.
  4. If you want to understand the Mac philosophy, you can't do any better than Andy Hertzfeld's website, Folklore.org.
  5. One of the single most bizarre failures in the FOSS community to understand the product aspect came from the VLC on iOS fiasco. A well-received port of the popular media player was posted on the iOS App Store, but was pulled in January 2011 over a licensing dispute; one of the developers, Rémi Denis-Courmont, felt that the App Store's requirements conflicted with the GPLv2 (VLC's chosen license) and demanded that it be pulled. Denis-Courmont made a point of disregarding user response, claiming Applidium (the company responsible for the port) essentially scammed users. Needless to say, quite a lot of people did not agree with this point; Denis-Courmont's "victory" came off to users as being spiteful and self-destructive. VLC remains available for iOS devices, but only jailbroken ones...
  6. http://audacity.sourceforge.net
  7. An older example might be GNU Chess, one of the oldest parts of Stallman's GNU project. It's either "easy" (i.e. snap judgements only) or "hard" (balls-to-the-wall master level). If winning at chess is important to you, GNU Chess is not your opponent of choice.
  8. In fact, just such a thing is happening right now in the Ubuntu community, where people who don't like Ubuntu's choice of the Unity desktop are deserting en masse for Linux Mint, an Ubuntu fork that stayed with a straight GNOME interface.
  9. Raymond's stewardship of Fetchmail was noted for a lack of responsiveness and some design decisions that were reversed by its next group of maintainers, and his dismal performance as a forensic hacker in the Climategate mess led some to wonder whether he knew much of anything at all about coding.
  10. Richard Stallman's 2009 public excommunication of GNOME and Mono creator Miguel De Icaza -- apparently solely for having the temerity to bring the C# language to Linux with a noninterference promise from Microsoft -- is a rather notorious example.