In Chapter 4 of From Coding to Community, I discussed how open source software's struggle with usability can be understood, in part, as a conflict between the procedural tropes of iteration and abstraction. Today, Matt Asay blogged about another important aspect of this struggle: the free software movement's tendency to cling to purity with religious fervor.
Asay is, much like myself, a FOSS pragmatist. He loves and supports open source, but he is less concerned with the ideology than the outcomes. "Using one's computer shouldn't be a religious experience," he writes. "A computer is a tool, and it should just work. Mixing ideology with a utilitarian tool like the personal computer is an exercise in futility...for the developer and for the average end-user." I think Asay goes too far in describing computers as entirely utilitarian, but his emphasis on "use" is spot on.
The Free Software movement, historically, was about liberating users, but as technology has evolved the movement has become more focused on liberating code, sometimes at the expense of users. This shift, however, is not due to a shift in the movement, but rather its failure to keep up with the times. In the early 1980s, when computers and software were expensive and hard to come by, new software was really hard to write, and only technological elites had access to any of it, liberating code DID liberate users.
More than 20 years later, those constraints are no longer the bottleneck. While there is still a digital divide in terms of both hardware and broadband, software is incredibly easy to come by and much easier to write. Rarely am I unable to download, por gratis, an application that fulfills a particular need - sometimes it is open source, sometimes it is proprietary. I tend to error on the side of the open source version, but I have no qualms about embracing a closed application if it is available for free and works better than the alternatives.
The bottlenecks, now, are workflows, integration, and usability. Users are no longer constrained by the difficulty of finding or making software that does cool things; users are constrained by the difficulty of using that software. It is incredibly important that open source software exist in certain areas - particularly operating systems and browsers - because it creates a competitive alternative to the monopolistic tendencies of those area.
The goal of the free software movement is supposed to be user freedom, but free software is not the only route to user freedom, particularly for those users who don't have any interest in learning to code. For those users, freedom comes from usability.