Software vs. Art

Jamie Richards asks an intelligent question in response to my essay on
deadly genius in the arts:

I’m not programming-savvy at all, so maybe this is crap… what do you
think about the idea that computer programming is a cultural area
operating under the same conditions that set up the “Modernist
disruption”?

As I understand it, in the proprietary model of software building, a
company patron spends money to create products that are
“comprehensible to the patron’s peers.” In open-source software
building, programmers self-select, working on projects that are
interesting to them (art for art’s sake…). “The breakneck pace of
technological change” certainly applies to this chunk of human
history, as well.

Indeed it does, and your question is both subtle and astute.
However, you’ve missed a crucial difference between software projects
and fine art. Software has to work. Every piece of software
exists in order to achieve some instrumental goal, and can be
evaluated on how well it achieves that goal.

The vast con-game that most of modern art has become relies on a
definition of “art” that equates it with pure expressiveness. The
modern “artist” can say of some randomly ugly artifact “this is my artistic
statement, and if you don’t get it you are simply proving your own
lack of sensitivity and taste”.

Open-source hackers can’t get away with this sort of thing. If
their code is broken and crash-prone or doesn’t meet the functional
spec it claims to, nobody will take it seriously on any level at all
— much less as art. The requirement of engineering competence
has the kind of constraining and filtering effect on open-source
programming that the patronage system once did on pre-Modern art.

The really sharp reader is going to be asking, right about now,
“OK, so what about architecture?”

Architecture is like programming in that it’s a form of art that
operates within powerful functional constraints. Buildings have to
keep the rain off people, and not collapse on their heads. So why
haven’t those requirements prevented modern architecture from falling
into the back-to-zero trap, from blighting the landscape with
thousands of ugly brutalist cuboids?

We may cheerfully admit that some modern architecture is very
lovely; Santiago Calatrava’s or Eero Saarinen’s organiform buildings
come to mind. Nevertheless, to save the argument I’m making, we need
to show some relevant difference between architecture and software design.

One clue is that modern architects have not in fact forgotten how to
make buildings that fulfil the minimum functional requirements. It is only
in the aesthetic face those buildings present to the world that something
bad has happened. On this analogy, the place we should expect open-source
software to have regressed relative to the products of proprietary patronage
is in the specific area of user-interface design.

I have pointed out
elsewhere
that this is open source’s weakest area. But on closer
examination this analogy doesn’t work so well. Almost any software
user interface (UI) is more complicated and much more interactive than
a typical building’s interface — therefore, much more
constrained by the cognitive limitations of human beings; therefore,
designing software UIs is more like engineering and less like art than
designing building UIs. Thus, the idiom of software UIs is less subject
than is architecture to disruption by an expressive but deadly genius.