Skip to main content
Log in

Exploring the impact of socio-technical core-periphery structures in open source software development

  • Research Article
  • Published:
Journal of Information Technology

Abstract

In this paper we apply the social network concept of core-periphery structure to the socio-technical structure of a software development team. We propose a socio-technical pattern that can be used to locate emerging coordination problems in Open Source projects. With the help of our tool and method called TESNA, we demonstrate a method to monitor the socio-technical core-periphery movement in Open Source projects. We then study the impact of different core-periphery movements on Open Source projects. We conclude that a steady core-periphery shift towards the core is beneficial to the project, whereas shifts away from the core are clearly not good. Furthermore, oscillatory shifts towards and away from the core can be considered as an indication of the instability of the project. Such an analysis can provide developers with a good insight into the health of an Open Source project. Researchers can gain from the pattern theory, and from the method we use to study the core-periphery movements.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9

Similar content being viewed by others

References

  • Alexander, C., Ishikawa, S. and Silverstein, M. (1977). A Pattern Language: Towns, buildings, construction, New York: Oxford Universoty Press.

    Google Scholar 

  • Amrit, C. (2008). Improving Coordination in Software Development through Social and Technical Network Analysis, PhD thesis, University of Twente, Enschede.

  • Amrit, C. and van Hillegersberg, J. (2008). Detecting Coordination Problems in Collaborative Software Development Environments, Information Systems Management 25: 57–70.

    Article  Google Scholar 

  • Baddeley, A. (1994). The Magical Number Seven: Still magic after all these years, Psychological Review 101: 353–356.

    Article  Google Scholar 

  • Borgatti, S.P. and Everett, M.G. (1999). Models of Core/Periphery Structures, Social Networks 21: 375–395.

    Article  Google Scholar 

  • Christley, S. and Madey, G. (2007). Global and Temporal Analysis of Social Positions at SourceForge.net, presented at The Third International Conference on Open Source Systems (OSS 2007) (Limerick, Ireland); Springer IFIP WG 2.13.

  • Cataldo, M., Wagstrom, P., Herbsleb, J.D. and Carley, K.M. (2006). Identification of Coordination Requirements: Implications for the design of collaboration and awareness tools, in Proceedings of the 2006 20th Anniversary Conference on Computer Supported Cooperative Work. Banff; Alberta, Canada: ACM Press.

  • Conway, M. (1968). How do Committees Invent, Datamation 14: 28–31.

    Google Scholar 

  • Coplien, J.O. and Harrison, N.B. (2004). Organizational Patterns of Agile Software Development, Upper Saddle River, NJ, USA: Prentice-Hall.

    Google Scholar 

  • Crowston, K. and Howison, J. (2005). The Social Structure of Free and Open Source Software Development, First Monday, 10.

  • Crowston, K. and Howison, J. (2006). Assessing the Health of Open Source Communities, Computer 39: 89–91.

    Article  Google Scholar 

  • Crowston, K., Howison, J. and Annabi, H. (2006a). Information Systems Success in Free and Open Source Software Development: Theory and measures, Software Process Improvement and Practice 11: 123–148.

    Article  Google Scholar 

  • Crowston, K., Wei, K., Li, Q. and Howison, J. (2006). Core and Periphery in Free/Libre and Open Source Software Team Communications, in Proceedings of the 39th Annual Hawaii International Conference on Systems Sciences – Volume 06. Washington, DC, USA: IEEE Computer Society.

  • de Souza, C., Froehlich, J. and Dourish, P. (2005). Seeking the Source: Software source code as a social and technical artifact, in Proceedings of the 2005 International ACM SIGGROUP Conference on Supporting Group Work (Sanibel Island, Florida, USA); New York, USA: ACM.

  • Ducheneaut, N. (2005). Socialization in an Open Source Software Community: A socio-technical analysis, Computer Supported Cooperative Work (CSCW) 14: 323–368.

    Article  Google Scholar 

  • Emery, F.E. and Trist, E.L. (1960). Socio-technical Systems, Management Science, Models and Techniques 2: 83–97.

    Google Scholar 

  • Everett, M.G. and Borgatti, S.P. (1999). Peripheries of Cohesive Subsets, Social Networks 21: 397–407.

    Article  Google Scholar 

  • Fernandez, C.I.G. (1998). Integration Analysis of Product Architecture to Support Effective Team Co-location, ME thesis, MIT, Cambridge, MA.

  • Freeman, L. (2000). Visualizing Social Networks, Journal of Social Structure 1: 4.

    Google Scholar 

  • Herbsleb, J., Cataldo, M., Damian, D., Devenbu, P., Easterbrook, S. and Mockus, A. (2008). Socio-technical Congruence (STC 2008), in Companion of the 30th International Conference on Software Engineering (Leipzig, Germany); New York, USA: ACM.

  • Herraiz, I., Robles, G., Amor, J.J., Romera, T. and Barahona, J.M.G. (2006). The Processes of Joining in Global Distributed Software Projects, in Proceedings of the 2006 International Workshop on Global Software Development for the Practitioner (Shanghai, China); New York, USA: ACM.

  • Hevner, A.R., March, S.T., Park, J. and Ram, S. (2004). Design Science in Information Systems Research, MIS Quarterly 28: 75–105.

    Google Scholar 

  • Kling, R., McKim, G.W. and Kin, A. (2003). A Bit More to It: Scholarly communication forums as socio-technical interaction networks, JASTIS 54: 47–67.

    Article  Google Scholar 

  • Lee, S.Y.T., Kim, H.W. and Gupta, S. (2009). Measuring Open Source Software Success, Omega 37: 426–438.

    Article  Google Scholar 

  • Lee, G.K. and Cole, R.E. (2003). From a Firm-Based to a Community-Based Model of Knowledge Creation: The case of the Linux kernel development, Organization Science 14: 633.

    Article  Google Scholar 

  • López-Fernández, L., Robles, G., Gonzalez-Barahona, J.M. and Herraiz, I. (2006). Applying Social Network Analysis Techniques to Community-Driven Libre Software Projects, International Journal of Information Technology and Web Engineering 1: 27–48.

    Article  Google Scholar 

  • MacCormack, A., Rusnak, J. and Baldwin, C.Y. (2006). Exploring the Structure of Complex Software Designs: An empirical study of open source and proprietary code, Management Science 52: 1015–1030.

    Article  Google Scholar 

  • Miller, G.A. (1956). The Magical Number Seven, Plus or Minus Two: Some limits on our capacity for processing information, Psychological Review 63: 81–97.

    Article  Google Scholar 

  • Mockus, A., Fielding, R.T. and Herbsleb, J.D. (2002). Two Case Studies of Open Source Software Development: Apache and Mozilla, ACM Transactions on Software Engineering and Methodology 11: 309–346.

    Article  Google Scholar 

  • Moon, J.Y. and Sproull, L. (2002). Essence of Distributed Work: The case of the Linux kernel, Distributed Work 381–404.

  • Nakakoji, K., Yamamoto, Y., Nishinaka, Y., Kishida, K. and Ye, Y. (2002). Evolution Patterns of Open-source Software Systems and Communities, in Proceedings of the International Workshop on Principles of Software Evolution (Orlando, Florida); New York, USA: ACM.

  • Pettey, C. (2008). Gartner Says Increased Disruption Lies Ahead for Operating System Software Market, [www document] http://www.gartner.com/it/page.jsp?id=673308.

  • Raymond, E. (1999). The Cathedral and the Bazaar, Knowledge, Technology, and Policy 12: 23–49.

    Article  Google Scholar 

  • Sosa, M.E., Eppinger, S.D. and Rowles, C.M. (2004). The Misalignment of Product Architecture and Organizational Structure in Complex Product Development, Journal of Management Science 50: 1674–1689.

    Article  Google Scholar 

  • Sosa, M.E. (2008). A Structured Approach to Predicting and Managing Technical Interactions in Software Development, Research in Engineering Design 19: 47–70.

    Article  Google Scholar 

  • Sourceforge Sourceforge.net [www document] http://sourceforge.net/ (accessed 1 March 2009).

  • Subramaniam, C., Sen, R. and Nelson, M.L. (2009). Determinants of Open Source Software Project Success: A longitudinal study, Decision Support Systems 46: 576–585.

    Article  Google Scholar 

  • Survey, W.S. (2008). Web Server Survey, [www document] http://news.netcraft.com/archives/web_server_survey.html (accessed 1 March 2009).

  • Wasserman, S. and Faust, K. (1994). Social Network Analysis: Methods and applications, Cambridge: Cambridge University Press.

    Book  Google Scholar 

  • Xu, J., Gao, Y., Christley, S. and Madey, G. (2005). A Topological Analysis of the Open Source Software Development Community, in Proceedings of the 38th Annual Hawaii International Conference on System Sciences – Volume 07. Washington, DC, USA: IEEE Computer Society.

  • Ye, Y. and Kishida, K. (2003). Toward an Understanding of the Motivation of Open Source Software Developers, in Proceedings of the 25th International Conference on Software Engineering (Portland, Oregon); Washington, DC, USA: IEEE Computer Society, 419–429.

  • Yin, R.K. (2003). Case Study Research: Design and methods, Newbury Park, CA: Sage Publications Inc.

    Google Scholar 

