Bless Ross for pulling together all of the conversations that emerged from Cory’s 2004 wish. After pulling together the strands, he offers his own perspective and i particularly like his commentary on openness and control.
When we refer to the regulatory forces that include “code,” we’re almost always referring to Lessig and his book of that title. In it, he references code as the architecture of the digital world. It’s a great metaphor, but perhaps we should consider some of the physical issues that surround physical architecture. [If there are any architects out there, pipe in!]
When an architect designs a physical space, there is rarely iteration. I don’t mean to suggest that buildings don’t learn; of course they do. What becomes extensible about a physical architecture is how it can be repurposed. See, the designer, creator and constructor of a physical architecture usually turns over the creation to the users. This is not to say that there’s not a manger of physical architectures, but the manager is rarely the creator. At most, the manager calls upon the constructor to fix or alter something. Seriously, how many architects are there that obsessively design, fix, maintain and control a building?
The distribution of creation, control and use of physical architectures is a truly distributed process. Many architects are probably a bit horrified by how their constituents use their constructions, but they don’t play wack-a-mole with their users (although it is funny to imagine the ghosts of architects past coming out of the walls screaming that a painting is NOT supposed to be placed there). And users are certainly never fully pleased with the creators. I can’t tell you how many Media Lab students damned I.M. Pei and that darn artist who made it impossible to get light in the building or create a feeling of connectivity.
It’s funny because we don’t ask architects to iterate on their creations based on use, but we do ask that they create structures that allow for a variety of different uses. When they don’t, their creations become outdated and unusable. How much of this applies to code?
While the metaphor of code as architecture certainly makes some sense, there are lots of ways in which software architects are not similar to physical architects, both in how they treat their creation, its longevity, its users, etc. But perhaps there are some ways in which they could learn from one another…