Open Source Software; Complex networks; Software architecture; Innovation dynamics; Project organisation; network evolution; technological change; project management
Zanetti Marcelo Serano, Schweitzer Frank (2012), A Network Perspective on Software Modularity, in Proceedings of Architecture of Computing Systems Workshops 2012
Zanetti Marcelo Serrano, Sarigol Emre, Schweitzer F (2012), A Quantitative Study of Social Organization in Open Source Software Communities, in Imperial College Computing Student Workshop 2012
, Schloss Dagstuhl.
Tessone CJ, Zanette DH (2012), Synchronised firing induced by network dynamics in excitable systems, in Europhysics Letters
, 99(6), 68006.
Scholtes Ingo, Tessone Claudio Juan (2012), Organic Design of Massively Distributed Systems: A Complex Networks Perspective, in Informatik Spektrum
, 35(2), 75-86.
Tessone CJ, Geipel MM, Schweitzer F (2011), Sustainable growth in complex networks, in Europhysics Letters
, 96(5), 58005.
Press K, Geipel MM (2010), Vanishing hands? On the link between product and organization architecture, in INDUSTRIAL AND CORPORATE CHANGE
, 19(5), 1493-1514.
Geipel MM, Schweitzer F, Schweitzer F (2009), Software Change Dynamics: Evidence from 35 Java Projects, in Proceedings of the European Software Engineering Conference, ESEC/FSE
, ACM Association for Computing Machinery , New York, USA.
Geipel MM, Tessone CJ (2009), A complementary view on the growth of directory trees, in EUROPEAN PHYSICAL JOURNAL B
, 71(4), 641-648.
Open Source Software (OSS) can be seen as an evolving complex network on two different, but interlinked system levels: First, the product, i.e., the structural level of the software architecture itself. Here, the nodes of the network are given by software modules (such as functions or classes), whereas the links between nodes may describe the type of connection (such as usage or inheritance). Second, the production level, i.e. the level of the social interaction among individuals contributing to the software. Here, the nodes of the network represent the different people involved in the 'production' (such as developers), whereas the links express their various interactions (such as forum communication, or collaboration). As a predominant feature, both of these networks are highly dynamic in addition/deletion of nodes or links to/from the network. Moreover, they do not just change independently, but they coevolve. Hence, understanding the development of OSS puts a challenge on different sciences: Physics, to reveal (a) the structural features and (b) the abstract dynamics of these two networks; Computer Science, to elucidate the Software Engineering principles underlying OSS; Economics/Management Sciences, to understand how decentralized project organisation and self-organized social interaction may eventually result into a successful products.The current project sets out to answer these questions, not separately in a disciplinary manner, but in an integrated, highly interdisciplinary approach. It addresses the specifics of the two different system levels -product and production- and the relation between them, as key to a comprehensive insight into OSS in general, and successfull OSS products in particular. The research is data-driven, i.e. it investigates both: data about the software structure and the growth of OSS products and data about the communication in time of the developers and users of the very same projects, to a detailed extent not seen so far (more than 100.000 projects and about 2 million messages). By revealing these structural and dynamical features and possible similarities between projects very different in size and effort, the project aims at quantifying the determinants of success and failure of such projects -- an insight with potential impact far beyond OSS.