Open Source Projects as Communities of Practice

Sep 27, 2009

Miles Berry

It was a great pleasure to attend last Tuesday’s Mirandamod to hear Etienne Wenger discussing communities of practice (CoP), with particular relation to education, both in schools and, particularly, in relation to teachers’ continuing professional development. I’m sure that the CoP approach to CPD is both more fulfilling for the individual and more effective for the profession than the traditional training model of courses and powerpoints that we see so much of: my own professional development has owed far more to colleagues in the various staff rooms, communities and networks with which I’ve been associated, not least MirandaNet, SchoolForge and Naace, than the training courses I’ve occasionally been sent on; I doubt my experience is that unusual.

Mirandamods are a particular style of unconference, bringing something of the reflection of an academic seminar to the participatory, micropresentation format of a teachmeet, and thus I took my turn presenting, taking the above title as my theme.


The larger open source projects, such as moodle (which I used extensively for my examples), drupal, wordpress, firefox and ubuntu have a great deal in common with Wenger and Lave’s notion, which Wenger admitted was certainly not a new one, of the Community of Practice:</div>

  • There is clearly a shared domain – the project, and I guess at its heart, the code itself.
  • Whilst it’s certainly possible to use the code without participating in the community, these big projects have very active communities, happy and eager to “engage in joint activities and discussions, help each other, and share information.”
  • Furthermore, there is, at least because all members of the community share the use of the same code,  a shared practice: members: “develop a shared repertoire of resources: experiences, stories, tools, ways of addressing recurring problems—in short a shared practice”

A few other features of these large open source projects strike me as significant from a CoP perspective:

There are built in steps which make it easy for an individual to move from layman, simply a user of the open source software, to active participant in the project, such as

  • gaining experience installing the software on their computer or to a webserver,
  • contributing to discussion forums
  • contributing to documentation and advocacy
  • spotting bugs and testing beta releases
  • modifying code to customize the operation or fix a bug
  • creating a module to extend functionality – it’s no coincidence that the examples I cite above all have highly modular architecture
  • submitting patches and modules for peer review and incorporation into /contrib or /core repositories.
  • becoming part of the core developer team with commit access to the CVS tree.

This progression offers a very informal sort of apprenticeship, although it’s interesting how many of these project communities allow members to display badges recognizing participation and particular roles (eg Moodle’s developer, partner and ‘particularly helpful moodler’ badges, and Ubuntu’s beans.) The early stages are very close to the notion of legitimate peripheral participation that Lave and Wenger discussed back in 1991. I wonder if we see in these big projects something which has at least some points more in common with the cathedral than the bazaar (qv Raymond 1999)?

Because open source software is free, a gift culture tends to be present (Raymond 1998). The rewards for contributing to open source projects aren’t therefore always, or even mainly, financial, but are more about kudos, the respect of one’s peers. Similarly, as the software’s downloaded for free and is what it is because of the contribution of a community, users perhaps feel that bit more willing to ‘put something back’, embarking on the path to participation in the project’s community of practice.

Whilst community involvement in software projects is something we’re seeing in the world of proprietary code too, for example with sharepoint and frog in the learning platform market and, I guess, iphone apps, access to the source code makes it possible for apprentice open source coders to learn from the work of the master craftsmen in a way that’s not possible through use of APIs and SDKs alone, although Etienne pointed out in his talk at the ‘mod that the master-apprentice relationship is certainly not necessary for a community of practice. Sripting languages such as php make it much easier for even relatively novice coders to see what’s going on behind the scenes and apply customisation and fixes, allbeit at the risk of making things difficult for themselves come the next release of the codebase.

Anyhow, back to the Mirandamod. One thing that I’m sure struck many of us were just how many of the online CoPs described by my fellow Mirandanet fellows were based on Moodle. Moodle might not be the best software for facilitating the development of a CoP, given the distinction its course structure makes between teachers and students, but it had certainly captured the imagination of many of those presenting, allowing some really interesting professional development to take place in a very diverse range of fields. That Moodle is free is part of this, I know, but it’s also worth remembering that Moodle is grounded in a social constructivist paradigm and has evolved to include the tools that educators in many sectors and contexts have come to find most useful. It’s a tribute to Moodle’s flexibility as a platform that teachers are as happy using it with their pupils as they are for their own professional development.

Etienne Wenger himself was inspiring and Leon Cych’s video captures his talk in high quality. He explored concepts that would be familiar to those who’ve read Wenger 1999, but one of my lasting impressions was of how central the social dimension of humanity was to his understanding of learning: that as we’re essentially social beings so our learning is essentially a social process; something I think Moodle captures well. Ettienne also touched on the embedding of organizational knowledge within the social fabric of the organization – something which had struck me too in my work exploring the links between VLEs and knowledge management.  He made some interesting points about the importance of self-government in order to establish trust within a community – these are themes explored in Jono Bacon‘s eminently practical book on the Art of Community (2009) for O’Reilly, and something which Ubuntu has strived to do well, despite (because of?) Mark Shuttleworth‘s position as Self Appointed Benevolent Dictator for Life . There was also an emphasis on the role of identity, I think as something socially constructed, with knowledge as integral to identity; Etienne said it wasn’t about asking what your students can do, but about where they have visited.

I think there’s some really interesting territory to explore here, and I’m confident that community of practice theory gives a very good framework for exploring the nature of the communities that grow up around open source projects, and perhaps provides a few pointers for how to make these communities, and thus the projects around which they gather more effective.


Bacon, Jono. 2009. The Art of Community: Building the New Age of Participation. O’Reilly Media, Inc.,

Lave, Jean and Wenger, Etienne. 1991. Situated Learning: Legitimate Peripheral Participation. Cambridge: Cambridge University Press.

Raymond, Eric 1999. The cathedral and the bazaar. Knowledge, Technology, and Policy 12, no. 3: 23–49.

Raymond, Eric 1998. Homesteading the noosphere. First Monday 3, no. 10: 1–28. 

Wenger, Etienne. 1999. Communities of practice: Learning, meaning, and identity. Cambridge University Press.