The highest aspiration of software used to be building systems flexible enough for someone else to change. Soon it will building systems capable of changing themselves.