Book: Decoding Liberation: The Promise of Free and Open Source Software. Samir Chopra and Scott Dexter. Routledge, 2007.
We mentioned this book before, as it is a systematic inquiry into the liberatory potential of free software as a mode of production and governance, that could be applied in other domains. Here’s a review.
As is customary when we want to support an important book, we choose some excerpts to present it as book of the week.
Today’s excerpts show 1) how work organization in Free and Open Source Software is not based on the old division of labor of industrial society, but a much more flexible, ‘distribution of labour’; 2) the meaning and beauty of code.
FOSS as distribution of labor:
The FOSS practice of distributing source code and accreting changes submitted by user-programmers is a form of production where the traditional practice of dividing labor among a pool of programmers is enhanced, expanded, and rendered radically flexible. The labor pool for a FOSS project is not limited to a small group of workers, but is expanded, exploiting the Internet, so that the cycle of distribution and accumulation of modifications is orders of magnitude more efficient and effective than the code-sharing of the past. FOSS, that is, relies on “distribution of labor,” an enhanced form of division of labor, by opening the gates of the virtual factory. The organization of this “factory” can be hierarchical, but this governance does not imply a hierarchical imposition of work assignments. . . . To make an industrial analogy, while senior developers often act somewhat like foremen, workers are not told where to go or what to do. Instead, the shop floor is scattered with tools and partially complete work, with copious explicit instructions and advice: anyone can pick up an unassigned programming task, read the documentation, and consult with other workers through e-mail, newsgroups, and chat. Work schedules are very weakly constrained, though there is no guarantee that a worker’s contribution will ultimately be accepted: contributions to work within this “factory” come from all time zones and are accepted on the basis of a meritocratic process. Workers are free to leave with a copy of the product and to open up another manufacturing shop: programmers are always free to fork a development tree. Users are also “workers,” as they may become producers of future versions of the code. Workers’ inspection of each other’s work, combined with effective management, ensures that the energies of an army of programmers, of whatever size, can effectively be focused on solving the problems of creating excellent code.”
Free Software, Beautiful Code, and Collaboration (chapter 3):
“Different fields of creative endeavor have their own aesthetic imperatives: we expect software and its creators to have one that reflects the unique nature of its artifacts. The relationship between the programmer and his source code is grounded in a classical conception of aesthetics, in an ancient connection between objects and art. Classical Greek aesthetics understood art as the knowledge of how to make an object; good art was by definition produced by an artisan proficient in that art. By analogy, good code is that written by a good programmer. A study of the art of software must, therefore, seek to understand how someone becomes a good software artisan. As we will see, the free software aesthetic confirms the converse of the relationship between art and artisan: good coders are produced by good code. . . .
Programming is no more or less collaborative than any other technical discipline. Scientific results must be reproducible. Many experiments depend on hundreds of scientists for their successful execution. But programming is collaborative at a much finer granularity. Programs are modified, extended, improved, recombined. Modern programming languages and techniques, such as the object oriented paradigm, are explicitly intended to facilitate this sort of collaboration. In this sense, code is beautiful to the extent it provides an affordance for collaboration,or shows off its recombinatory potential, by virtue of clean design, readability, and ingenious expression.
The free software approach to collaboration is a remarkable mode of creative production. Here, creators begin work on a piece, but rather than working in relative seclusion, they periodically release perfect copies of their works to their audience. The audience’s response is not limited to mere criticism: audience members may go in different creative directions with their copies of the work, or they may make modifications (possibly improvements) and send these back to the creative originators, who may or may not incorporate these changes as they proceed. In this model, documenting the rationale behind creative decisions is an integral part of the process; it is critical for creators to share their work with others to receive critique, corrections, and modifications embodying a community-wide logic of taste. . . .
In a profound aesthetic move, the free software “apparatus of production” blurs, nearly to the point of invisibility, the conceptual lines between artist and critic, between programmer and user, between owner and licensee. Programmers deprecate any special authorial relationship to their code, effectively saying, “In order to innovate, to create, I do not block you from making it your own.” The pressure to allow others to fix your code (or to be able to tolerate this kind of intrusion) leads to a redefinition of ownership and a humility that will not permit the “test-pilot syndrome”: though it is the artist’s work, his authorship does not grant him exclusive creative control. Exclusive authorial control may be lost, either voluntarily, when the programmer moves on to another project, or involuntarily, through forking.
If you want a copy of the book, drop the authors a line at schopra (or sdexter) AT sci.brooklyn.cuny.edu