A Methodological Framework for Socio-Cognitive Analyses of Collaborative Design of Open Source Software

  • Warren Sack
  • Françoise Détienne
  • Nicolas Ducheneaut
  • Jean-Marie Burkhardt
  • Dilan Mahendran
  • Flore Barcellini
Article

Abstract

Open Source Software (OSS) development challenges traditional software engineering practices. In particular, OSS projects are managed by a large number of volunteers, working freely on the tasks they choose to undertake. OSS projects also rarely rely on explicit system-level design, or on project plans or schedules. Moreover, OSS developers work in arbitrary locations and collaborate almost exclusively over the Internet, using simple tools such as email and software code tracking databases (e.g. CVS).

All the characteristics above make OSS development akin to weaving a tapestry of heterogeneous components. The OSS design process relies on various types of actors: people with prescribed roles, but also elements coming from a variety of information spaces (such as email and software code). The objective of our research is to understand the specific hybrid weaving accomplished by the actors of this distributed, collective design process. This, in turn, challenges traditional methodologies used to understand distributed software engineering: OSS development is simply too “fibrous” to lend itself well to analysis under a single methodological lens.

In this paper, we describe the methodological framework we articulated to analyze collaborative design in the Open Source world. Our framework focuses on the links between the heterogeneous components of a project’s hybrid network. We combine ethnography, text mining, and socio-technical network analysis and visualization to understand OSS development in its totality. This way, we are able to simultaneously consider the social, technical, and cognitive aspects of OSS development. We describe our methodology in detail, and discuss its implications for future research on distributed collective practices.

Keywords

