The New Vernacular
We can't talk about software without borrowing the language of construction. We call ourselves builders, designers, architects and engineers. We speak of structures, spaces, objects, frameworks, levels, partitions, elements, components and platforms. We assemble developing software into builds. Finished work takes on the rhetoric of real estate when we build sites with addresses and locations.
So what's going on here, beyond promiscuous linguistic leverage? For a while I've insisted that it means the software industry is maturing into a construction industry—one defined by skilled and reputable practitioners rather than by the sole-source suppliers we call “platform providers”. In a mature software industry, Microsoft will be no more or less important than, say, Georgia Pacific or Kaufman & Broad.
In the construction industry, open source is standard. When building materials and methods aren't secret, there's more to talk about, more people involved in the conversation and more people contributing to the improvement of those materials and methods. This is a bit more low-falutin' than the peer review process that Eric Raymond talks about, but it's the same thing. Peer review happens constantly in every living, growing industry, at every level. Consider Architectural Graphic Standards, a sourcebook for design and construction details first published in 1932. More than half its contents are new or revised every seven years.
The software industry is just a few decades old while construction is as old as civilization itself. This suggests we might have a few things to learn from the senior industry. Richard Gabriel seems to agree. In Patterns of Software (Oxford Paperbacks, 1996) he extols the virtues of building software for “habitability”. His structural ideal is a New England farmhouse:
The result is rambling, but each part is well-suited to its needs, each part fits well with the others....The inhabitants are able to modify their environment because each part is built according to the familiar patterns of design, use and construction and because those patterns contain the seeds for piecemeal growth.
In How Buildings Learn (Penguin Books, 1994), Stewart Brand calls the New England farmhouse a perfect example of “vernacular” construction. He writes:
What gets passed from building to building via builders and users is informal and casual and astute. At least it is when the surrounding culture is coherent enough to embrace generations of experience.
Vernacular is a term borrowed since the 1850s by architectural historians from linguists, who used it to mean the native language of a region....It means common in all three senses of the word—widespread, ordinary and beneath notice.
In terms of architecture, vernacular buildings are seen as the opposite of whatever is academic, high style, polite. Vernacular is everything not designed by professional architects—in other words, most of the world's buildings....Vernacular building traditions have the attention span to incorporate generational knowledge about long-term problems such as maintaining and growing a building over time. High-style architecture likes to solve old problems in new ways, which is a formula for disaster....
Vernacular buildings evolve. As generations of new buildings imitate the best of mature buildings, they increase in sophistication while retaining simplicity.
Is UNIX vernacular? Here's what Neal Stephenson says in his book In the Beginning Was the Command Line (Morrow, William & Co., 1999):
The filesystems of UNIX machines all have the same general structure. On your flimsy operating systems, you can create directories (folders) and give them names like Frodo or My Stuff and put them pretty much anywhere you like. But under UNIX the highest level—the root—of the filesystem is always designated with the single character “/” and it always contains the same set of top-level directories:
and each of these directories typically has its own distinct structure of subdirectories. Note the obsessive use of abbreviations and avoidance of capital letters; this is a system invented by people to whom repetitive stress disorder is what black lung is to miners. Long names get worn down to three-letter nubbins like stones smoothed by a river.
It is this sort of acculturation that gives UNIX hackers their confidence in the system, and the attitude of calm, unshakable, annoying superiority. Windows95 and MacOS are products, contrived by engineers in the service of specific companies. UNIX, by contrast, is not so much a product as it is a painstakingly compiled oral history of the hacker subculture.
Vernacular architecture is the opposite of what Brand calls “Magazine Architecture”, architecture as art, rather than as craft. Here's the difference, according to Henry Glassie: “If a pleasure-giving function predominates, it is called art; if a practical function predominates, it is called craft.” It's hard to imagine anything more crafty and practical than a command-line interface.
Stewart Brand finds a lot of craft in what he calls “Low Road” buildings, which tend to be “low visibility, low-rent, no-style”. He says, “Most of the world's work is done in Low Road buildings...and even in rich societies the most inventive creativity, especially youthful creativity, will be found in Low Road buildings, taking full advantage of the license to try things.”
So, it's hardly a coincidence that Brand's ideal Low Road building is MIT's Building 20, where “The Tech Model Railroad Club on the third floor, E Wing, was the source in the early 1960s of most of the first generation of computer hackers who set in motion a series of computer technology revolutions (still in progress).”
We tend to think of revolutions as rapid, but the revolution that started in MIT's Building 20 predates Moore's Law, which was first published in 1965. It also predates the software industry by almost a generation. Any way you look at it, the hacker subculture has served as a cultural foundation for computing for a very long time. It has also persisted in a comparatively stable form while commercial fashions and revolutions have come and gone, again and again. I'm not saying UNIX does not have a commercial side; just that its cultural foundations are deeper than commerce.
In The Clock of the Long Now (Basic Books, 1999), Stewart Brand sorts civilization into six layers that change at different rates over time.
From bottom to top they range from slow to fast. “The fast layers innovate”, he says. “The slow layers stabilize. The whole combines learning with continuity.”
This puts both hacker culture and software commerce into a fresh and interesting perspective. Positioned one level above nature, hacker culture is often concerned with the natural qualities of software. The GNU Manifesto, for example, says free software is “just like air”. Going up one level to governance, we find the hacker culture's obsessive concern with license agreements. These agreements manifest one layer up in infrastructure: software and protocols (a form of both governance and cultural agreement) that increases in value as it approaches ubiquity.
I don't think it's a stretch to say that hacker culture has a natural understanding of what makes software truly valuable. We see manifest in the Internet, which possesses three almost natural qualities: nobody owns it, everybody can use it and anybody can improve it.
These are built into the Net—and into free software development tools and licenses—for everybody and for fundamentally social reasons. That's why the GNU Project says, “people should be free to use software in all the ways that are socially useful.” This is embodied not only in the GNU tools and other free software, but in Linux, BIND, TCP/IP, sendmail, Apache, Jabber and SOAP—all of which (for the most part) nobody owns, everybody can use and anybody can improve.
These are values that do not—and cannot—come from business. They are not commercial values. However, the layer of software civilization we call commerce depends on the social infrastructure that has grown up out of the hacker culture and UNIX in general. This obviously includes the Net but also lots of other practical and ubiquitous stuff that's free as air.
It is important to understand how these layers relate because a lot of misunderstandings and bad decisions get made when, say, commercial interests attempt to impose self-interested infrastructure, or when governance attempts to socialize commerce.
Michael Polanyi says “comprehensive entities [such as civilization] are logical combinations of levels of reality”, and there are principles—boundary conditions—by which each lower level supplies conditions on which upper levels depend. Phil Mullins puts it this way: “A lower level imposes restrictions within which a higher level can come to operate; the lower level establishes boundaries but leaves open possibilities. The higher level cannot be exhaustively described in terms of the lower level...no level can gain control over its own boundary conditions and hence cannot bring into existence a higher level.” This is why the Net didn't create e-commerce, yet e-commerce depends utterly on the Net.
So, while the Free Software movement might appear anticommercial to many in the purely commercial sector of the software industry, in fact, it just isn't very interested in what happens at the commercial level, and is even less interested in what happens way up on the fashion level. There are more enduring, more purely cultural, more natural concerns.
When we look at the boundary conditions that flank infrastructure, we also see why software companies run into problems when they try to civilize their industry from the top down. Microsoft may have been successful at this but only temporarily. These days all of us, including many at Microsoft, are starting to feel software getting civilized from the bottom up, thanks to the Net and the culture that built it.
We see progress today in protocols like SOAP and XML/RPC, which were developed to support publishing on the Web (so, for example, you can write simultaneously for multiple sites other than your own). They're wide open and available to everybody. Dave Winer and his company, Userland, were involved in both efforts. So were Microsoft and Developmentor, a training and education company. When I asked Dave how the efforts went, he said, “Working with Microsoft and Developmentor on both projects was the best collaborative development experience I have ever had.”
Microsoft comes from personal computing and always will. But it has to thrive in a world where computing is more and more social. And social computing has been built into UNIX since the beginning.
For software businesses, Craig Burton says, “the real challenge is to create ubiquitous infrastructure while generating shareholder value”. It isn't easy, but it helps to do two things. One is comply with your own engineers, who are busy making infrastructure whether you like it or not. That's what IBM did when it embraced Linux: a phenomenon that was growing like wildfire inside its own enterprise. The other is to recognize what works over the long term. The Long Now Foundation proposes seven guidelines for a long-lived, long-valuable institution:
Serve the long view (and the long viewer).
Mind mythic depth.
Ally with competition.
Take no sides.
Institutions do learn—even the ones obsessed with art and fashion. Take Apple. Perhaps the most significant item among Apple's many rollouts early this year was the farthest from fashion and, therefore, the least reported. It happened down at the level of governance. After seventy thousand hackers jumped in to improve Apple's BSD-derived Darwin OS, Apple responded by adjusting its source code license in the direction of “the nature of things”. The new license may not be a clone of the GPL but it's a whole lot closer. Chris Bourdon, the Product Manager for OS X, told me, “You do take Darwin and do anything you like. It's there for everybody.”
Of course it is. It's UNIX.
Doc Searls is senior editor of Linux Journal and coauthor of The Cluetrain Manifesto.
Doc Searls is Senior Editor of Linux Journal
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- A Topic for Discussion - Open Source Feature-Richness?
- Dynamic DNS—an Object Lesson in Problem Solving
- Home, My Backup Data Center
- Please correct the URL for Salt Stack's web site
1 hour 56 min ago
- Android is Linux -- why no better inter-operation
4 hours 11 min ago
- Connecting Android device to desktop Linux via USB
4 hours 39 min ago
- Find new cell phone and tablet pc
5 hours 38 min ago
7 hours 6 min ago
- Automatically updating Guest Additions
8 hours 15 min ago
- I like your topic on android
9 hours 1 min ago
- This is the easiest tutorial
15 hours 37 min ago
- Ahh, the Koolaid.
21 hours 16 min ago
- git-annex assistant
1 day 3 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?