A note of discussions with Joe Rosa, Emerge Technical Lead.
This note is principally derived from a meeting held at Oxford Brookes University on 27 June 2007, but draws on previous calls and conversations and a subsequent discussion on 30 June 2007.
Since starting as technical lead for the Emerge project (25 May 2007), as well as working to keep systems running, Joe has been gathering requirements through:
- discussion with the Emerge Team and members of the community;
- probing the applications and hosting environments;
- setting up an Elgg mirror server;
- participating in a number of wider community events.
- Supported Online Activity Days by providing a Moodle VLE (http://vle.jiscemerge.org.uk/) and technical support to users of the Elluminate platform and engaged as participant-observer member of the community;
- Attended OSS Watch seminar on 20 June 2006, on the role of community in software development and the relevance of community to JISC development projects;
- Attended meeting on 21 June 2006 with Bill Olivier, JISC Development Director for Systems and Technology, George Roberts and the Imperial College Internet Centre team; the aim of the meeting was to review the Imperial Mash-up Toolkit, but the discussion ranged widely across JISC developments and the support of development communities;
- Attended a “Barn Raising” session in Leicester on 26 June 2007, which Josie Fraser, Lead Community Architect, organised to consider the development needs of the Elgg platform;
- Attended meeting with Tony Linde, Ross Gardler (new Head of OSS Watch, ) and Anjana Batterjee (aporia) on 28 June 2006 to understand the role of OSS Watch in respect of the Emerge community presence project;
- Participated in Emerge core team phone conferences and face to face meetings;
- Met regularly with the Project Director
At our discussion I was mindful of the Appreciative-inquiry (Ai) approach taken by the Principal Investigator, Rhona Sharpe.
Joe has been peripherally involved with the Apache Foundation and the Open Source Portfolio (OSP) project. While not following the structure of these probes, this discussion is based on the Apache Foundation’s approach to open-source software development communities: communities of purpose.
We avoided discussion of the wider definitions of community. We are explicitly concerned with the scope of the community envisaged by the JISC Users and Innovation (U&I) Programme, and even more explicitly and narrowly with the community forming around the Emerge Project. If we were to follow Scott Wilson’s typology as set out in a presentation to ALT and SURF in 2006, “Social Software”, we are concerned with communities of purpose or action. Although the Users and Innovation Programme community is not a software development community, it has many features in common and many members are, or have been, part of software development communities. Emerge is explicitly a community development community, or maybe better put, an educational development community of software and educational developers. A community of this sort has: roles and tools .
There are three broad roles within communities of purpose:
The user is the evangelist for the project, the bug finder and the requirements generator. The contributor is the supporter of the user, and the management is the support for the contributors. We avoid the term “leader” because leadership can have many dimensions and a community may have several leaders.
Without users, development activity is “pure research”: navel gazing. JISC does not fund pure research. JISC’s role is to fund the development of solutions to real challenges facing education and particularly Higher Education. JISC is funded by a topslice of the moneys allocated by HEFCE to universities. As such, JISC is answerable to universities and must show value to them.
The pupose of the community in this model is solely to support the users. Without users there is no community and without community there is no hope of sustaining the software. The Apache Foundation takes a strict view on incubation. A developer might apply to the Foundation to become a project within the Foundation. But, that project will stay in incubation and will not be released unless it can be demonstrated that there is a community of users supporting the development, and that the development responds to the needs of the community.
This is the basis of the Users and Innovation Development Model (UIDM).
If there are users, there are needs. If there are needs, there are contributions. Contributions may be in the form of requests for features or repairs. Contributions may be in the form of bug-tracking, FAQ writing, or documentation. In practice only a relatively small number of people contribute code.
If there are needs they need to be managed or chaos ensues. There can be many styles of management and management is different from leadership. In this model, there are three functions of management. These three functions are not clearly demarcated, but support one another:
- Marketing is concerned with establishing priority of needs.
- Governance is concerned with order, control and resourcing; ultimately direction will be set and compliance assured by management.
- Documentation has three categories:
- strategy, including mission, aims, policies, promotions
- guidance for users, including how-tos and user guides; and for developers, including technical documentation, etc
- legal and corporate records for audit and control, including compliance, financial records, IPR, licensing, insurances, etc
A software development community needs five basic tools:
- website for providing co-ordination, linking, overview “map” of the territory
- mailing list and related communication and discussion tools for the community such as blogs and forums
- issue tracker
- document management
- version control for releases.
Arguably a community development community does not require version control for software releases.