The Role of Community in Technical Development
Charles McCathieNevile (1), Dan Brickley (2), Libby Miller (3) Liddy Nevile (4)
(1) World Wide Web Consortium, (2) W3C, RDFWeb, (3) ILRT University of Bristol, RDFWeb (4) Sunrise Research
Development of the World Wide Web has been a broad-based organic process. Some development has come from top-down approaches such as the standardisation work at the World Wide Web Consortium (W3C) and the International Engineering Technical Forum (IETF), while other developments have come from individual projects gaining widespread recognition and adoption. Most development in fact contains a mixture of the two modes. This paper looks at the role of development communities in that process, examining
- the importance of dissemination and communication processes to the overall development of the Web;
- factors that appear to have improved or detracted from the success of such communities, and
- the value the communities provide to both open-source development and development of proprietary systems.
Keywords: interest groups, *-dev, development communities, open source, dissemination and implementation, web
Approximate Word Count: 3800
- Some representative communities
- Communities and their impact on development
- Successes and failures
- Applying the lessons
The Web has been developed by lots of people and organisations. Sometimes these players have deliberatively worked collaboratively; sometimes projects or technological advances produced by individuals or groups working in isolation have later been widely adopted as part of the infrastructure. More often there is a combination of the two approaches.
Physical proximity - the presence of a group of people who can refer immediately to each other in order to ask questions, bounce ideas, or simply provide indirect support - is invaluable to teams working together. Even in the age of distributed organisations and readily available communications technology it is common for businesses to co-locate members of a team working together. Problems such as crossing time-zones, not knowing if people are available, or busy, and the loss of subtle communication aids which are available face to face can all be overcome in this way, but it is not always practical. International development projects, such as large open-source projects, or standardisation in small distributed groups, may not be able to bring all the development together more than an occasional face to face meeting of a large group of them.
In general, the existence of development communities has been important for providing direction, feedback, and contributions to the overall Web and to individual areas. More exceptional is the rare situation of individuals working in isolation. Conspicuous community organisations include the IETF process and the formal working group structures of the W3C. There are, however, other less formally constituted communities, or those which apparently have less formal decision-making responsibility, which have been important in the development of the Web. These include the W3C's WAI Interest Group and Resource Description Format (RDF) Interest Group, as well as communities like the Dublin Core Metadata Initiative (DCMI), the XML-dev mailing list, groups such as SIDAR (an accessibility group working in Spanish) who work in a particular language other than English (Finland has been a source of well-known tools including IRC and Linux), and locally-based, small groups such as melb-wag.
In addition, there have been active efforts to build Web-interest communities, or to provide dissemination and communication channels, by working through already-existing communities. These have been important in providing people who contribute broad-based momentum to horizontal review and collaboration efforts, contributing in particular to the interoperability and internationalisation of the Web. This process has also helped to keep the architecture of the Web as clean and simple, and therefore extensible, as possible.
The paper is organised as follows: We begin with a survey of several communities - an overview of their history, their role, and the ways in which they function. We have selected communities that represent different models of organisation. We then try to draw some common points about the impact these communities can have on development in their particular areas, and in contributing to horizontal technical and architectural review. Next we look at some of the factors that have contributed to success or failure in communities themselves. Finally we look at a proposal for an advanced technical development project and how it plans to build and maintain communities as an essential part of the work undertaken.
Some Representative Communities
WAI IG and wai-xtech
The Web Accessibility Initiative (WAI) is one of the domains of the W3C, and includes a Technical Activity [wai-xtech]. The Technical Activity produces W3C Recommendations and other documents through the formal working group process of W3C, and does technical review of W3C work in general to ensure that it supports accessibility. WAI also has an International Program Office.
The WAI International Program Office enables partnering and coordination among the many stakeholders in Web accessibility including industry, disability organizations, government, and research organizations.
- This Activity includes the WAI Interest Group for general discussion on Web accessibility;
- the Education and Outreach Working Group which develops awareness and training materials; and
- the WAI Coordination Group (member only) which coordinates among WAI working and interest groups. [wai-ipo]
Almost all the working groups have a publicly archived, open mailing list as their main means of communication. In the case of the public technical activity groups, subscription is open to anyone, although membership of the group is formally defined, and there are meetings of the group members in order to produce the specifications and documents they are chartered to deliver. Some of the groups work on WAI internal coordination, for which they use an internal mailing list with closed archives.
The two groups within WAI that we will consider further in this paper are the WAI Interest Group, and the wai-xtech mailing list.
- WAI Interest Group [wai-ig]
- This is a general mailing list to discuss issues of Web
accessibility, particularly the work of the WAI. It has about 400
subscribers at any given time, and is active - averaging approximately
250 - 300 messages per month. It includes people who are members of
other working groups, people who are asking beginner questions, as well
as people who are developing content and working on accessibility, or
just participating out of interest.
The group serves as a general forum but can provide input on issues to any other WAI working group. Most particularly, it is where a large proportion of issues are raised for consideration by the Web Content Accessibility Guidelines group.
- wai-xtech [wai-xtech]
- This list is intended for discussion of issues across the different WAI Technical Activity groups. It is a very low traffic list that is publicly archived. Its lack of traffic suggests that horizontal coordination is in fact carried out at the higher level within the WAI Coordination Group, and that deeper technical discussion is being carried out informally, relying on cross-membership of groups (there is a significant overlap - between 15% and 40% - across most of the technical groups).
RDF-IG and RDV-dev
The RDF Interest Group [rdf-ig] was launched in 1999, in acknowledgement of the growing developer interest in W3C's RDF work. Prior to that, most developer discussions about RDF had taken place on RDF-dev, an independent mailing list set up as a sibling to the older XML-dev. RDF-dev was announced on XML-DEV in June 1998 [rdfig-ann] to provide a forum for developers who wanted to focus specifically on RDF. The RDF Interest Group has been active since its beginnings, having been populated rapidly by the RDF-dev community. It is a major venue for announcements of RDF tools and developments. The RDF Interest Group also uses an IRC channel for more or less continuous live chat, logging that channel and using it as a forum for further testing development ideas [rdflog].
The support from W3C for the RDF group is not restricted to hosting: the list has resources provided in the form of an active chairman who is himself an RDF developer. It has been a forum for W3C discussions when there has not been a specifically relevant working group.
Apache [apache] is the most widely deployed Web server today, and is developed as an open source project. This project has had significant community involvement, and has been able to lead standards development and implementation. For example, it provids a platform to deploy SOAP, and develop it in an open source community to complement the development undertaken by businesses whose work is otherwise not readily available to be leveraged by others.
Since the early development of the Web, the Apache project has grown into a project in its own right, and now encompasses a number of activities in areas beyond the original "Patchy Web Server" from which it took its name. The project is still, however, particularly well-known for the development based around the server.
XML-dev [xml-dev] was a focal point for early XML developers and, to this day, remains the main XML discussion list. Begun in early 1997, it has a community of active developers taking part in the list, including some of the original "big names" in XML development and standardisation. It is an archived mailing list, which acts as a source of information about the hot-button issues of the day. Although it doesn't have a formal chair or structure, it has an equivalent network of support, currently including the weekly XML-Deviant column by Leigh Dodds, who draws on the list and summarises big issues of the time.
The Dublin Core Metadata Initiative DCMI [dc-general] has been a rallying point for discovery metadata developers. Begun in 1995, the community has brought together syntax and semantics developers to create a 'core' set of discovery metadata and the architectures and practices that surround it. The DC community leadership has actively sought cross-domain participation and has now strong library, government and educational sectors as well as the involvement of international organisational players such as WHO. DC has also had strong leadership in internationalisation and has been translated into 30 languages and is actively deployed in Asian, Arabic, Cyrillic, European and English language-based cultures.
The Seminario de Iniciativas sobre Discapacidad y Accesibilidad en la Red [sidar], is a Spanish-language group working on accessibility of the Web. It includes several Interest Groups which look at different areas - Tools, Education, etc., and a translators' group which coordinates translation of various documents (mostly W3C specifications) into Spanish. SIDAR holds an annual conference on accessibility and the Web, and runs courses on building accessible Websites. The group works by mailing lists. These lists are archived but the archives are not easily accessible to the public. It has a number of members in all areas who also participate in WAI activities, acting both as individual participants in the relevant groups and as bridges between them. SIDAR is a more or less voluntary group (it does get some support from el Real Patronato sobre Discapacidad for events) and active participation would appear to be around 40 people, almost all from Spain or South America.
The major successes of SIDAR appear to be translation of W3C documentation, in particular, and courses. In the case of the former, SIDAR has established itself as a community that is developing and coordinating this work and is tracking the W3C work very well. In the case of courses, there would appear to be few local organisations qualified with both accessibility knowledge and fluency in Spanish but, as a connected community, it has the ability to draw high level international participation in local activities.
The Melbourne Web Accessibility Group [melb-wag], has existed in various forms since 1997. It grew out of a community-building approach to accessibility at the Sunrise Research Laboratory [sunrise]. It now exists as a mailing list, with a community of members who meet occasionally. Although it operates as a forum in its own right, it directs most technical work to groups such as the WAI Interest Group. It holds an annual Web Accessibility conference in Melbourne, and provides a local 'safe' environment for those intimidated by public communities of WAI.
In many ways, Melb-wag is like the local Computer users'groups which grew up in the late 70's and 80's. Although it relies mostly on email an electronic communication, one of its strengths is the sense for members that they are asking someone who is probably around the corner, with whom they are acquainted by a real rather than virtual connection, and whom they could visit in person if neccesary
Impacts on development
The RDF Interest Group is seen as a critical part of much development work in the semantic Web, and it is a forum that is used by many developers as "their community". The WAI Interest Group contains many people who are involved in implementing the Web Content Accessibility Guidelines, and it is in that area that the group has had the greatest impact. The DCMI community has developed what have become international standards by working on what they need in their own environments and contributing to the collaborative effort. Such communities consist of members who are intimately involved in development and the impact of each community has been substantial.
On the other hand, the WAI User Agent Guidelines, developed to standardise accessibility of content delivered through user agents, in particular GUI browsers, do not seem to have been influenced much by the Interest Group. It is noticeable that there is not much participation from such developers in the WAI Interest Group.
Indicators of the 'community' effect include standardisation, deployment, robustness, interoperability and internationalisation. One conclusion from consideration of the communities is that the impact a community has on development is related to how much development members of the community are personally involved in.
Another impact that such communities can have is in their use of communications technology to rapidly mobilise opinion. A massive response sparked largely by Slashdot to a public W3C draft resulted in the consortium extending their comment period. It also led to W3C taking several open-source developers onto a group responsible for the development of policy, and promising other measures that would open the development process even more. This may lead in the future to deeper involvement in the development process of the opinions of such communities. In fact, in this case the community had not unexpectedly succeeded in changing the technical content of work because it was only a draft proposal released for public comment, and the W3C process anticipates and assumes that such comment may lead to changes in drafts. However, it seems that there had been a temporary breakdown in the process of communication between the development groups and the public. Following these events, the existence of an interested and active community has been instrumental in ensuring the rapid repair of that process.
In the anarchic world of the Web, the market as an entity, adopts or ignores new technology. This often has a powerful effect on the direction of future development. HTML 3.2 was widely adopted despite the widespread technical understanding that it was a compromise solution. It is still the most widely-used form of HTML on the Web. It is difficult, and becoming more so as the market itself gets larger and more stable, for a small community to influence market uptake.
As well as partnering with large organisations which bring marketing muscle, it appears that having lateral or 'horizontal' connections is important as a criteria for impact on development. One of the major successes of the WAI Interest Group is its ability to bring issues to the notice of the W3C technical development groups, as well as the developers participating in WAI work. This not only helps development of features in software, but feeds directly into the development of new W3C specifications. The impact of a group like melb-wag or SIDAR tends not to be in terms of developments but in making connections from their local environments to otherwise uncoordinated development communities.
Extending the interoperability of the Web across domains and cultures, languages and governments is still in its infancy. The differences between physical access to the Web and political and other constraints ar still enormous. Finding an activity level at which all peoples can participate and from which they can benefit can open opportunities for globalisation of development.
Many people working in communities such as those associated with libraries and cultural organisations, governments and international organisations, and education have become involved in the work of the DCMI. Its products are the result of openly accessible work, with consensus as the prime decision-making process and mostly voluntary effort as the engine. The drive for interoperability of their local assets brings developers to the DCMI with a need for harmonisation which they seek through the DCMI consensual processes. This has successfully led to domain and community specific extensions to the Dublin Core and an extensibility process and architecture.
Finally, the discussions in a community have a greater impact if they have a relatively high degree of relevance to the development they are trying to influence. A community in which there is regular contribution and constructive communication taking place seems to have a greater impact than a community which is little more than an outlet for speechmaking, or discussions which are not related to the development being done. The same seems to hold true where the discussions that drive development decisions are not relatively available and open to the community, if the threshold of knowledge required for meaningful discussion is too high or the information is not easily accessible.
Successes and Failures
One of the obvious features of an effective community is longevity. The communities we have examined here are involved for the most part in ongoing projects, and have mostly continued to exist and develop.
What are the factors that allow a community to maintain itself?
Establishing a group is clearly a long-term process. However, it can be done either by gathering a community who work hard to establish themselves from a small beginning, or it can occur by bringing together existing communities and individuals who are already recognised in their fields. Establishing a new group or fragmenting old ones seems often to be a recipe for failure, either of the new group, or of the existing group, and in some cases of both.
It appears there is a difference between a group not having an effect because it is not productive and a group that is still consolidating and developing a history and shared understanding on which to build. Being the first community to develop around a particular area is often sufficient to establish a successful group, which can be described as retaining (sometimes by renewal) a community that includes the necessary development expertise, and having an impact over the life of a development project. An interesting corollary is that development projects which do not maintain an effective user community often fail, by failing to provide development, or in some cases completely disappearing, over the short to medium term (1-3 years).
Education and outreach, dissemination to a wider audience, particularly when combined with the open invitation to participate, has clearly succeeded in bringing people to WAI working groups. Accessibility has had a larger component of deliberate community building than most areas of W3C development, where it has often just been assumed that interested developers will choose to participate in discussion. The proactive recruitment approach is being repeated in the Semantic Web, where W3C has been actively building a community and is now working hard on dissemination and education activities.
It seems that the greatest benefit of this kind of inclusive activity is in broadening understanding and adoption of an area of technology. It acts as a catalyst for bringing people into the community and can in itself provide engaging work for some community members. The success of the inclusive activity depends upon the success or failure of the community it serves in the technical arena, essentially having a multiplier effect rather than a simple additive one. The WAI Interest Group attracts people very often as a well-known discussion area, but retains the critical expertise because it has significant input to and from development process for the accessibility work being developed at W3C.
Lateral or horizontal coordination and connection are clearly important factors in many groups. If a community is known to be well-connected horizontally to other technology development areas then it appears to be more successful. As the Web becomes more complex, we can expect this trend to continue - a community whose input is better informed about the overall architecture and the variety of requirements in different areas of development is likely to be better respected for the value of their input. In addition, it is a community which can better integrate its work. For example, the Apache project is seen as a good overall community within which to develop technology of various kinds because of its existing connections to interrelated projects.
Finally, there is an important but almost intangible factor of "atmosphere" or ambiance that determines the success of a community - how open a community is to new members. In some cases, there is a ready supply of new people becoming interested in a technology, or a community's prestige is sufficient that people will put up with a large degree of discomfort to be recognised as a participant, or even a group that takes pride in being a "hard school". In other cases, an aggressive or hostile group will give rise to alternative groups as people seek a more comfortable community in which to work.
The two factors of atmosphere that seem not to vary are a group having a sense of history, and responsiveness. These can be provided, as is the case for the RDF Interest Group, by a chair or coordinator in an official capacity or can be provided informally by members of the group, as is the case with XML-dev, where Leigh Dodd's XML-deviant column provides some ongoing sense of recording history.
Applying the Lessons - SWAD Europe
The Semantic Web Advanced Development project in Europe is a proposal for a collaborative project, involving the W3C with four partner institutions. The partner organisations have a long history of participating in communities such as those surveyed.
The primary goals of the work are:
...to ensure that the critical technology components required for widespread Semantic Web adoption are readily accessible to European industry, consumers, and developers. This involves finding and maintaining a balance between "in-house" Open Source tool development, community building, outreach and evangelism, combined with more technologically advanced research and analysis..
In order to ensure the success of the project, it has been developed to include an emphasis on education and outreach, and on the fostering of communities to ensure they have ongoing input to and understanding of new development. An assumption of the project is that distributed development is an effective way to build standards and implement them. It is important to provide the widest reach possible for diffusion of information, and to ensure that the development community is readily able to find out more about development work in a variety of areas. The lessons above are expected to be applied to the SWAD project, and to lead to successful outcomes in terms of building communities which themselves support high-quality and original technical development.
Among the specific measures being taken to maximise the success of this effort are the maxims:
- Use existing communities
- There are a number of communities based around developers of Semantic Web technology, or based around application areas. Rather than create new fora, where possible it is a goal of the project to use existing fora.
- Provide resources for community building
- Part of the project involves ensuring that there is "seed" membership of fora who maintain a good understanding of the ongoing work. It is hoped that these people in particular will take a leading role in ensuring the flow of information between communities, and will make it as easy as possible for developers to participate when they can do so most efficiently and most effectively.
- Ensure involvement of the developer community
- As much as possible the developers of technology themselves will be involved in the community building efforts of the project. In addition, those whose responsibility is primarily in dissemination and outreach will be expected to involve themselves to some extent directly in development work in various areas.
- Maximise effectiveness of horizontal review and communication
- In drawing together projects from different application areas, and ensuring that horizontal architectural coordination is an important part of the project, it is hoped that the effectiveness of horizontal review will be enhanced by the dedicated resources and by the mix of skills among participants. At the same time, the project has been designed to try and ensure that existing horizontal technology review, such as that done within W3C, is readily applied to the work of this project, by integrating work within existing communities who have established review systems.
The authors would like to thank the communities they have worked with and in, particularly the unsung and unnamed members; the contributors from around the world who have worked to make those communities successful, as well as those who have made well-known contributions, and those whose contribution is clearly and widely acknowledged.