Download references

Acknowledgements

The authors thank Jeff Hicks and the anonymous reviewers for their extensive feedback that was really helpful in structuring and improving this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chintan Amrit.

Appendices

Appendix A

To represent the people and the software in an understandable way, we cluster the software into clusters according to the class level dependencies (Fernandez, 1998) and display who is working at which cluster for the particular time period of the data.

The algorithm we use is shown in Table A1.

Table a1 The algorithm used for clustering the software module DSM (adapted from (MacCormack et al., 2006))

In the above algorithm the vertical buses are those elements in the SM whose ‘vertical dependencies’ (ones in the vertical columns of the SM matrix) to other elements is more than a specific threshold (MacCormack et al., 2006). These elements are important, as they are common functions called by other modules (MacCormack et al., 2006). Once these vertical buses are identified a DependencyCost is assigned to each module, element of SM. This DependencyCost is assigned as follows:

Equation 1: Calculation of the Dependency Cost (taken from (MacCormack et al., 2006))

where d ij is a binary variable indicating dependency between i and j (so in our case it is SM(i, j)+SM(j, i)), n is the size of the cluster when i and j located within the cluster and N is the size of the SM matrix (when i and j are not located in the same cluster). λ is a user-defined parameter and is found by trial and error (depending on the variation of the results) to be optimum at 2. Adding an element to a cluster increases the cost of other dependencies in the cluster (as the size of the cluster increases); hence an element is only added to a cluster when the reduction in the sum of DependencyCosts with the element exceeds the added costs borne by other dependencies (MacCormack et al., 2006).

