Software-Mediated Community Building
Guest Editor's Introduction • Matthew Turk • April 2015
Translations by Osvaldo Perez and Tiejun Huang
Listen to the Guest Editors' Introduction
Virtual communities take on many different forms — from the explicit, by-design communities that form discussion groups and forums to the implicit groups that develop organically in software development, online games, and the like. As technologies grow and change, easing some aspects of communication and neglecting others, these communities’ character and persistence can evolve and change, as well.
I've always found how software communities grow and change to be absolutely fascinating. Understanding the way that individuals join, contribute, and collaborate can provide not only a descriptive but also a tactical understanding that we can leverage to create prescriptive guidelines for successful community growth. The impact of how software shapes that growth and collaborative spirit can provide insight for how to better develop future versions of the software.
The first piece I selected for Computing Now’s April 2015 theme describes the recent sea change in how software developers interact online. In the late 1990s and early 2000s, the concept of "forges" — centralized online systems that provide useful tools to help distributed development teams work together — began to take root among developers, especially in free, libre, and open source software (FLOSS); early pathfinders such as SourceForge and the (self-deployable) Trac software were very commonly used to coordinate software project development. As Megan Squire’s “Forge++: The Changing Landscape of FLOSS Development” illustrates, developers have largely moved away from such approaches in recent years. The article describes this shift in how developers utilize online software, including elements such as distributed version control, pastebins, and so on.
Of course, software’s influence isn’t confined exclusively to traditional "productivity"-focused communities! In “Analyzing Implicit Social Networks in Multiplayer Online Games,” Alexandru Iosup and his colleagues investigate the growth of implicit, possibly ephemeral, social networks in online games. How do the ways that matchmaking systems function in online games influence how individuals connect, play, and form networks? The answer could help us to understand not only the implicit, ephemeral social networks that form within computer games, but more broadly in society as a whole as groups of individuals connect and disperse through situation-driven contact.
One of my particular interests is how communities, drawn together either by the act of developing or of using scientific software, grow, conduct internal project business, resolve conflicts, and most importantly how they thrive or wither. For instance, the Scientific Python community, described by Fernando Perez, Brian Granger, and John Hunter in “Python: An Ecosystem for Scientific Computing,” utilizes both in-person and online mechanisms for fostering and developing community interactions.
In “Crowdsourcing Scientific Software Documentation: A Case Study of the NumPy Documentation Project,” Aleksandra Pawlik and her colleagues study the development of the NumPy project’s technical infrastructure for contributing, editing, and collaborating on documentation. Reducing the barrier to entry and placing both technical and community-driven infrastructure in place to foster new contributions can be incredibly powerful enablers for contributions such as this.
In Stan Ahalt and his colleagues’ “Water Science Software Institute: Agile and Open Source Scientific Software Development,” we learn about the growth of the WSSI's approach to developing technology through agile methodologies. This includes fostering stakeholders’ investment in scientific software and applying agile methods to focused technical developments.
Strengthening communities — particularly those based in open source, free, and libre software — is a task that can often fall to industry partners and leaders. In “Understanding How Companies Interact with Free Software Communities,” Jesus Gonzalez-Barahona and his colleagues study how industry connects with free software communities, examining how technology contributions influence the ways that communities grow and change. Increasingly, websites for startups and even established companies include links to source code; understanding how contributions to that source code are made can influence how members steward and guide the associated communities. Do companies that engage on both a technical and a support level increase community members’ feelings of ownership? Do they allow new contributions and encourage the development of external technologies?
Finally, in “Bridging Software Communities through Social Networking,” Andrew Begel, Jan Bosch, and Margaret-Anne Storey put together a special issue of IEEE Software to examine how software communities interact through social networks, and how those social networks allow cross-collaboration. Like many who work in scientific software development, I often communicate with collaborators via email, Twitter, Google+, Internet relay chat, and other social networks. This piece looks at the forms that such communications take, and how can we harness them to increase productivity and engagement.
Growth and Opportunity
The way we interact online has changed dramatically in the past few years around software development as well as around our lives and hobbies. Understanding how software — both that which we develop and that which we interact with — influences how communities are shaped and grow can help us to better build software that supports communities. By looking critically at such developments, I'm optimistic that we can continue to grow communities and establish a better set of methods for engaging with each other. I hope you find the articles in this month’s theme as enjoyable to read as I did!
M. Turk, “Software-Mediated Community Building,” Computing Now, vol. 8, no. 4, April 2015, IEEE Computer Society [online]; http://www.computer.org/web/computingnow/archive/software-mediated-community-building-april-2015.
Matthew Turk is a research scientist at the National Center for Supercomputing Applications and a research assistant professor in Astronomy at the University of Illinois at Urbana-Champaign. He is the CN liaison to Computing in Science & Engineering magazine. Contact him at matthewturk at gmail dot com.