empirical studies methodology software development open source 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barcellini F., Détienne F., Burkhardt J.-M., Sack W. (2005). A Study of On-line Discussions in Open-Source Software Community: Reconstructing Thematic Coherence and Argumentation from Citation Practices. In: van den Besselaar P., de Michelis G., Preece J. and Simone C. (eds), Communities and Technologies 2005. Dordrecht, The Netherlands, Springer, pp. 301–320Google Scholar
  2. Bowman, I.T., C. Richard and R.C. Holt (1998): Software Architecture Recovery using Conway’s law. In Proceedings of the 1998 Conference of the Centre for Advanced Studies on Collaborative Research Google Scholar
  3. Bourret, P., A. Mogoutov, C. Julian-Reynier and A. Cambrosio (forthcoming): A New Clinical Collective for French Cancer Genetics: A Heterogeneous Mapping Analysis, Science, Technology, and Human Values Google Scholar
  4. Callon M. (1986): Some Elements of a Sociology of Translation: Domestication of the Scallops and the Fishermen of St. Brieuc Bay. In J. Law (ed), Power, Action, and Belief: A New Sociology of Knowledge? London, Routledge and Keegan Paul, pp. 196–229Google Scholar
  5. Coleman E.G. (2001). High-tech guilds in the era of global capital. The journal for the anthropology of work 22(1): 28–32CrossRefGoogle Scholar
  6. D’Astous P., Détienne F., Robillard P.N., Visser W. (2004). Changing Our View on Design Evaluation Meetings Methodology: A Study of Software Technical Evaluation Meetings. Design studies 25: 625–655CrossRefGoogle Scholar
  7. Détienne, F., J.-F. Boujut, and B. Hohmann (2004): Characterization of Collaborative Design and Interaction Management Activities in a Distant Engineering Design Situation. COOP 2004 Google Scholar
  8. Détienne F., Martin G., Lavigne E. (2005). Viewpoints in Co-design: A Field Study in Concurrent Engineering. Design Studies 26(3): 215–241CrossRefGoogle Scholar
  9. Divitini, M., L. Jaccheri, E. Monteiro and H. Traetteberg (2003): Open Source Process: No Place for Politics? In Proceedings of the 3rd Workshop on Open Source Software Engineering, Portland, OR, pp. 39–44Google Scholar
  10. Ducheneaut, N. (2003): The Reproduction of Open Source Software Communities. Unpublished Ph.D. thesis. University of California, Berkeley, CAGoogle Scholar
  11. Ducheneaut N. (2005). Socialization in an Open Source Software Community: A Socio-technical Analysis. Computer Supported Cooperative Work 4(4): 323–368CrossRefGoogle Scholar
  12. Eklundh, K. and H. Rodriguez (2004): Coherence and Interactivity in Text-based Group Discussions around Web Documents. In Proceedings of the 37th Hawaii International Conference on Systems Sciences Google Scholar
  13. Fogel, K. (1999): Open Source Development with CVS: Learn How to Work with Open Source Software. The Coriolis GroupGoogle Scholar
  14. Gacek C., Arief B. (2004). The Many Meanings of Open Source. IEEE Software 21(1): 34–40CrossRefGoogle Scholar
  15. Gasser, L., W. Scacchi, G. Ripoche and B. Penne, (2003): Understanding Continuous Design in F/OSS Projects. In Proceedings of the 16th International Conference on Software Engineering and Its Applications (ICSSEA-03). Paris, FranceGoogle Scholar
  16. Ghosh, R. and V.V. Prakash (2000): The Orbiten Free Software Survey. First Monday, vol. 5, no. 7Google Scholar
  17. Gonzalez-Barahona, J.M., L. Lopez and G. Robles (2004): Community Structure of Modules in the Apache Project. In Proceedings of the 4th International Workshop on Open Source Software Engineering. Edinburgh, Scotland, pp. 44–48Google Scholar
  18. Halliday M.A.K. and Hasan R. (1976). Cohesion in English. New York, LongmanGoogle Scholar
  19. Herbsleb, J.D., H. Klein, G.M. Olson, H. Brunner, J.S. Olson, and J. Harding (1995): Object-oriented Analysis and Design in Software Project Teams. In F. Détienne and R. Rist (eds.): Special Issue on Empirical Studies of Object-oriented Design. Human–Computer Interaction, vol. 10, nos. 2 and 3, pp. 249–292Google Scholar
  20. Herbsleb, J. and R.E. Grinter (1999): Architectures, Coordination, and Distance: Conway’s Law and Beyond. IEEE Software, September/October 1999, pp. 63–70Google Scholar
  21. Herring, S. (1999): Interactional Coherence in CMC. Journal of Computer-Mediated Communication, vol. 4, no. 4Google Scholar
  22. Krishnamurthy, S. (2002): Cave or Community? An Empirical Examination of 100 Mature open Source Projects. First Monday, vol. 7, no. 6Google Scholar
  23. Latour B. (1987). Science in Action: How to Follow Scientists and Engineers through Society. Cambridge, MA: Harvard University PressGoogle Scholar
  24. Lave J., Wenger E. (1991). Situated Learning: Legitimate Peripheral Participation. New York, NY, Cambridge UniversityGoogle Scholar
  25. Madey, G., V. Freeh and R. Tynan (2004): Modeling the F/OSS community: A Quantitative Investigation. In S. Koch (ed.): Free/Open Source Software Development. Idea PublishingGoogle Scholar
  26. Mahendran, D. (2002): Serpents and Primitives: An Ethnographic Excursion into an Open Source Community. Unpublished Masters thesis. University of California, Berkeley, Berkeley, CAGoogle Scholar
  27. Mockus A., Fielding R.T., Herbsleb J. (2002). Two Cases Studies of Open Source Software Development: Apache and Mozilla. ACM Transactions on Software Engineering and Methodology 11(3): 309–346CrossRefGoogle Scholar
  28. Nonnecke, B. and J. Preece (2003): Silent Participants: Getting to Know Lurkers Better. In D.␣Fisher and C. Lueg (eds.): From Usenet to Cowebs: Interacting with Social Information Spaces. Springer VerlagGoogle Scholar
  29. Olson G.M. and J.S. Olson (2000). Distance Matters. Human–Computer Interaction 15: 139–178CrossRefGoogle Scholar
  30. Olson G.M., Olson J.S., Carter M.R. and Storrosten M. (1992). Small Group Design Meetings: An Analysis of Collaboration. Human–Computer Interaction 7: 347–374CrossRefGoogle Scholar
  31. Osterlie, T. (2004). In the Network: Distributed Control in Gentoo Linux. In Proceedings of the 4th International Workshop on Open Source Software Engineering, Edinburgh, Scotland, pp. 76–81Google Scholar
  32. Popolov, D., M. Callaghan and P. Luker (2000): Conversation Space: Visualizing Multi-threaded Conversation. In Proceedings of avi 2000, Palermo, ItalyGoogle Scholar
  33. Raymond, E.S. and B. Young (2001): The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. O’Reilly & AssociatesGoogle Scholar
  34. Reid E. (1999). Hierarchy and Power: Social Control in Cyberspace. In M.A. Smith and P. Kollock (eds): Communities in Cyberspace. New York: RoutledgeGoogle Scholar
  35. Ripoche, G. and J.-P. Sansonnet (this issue): Experiences in Automating the Analysis of Linguistic Interactions for the Study of Distributed Collectives. In Journal of Computer-Supported Cooperative Work Google Scholar
  36. Robles-Martinez, G., J.M. Gonzalez-Barahona, J. Centeno-Gonzalez, V. Matellan-Oliveira and L. Rodero-Merino (2003): Studying the Evolution of Libre Software Projects Using Publicly Available Data. In Proceedings of the 3rd Workshop on Open Source Software Engineering, Portland, OR, pp. 111–116Google Scholar
  37. Sack W.(2001). Conversation Map: An Interface for Very Large-Scale Conversations. Journal of Management Information Systems, Winter 17(3): 73–92MathSciNetGoogle Scholar
  38. Sack, W., N. Ducheneaut, D. Mahendran, F. Detienne and J.-M. Burkhardt (2003): Social Architecture and Technological Determinism in Open Source Software Development. Paper presented at the International 4S Conference: Social Studies of Science and Society, Atlanta, GAGoogle Scholar
  39. Sandusky, R.J. and L. Gasser (2005): Negotiation and the Coordination of Information and Activity in Distributed Software Problem Management. In K. Schmidt, M. Pendergast, M.␣Ackerman, and G. Mark (eds.): Proceedings of the 2005 International ACM SIGGROUP Conference on Supporting Group Work. New York, USA: ACM Press, pp. 187–196Google Scholar
  40. Scacchi, W. (2004): Socio-technical Interaction Networks in Free/Open Source Software Development Processes. In S.T. Acuna and N. Juristo (eds.): Peopleware and the Software Process. World Scientific PressGoogle Scholar
  41. Star, S.L. (1995): Ecologies of Knowledge: Work and Politics in Science and Technology. State University of New York PressGoogle Scholar
  42. Stempfle J. and P. Badke-Schaub (2002): Thinking in Design Teams – An Analysis of Team Communication. Design Studies 23: 473–496CrossRefGoogle Scholar
  43. Teil, G. and B. Latour (1995): The Hume Machine: Can Association Networks Do More than Formal rules? Stanford Humanities Review, vol. 4, no. 2Google Scholar
  44. Tuomi, I. (2001): Internet, Innovation, and Open Source: Actors in the Network. First Monday, vol. 6, no. 1Google Scholar
  45. Turner V. (1969). The Ritual Process: Structure and Anti-structure. Chicago, Aldine Publishing Co.Google Scholar
  46. Venolia, G. and C. Neustaedter (2003): Understanding Sequence and Reply Relationships within Email Conversations: A Mixed-model Visualization. In Proceedings of Chi2003. Fort Lauderdale, FL: ACMGoogle Scholar
  47. von Krogh G., Spaeth S., Lakhani K. (2003). Community, Joining, and Specialization in Open Source Software Innovation: A Case Study. Research Policy 32(7): 1217–1241CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, Inc. 2006

Authors and Affiliations

  • Warren Sack
    • 1
  • Françoise Détienne
    • 2
  • Nicolas Ducheneaut
    • 3
  • Jean-Marie Burkhardt
    • 2
  • Dilan Mahendran
    • 4
  • Flore Barcellini
    • 2
  1. 1.University of CaliforniaSanta CruzUSA
  2. 2.INRIA, Eiffel Research GroupLe ChesnayFrance
  3. 3.Palo Alto Research Center (PARC)Palo AltoUSA
  4. 4.University of CaliforniaBerkeleyUSA

Personalised recommendations