Complex networks emerge under different conditions including design (i.e., top-down decisions) through simple rules of growth and evolution. Such rules are typically local when dealing with biological systems and most social webs. An important deviation from such a scenario is provided by groups, collectives of agents engaged in technology development, such as open-source communities. Here we analyze their network structure, showing that it defines a complex weighted network with scaling laws at different levels, as measured by looking at e-mail exchanges. We also present a simple model of network growth involving nonlocal rules based on betweenness centrality. Our weighted network analysis suggests that a well-defined interplay between the overall goals of the community and the underlying hierarchical organization play a key role in shaping its dynamics.
The analogies and differences between biological and cultural evolution have been explored by evolutionary biologists, historians, engineers and linguists alike. Two well-known domains of cultural change are language and technology. Both share some traits relating the evolution of species, but technological change is very difficult to study. A major challenge in our way towards a scientific theory of technological evolution is how to properly define evolutionary trees or clades and how to weight the role played by horizontal transfer of information. Here, we study the large-scale historical development of programming languages, which have deeply marked social and technological advances in the last half century. We analyse their historical connections using network theory and reconstructed phylogenetic networks. Using both data analysis and network modelling, it is shown that their evolution is highly uneven, marked by innovation events where new languages are created out of improved combinations of different structural components belonging to previous languages. These radiation events occur in a bursty pattern and are tied to novel technological and social niches. The method can be extrapolated to other systems and consistently captures the major classes of languages and the widespread horizontal design exchanges, revealing a punctuated evolutionary path.