Friday, August 24, 2012

Autopoietic Code

Autopoietic means, roughly, self-creating. So a system that exhibits autopoiesis is, at least in part, self-maintaining.  Such a system feeds-back its own patterns to determine its future expressiveness.

I'm thinking now of things that many people own and maintain over long periods of time. A common view is that intentional human involvement somehow makes such situations non-autonomous and therefore less legitimate examples of self-ordering principles. But that is a rather anthropometric viewpoint; if it were ants pushing around piles of dirt no one would be questioning whether the bugs and soil together form mutually interdependent parts of the same system.

Seeing the pattern is really a matter of scale. If you look too closely and ignore the environment around the artifacts, you'll probably miss the connections, and miss-attribute the emergent side-effects of feedback loops. Old houses can start to look like Frankenstein monsters from years of small alterations; the feedback happens between the house and successions of owners. Software is like that too, except perhaps in an accelerated timeframe - where it may take decades for the architecture of a house to lose focus, a software project touched my multiple hands quickly turns into a Big ball of mud unless steps are taken to introduce positive feedback.

No comments: