Investigating the role of social media in open source software communities

Stream 10: Technology, eLearning and Virtual HRD

Submission type: Working Paper

Authors:

Zeta Dooly

Research Engineer/ DBA Candidate
TSSG
Waterford Institute of Technology
Tel:+353(0)51 302943
EMail: :

Kenny Doyle

Research Engineer/ PhD Candidate
TSSG
Waterford Institute of Technology
Tel:+353(0)51 302943
EMail:

Abstract

Since it’s advent in the 1980’s, Open Source Software (OSS) has become widespread and is used by an ever increasing number of software users and developers to the point that it has become a core component in many global technological architectures. The shift towards open source has had noticeable effects on organisational thinking and how collective efforts are managed, organised and executed. Typically, open source software development teams have a common interest and they develop software using information and communication technologies (ICT) as their primary modes for communication. The OSS can be distributed, viewed, used and modified within specific license constraints. These communities produce vast amounts of data, information and knowledge, which become publicly archived data stores, often leveraged by future OSS developers (Guzzi et al 2013, Wang et al 2013, Correa and Sureka 2013, Galster and Tofan 2013, Pagano and Maalej 2012, Yang et al 2013, Sharif 2012). Recent evidence shows that OSS communities worldwide have adopted social networking, software and media as part of their overall ICT toolbox, establishing them as key communication channels for information sharing, project updating, motivating developers and crowdsourcing. However, how open source communities leverage social media for example, microblogging, is not yet well understood (Wang et al 2013). This paper will look at OSS as an organisational form, paying particular attention to how developments in the use of social media have facilitated it, and how these virtual modes of communication have contributed to the apparent unbundling of some organisational practices.

Introduction

The motivation for this research stems from an interest in ongoing changes within the software development environment where technological advancement has revolutionised the approach to the practices and behaviours of software developers. OS components form critical infrastructure in global technical architectures and the different practices in relation to communication, knowledge management and software development activity are not very well understood. Indeed, the emergence of Virtual Communities of practice (VCOP) and networks of practice (NOP) depend much on the existence of historic data in searchable formats to socialise new entrants and troubleshoot issues. With vast amounts of data generated by OSS communities it is relevant to question the usefulness of social media activity and explore the trends for different communities.

Historically structured software development methods such as waterfall formed the backbone of software development in varying degrees of formal and informal process-orientated fashions. Development has now moved beyond distributed software development in global offices through to hybrid development models outside the core business organisational structure. These new hybrid structures include volunteers and Open Source (OS) communities as well as integrating existing OS components into new products and services. There is much diversity of products and services developed by OS communities and it is clear that their working methods differ from those of traditional closed source practices. One of the key differentials in OSS working methods is the temporal and spatial dispersion of the workforce; this is facilitated by the use of the internet in general and social media in particular for purposes of communication. OS products and services are developed by a diverse array of actors including individuals working in their spare time as well as profit and non-profit orientated organisations.

What is Open Source?

The movement for Open Source software was spearheaded in the early 1980’s by copyright campaigner Richard Stallman. Free (Libre) and Open Source Software (F/OSS, OSS, FLOSS) is software that is licensed to grant the right of users to use, study, change, and improve its design through the availability of its source code. To clarify, even though closed source software (CSS) development can be developed in a similar way to OSS, a differentiating factor is that the development team is often both geographically and organisationally distributed, this is described as community based development (Joo et al 2012; Von Hippel and Von Krogh 2001).

Prior to this, software was developed within organisations and the programming source code which was deemed to be intellectual property was closely guarded by its proprietors. Due to this fact software was released as an executable file only and the source code was kept as a trade secret. The name open source is taken from the primary request of the original movement, namely that software packages released to the market also release the source code so that programmers could modify it to suit their own needs and requirements. Some of the benefits of OSS include a rapid turnaround time for resolution of bugs or problems with software and flexibility for users to enhance the software and tailor it to their own specifications. However, one of the main benefits cited during the first wave of open source software implementations was the cost; contrary to closed source code an initial up-front license payment was not enforced. As a result, the volume of research in this area rapidly grew particularly exploring the business and economic impact (Morgan and Finnegan, 2007). Early versions of OSS followed this pattern where established software developers publically released source code along with their programs and allowed users to modify and debug the existing program.

Evolution of Open Source

As the OSS movement matured the parameters which defined it broadened to include development projects which were open source from the outset. One of the key drivers in this move was the widespread adoption of the internet as it became far easier for communities to gather and marshal their resources in the one direction necessary for creating a purposeful and communal effort.

While the original type of OSS was initially developed behind the closed doors of a software company and then released along with its source code allowing users to modify it; newer versions of OSS projects originated from the internet. They began in various chat rooms, message boards and forums where a project was outlined and technical contributions were sought from potential collaborators. The outputs of these projects were usually given away for free and with the increasing prevalence of OSS came an ever expanding repository of software which was free and available to use as building blocks for other developments. These developments included other new OS projects but crucially they also include software development projects which although carried out by established organisations, integrated components from OS repositories into their new products. How OS software is integrated as a component into core products is an interesting area; there needs to be confidence that the component adopted meets the overall product acceptance criteria in terms of various pre-defined elements such as reliability, quality, and trustworthiness.

Communication in Open Source Networks

As has been outlined above, OSS networks are spatially and temporally dispersed with participants in the development process rarely meeting each other in a face to face context. This bears some resemblance to a typical globally dispersed software development team, but the complexity lies in the organisational management aspects of being part of an organisation and being part of a community of developers. OSS contributors are spatially dispersed in as far as they are often physically located in geographically different places; and they are temporally dispersed in as far as they rarely work on the OSS project at the same time as each other. Working practices in most traditional organisations mean that people mostly work in the same place at the same time, meaning that there are set business hours during which work is done, and it is done in a defined geographical location. This means that communication in such instances is face to face with supporting documentation used to keep records. OS networks which are by their nature dispersed across time zones, must rely on written communication between members. In the era before the widespread adoption of social networking sites, such networks predominantly used message boards, emails and newsletters to communicate. The advent of social networking however means that there are a range of real-time options now available for communicating in OSS networks with the mode of communication being determined by a number of factors such as target audience, message complexity, and size.

Awareness of what other programmers are doing, access to knowledge, issue management and coordination of tasks are some of the scenarios where communication is critical. Yet in cases where the OSS project is designed in a modular fashion people can take their section of the work and go it alone until they need assistance or have work to submit. Indeed it is where critical junctures arise that developers refer to online resources to overcome challenges (Dabbish et al 2012). They ascertain that generally people seemed to work independently until certain events brought them together, making the dependency more salient, such as when a potentially problematic change would show up in the feed, or when a pull request would create problems for other aspects of the code.

Studies have highlighted the challenges that developers face while programming. In some cases there is a requirement for implementation specific detail and while programming there is a need to know what others are doing in the same module. Tools that provide concurrent versioning system (CVS) services such as SVN can support code management but design issues and architecture considerations are quite complex to support. These activities are closely tied to innovation. There is sufficient evidence to show that access to online resources such as information repositories and communication tools can alleviate some of the issues (Correa & Sureka 2013, Dabbish et al 2013, Muller et al 2012). Studies referring to coordination tools are not common in the literature (Crowston, 2012). The coordination of team activities can be managed through issue management tools but this risks the prioritisation of short-term fixes over system design. Singh et al 2011 (cited in Yang et al 2013) argue that allocating knowledge resources through digital social network techniques helps developers to design better software. This research is in search of further evidence to illustrate that social media communication can impact software development. Further Yang et al (2013) contend that OSS project success is mainly dependent on its measurements and determinants, and that the impacts of digital communication are still fragmented.

Media choice for the different types of communication activity can be a key factor in gaining the momentum required to ensure project success, increase productivity levels, or support innovation, often the metrics under scrutiny in such scenarios. It is clear from the literature that the media choice is a determinant factor, its transparency can affect innovation (Dabbish 2012, Fiji and Saunders, 2011), interpretation of signals can affect decision-making (Tsay 2013) and it can help manage teams effectively (Figi and Saunders 2011). Figure 1 below illustrates the research problem, contextual environmental considerations and alludes to possible solution areas.

Figure 1: Influending factors in Open source communication

The literature suggests that there has been a shift in communication habits of OSS developer communities to issue repositories and that there is a need for improving communication tools as project developers often have issues in maintaining awareness over their peers’ developments (Guzzi et al 2013 and Tsay et al 2013). Automatically recovering traceability links among communication repositories would free developers from the difficult task of recovering scattered traces of historic communication, and would help researchers giving them a more complete picture of the development process. Thus, it might follow that tools for maintaining awareness could possibly improve developers’ productivity. Figure 1 above shows inputs, challenges and possible solutions to this research challenge and some of the proposed solution areas from the literature.

There are a number of different social media platforms which are used by OSS developers and the choice of which one is used and when is mostly determined according to function. Repositories such as Github allow for projects to be modified and shared by a large community of developers, this means that this resource would be typically used at the development and coding phase. At other phases of an OSS project there may be the need for community building and publicity drives which aim to create awareness of the project in order to attract developers and users. At this stage social networking sites such as Twitter and Facebook are used as a means of publicizing the OSS project. Other non-social network sites (SNS) type modes of communication such as electronic mailing lists are also used as a means of keeping developers informed of developments and updates in the overall project, and other message board style methods of communication are also used for this purpose. In a traditional style organization the defined structures of collaboration and communication and the norms associated with working within an organization ensure that developers are well informed and are aware of the status and priorities of the project. In the absence of these organizational structures there needs to be other methods of bundling together the myriad strands of communications which are typical in an OSS project.

One of the key differences between an organizationally run project and an OSS project is that of organizational social norms. Norms developed around wage labour relations mean that there are a number of highly codified and regulated standards which must be adhered to by all members of a development team. These standards include those relating to working hours, rates of payment, management structures, work standards and relations of authority to name but a few. These standards are mostly absent in OSS projects because of the fact that they are executed outside of institutional or organizational structures and they often do not involve the exchange of money for labour although there is some evidence to suggest that the volunteer status of OSS developers is also changing as OS companies such as RedHat emerge in the market place and other large industry regularly participate in OSS development activities.

These factors combine to make OSS projects potentially amorphous and lacking in definitive structures of authority as they are geographically dispersed, self- organizing communities. In practice however this form of organisation in OSS communities is uncommon and is rarely associated with successful projects. Instead OSS projects usually have leaders who emerge according to a number of factors including their level of interaction with the project and how successful their work has been. In other instances, leaders are simply the originators of the project but the important factor to be considered is that leaderless, self-organising projects are less likely to succeed, and effective leadership, however it emerges or whatever form it takes is a prerequisite for successful projects. The role of social media is crucial as a communicative enabler in the emergence of leadership, ideas and in the ‘training’ of new members and motivation of members. The following section will describe how communities of practice which are typically found in structured organisations evolve in OSS communities into networks of practice which utilise social media and other forms of networked communications as a means of organising.