摘要:Technology seems to follow a different type of evolutionary dynamic when compared with biological systems.As pointed out by Francois Jacob, evolution takes place by means of extensive tinkering and does not foresee the future.Engineers will typically have a well-defined purpose and are not—in principle—constrained by the available technological constraints.However, the truth is that technological change shares much more than we might suspect with the patterns and processes displayed by evolution.Using case studies from both protein maps and large-scale software networks, we show that several key traits, such as scale-free structure and modularity, are shared by both man-made and biological evolving systems.Surprisingly, we find convergent evolution in several key features of software systems, indicating that strong constraints are at work.Such constraints force engineers to extensively reuse already constructed parts, thus de facto tinkering with their designs in a way similar to the duplication–diversification mechanism driving genome growth.The evolution of these systems reveals that well-defined patterns are obtained “for free.” Some of them can be properly interpreted as technological spandrels.