Article Preview
TopIntroduction
In an environment of technological complexity and competitive challenges, software is no longer developed only in-house by a single firm. Instead, there is a collaboration among a community of volunteers, in-house developers, developers from partner companies, universities, and even competitors (Bengtsson & Kock, 2000; Ghobadi & D’Ambra, 2012). Numerous famous firms support OSS projects and cooperate with others (Capiluppi et al., 2012).
This collaboration with competitors has given rise to the concept of “coopetition,” a term describing the coexistence of competition and cooperation and the interaction between companies that have a partial congruence of interests (Linåker et al., 2016; Nguyen Duc et al., 2017). There are many examples of open-source initiatives exemplifying coopetition such as WebKit, Blink, OpenStack, and CloudFoundry (Jansen, Finkelstein, & Brinkkemper, 2009; Teixeira & Lin, 2014; Nguyen Duc et al., 2017). Another example of a large-scale programming cooperation is autonomous vehicles. In this context, the experience of all autonomous cars will train every autonomous car and learning from others’ failure (Wiseman, 2022). The rate of learning and gaining experience is faster with this approach than when compared to a sole human driver whose only training source is personal experience.
There are, however, increasing software development challenges in this space, including the development of essential innovative products, long geographic distances between participants across different time zones, cooperation, and open software standards (Frischbier et al., 2012; Holmstrom et al., 2006; Ouriques et al., 2019; Xia et al., 2016). In addition, considerable participatory development becomes more important as the complexity of software projects increases (Çaglayan & Bener, 2016; Wohlin et al., 2015). These OSS projects also depend significantly on the effective use of basic software components, interactions among people, and the human factors identified as key to successful software projects (Biçer et al., 2011; Chow & Cao, 2008; Holmstrom et al., 2006; Oliveira et al., 2018; Wohlin et al., 2015; Wu & Tang, 2007).
This paper explores the developers’ and organizations’ dynamic informal structure in the TensorFlow (TF) OSS ecosystem over all releases. Employing a case-study approach (Basili et al., 1999), we analyze how collaboration works in the open-source space and, specifically, in the TF OSS ecosystem. We also examine the importance of the top-contributing organizations within the TF OSS ecosystem by considering the social relationship between developers and their affiliations with an organization. The longitudinal case study design is based on applying well-known social network analysis (SNA) techniques, which we use to mine development data over five years. Furthermore, we use the dynamic evolution of the TF networks over time to analyze the characteristics and changing collaboration structures for developers and organizations. Thus, we contribute significantly to closing the software research gap by exploring the role of organizations, developers, sub-communities, and the social network for OSS ecosystems (Abufouda & Abukwaik, 2017; Schreiber & Zylka, 2020). The results reveal new and unexplored aspects of the TF OSS ecosystem that increase our knowledge of informal coordination structures and their evolution with increasing organization participation (Gonzalez-Barahona & Robles, 2013). These aspects are crucial for understanding how a large OSS ecosystem works and help to take appropriate actions if problems emerge, e.g., an ecosystem becomes dominated by a single company. Moreover, the results of this paper are relevant for researchers seeking an overview of TF OSS ecosystem collaboration, insights into ecosystem software development, the role of social networks, and opportunities to contribute to research in this specialized field.