Now the summation of the DependencyCosts of all the elements of SM gives us the ClusteredCost of the matrix for the particular iteration. Hence the ClusteredCost can be expressed as:

Equation 2: Calculation of Clustered Cost (adapted from ( Fernandez, 1998 ) and ( MacCormack et al., 2006 ))

In equation 2 CC(i) represents the Clustered Cost for the element SM(i, j).

Appendix B

In order to gauge the success of the Open Source projects we studied in this paper, we looked into literature on measuring Open Source success. We came up with two papers, the often cited Crowston et al. (2006a) and the latest and most comprehensive work on the subject, namely Subramaniam et al. (2009). The data collection model used by Crowston et al. (2006a) involves studying the bug tracker and the mailing list of the projects. Since some of the projects (JAIM, Ivy-ssh) do not have either, we decided to use the data collection model of Subramaniam et al. (2009). Subramaniam et al. (2009) measure an Open Source project's success by measuring user interest, project interest and developer interest. They measure user interest by calculating the number of project downloads. We use project downloads and page views (as done by Crowston et al. (2006a)) to measure user interest. We also add the download and page view trend in order to get a more time-variant perspective of user interest. In order to measure the developer interest in the project, Subramaniam et al. (2009) count the number of active developers in the project. We do something similar, and calculate the average number of active developers (per year) contributing to the project. We gather these data from the project's software repository. In order to measure project activity, Subramaniam et al. (2009) calculate the number of files released in the project. We do the same and also augment these data with the project status data taken from Sourceforge (Sourceforge, Retrieved 1st March 2009). The results are shown in Table B1.

Table b1 Some measures of project success taken from (Subramaniam et al., 2009)

When studying user interest in Table B1, one has to keep in mind the findings of Crowston et al. (2006a) (Table 7, p. 142) shown briefly in Table B2.

Table b2 Mean, median and SD values from Crowston et al. (2006a)

When one compares the values of user interest with those in Table B2, it becomes clear that JAIM and Ivy-ssh have not generated much user interest. On the other hand, if one just observes the download and page view trends, then we observe that the projects EIRC, JAIM, Ivy-ssh, Eclipse plugin profiler and Megameknet have downward (D) trends, indicating waning user interest in the projects. On studying the project activity in Table B1, we observe that JAIM, Ivy-ssh and Megameknet have less than three version releases. While observing the development status, one sees that Ivy-ssh, Eclipse plugin profiler and Megameknet are Inactive (7), while JAIM has the development status of beta (4). Finally, looking at the average number of developers in a year working on the project, we observe that EIRC, JAIM and Ivy-ssh have less than one developer on an average working on the project, whereas Eclipse plugin profiler has less than two developers working on the project per year.

Aggregating the three measures of success as described by Subramaniam et al. (2009), we notice that JAIM (though still in beta) and Ivy-ssh are clearly not healthy, whereas EIRC, Eclipse plugin profiler and Megameknet have poor health and are inactive. On the other hand JBoss, jEdit and Jython are clearly healthy and doing well. Here, we must mention that the downturn in the page views for JBoss could be because the project has shifted to another location.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Amrit, C., van Hillegersberg, J. Exploring the impact of socio-technical core-periphery structures in open source software development. J Inf Technol 25, 216–229 (2010). https://doi.org/10.1057/jit.2010.7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1057/jit.2010.7

Keywords

Navigation