Something missing? Suggest a change or addition

Extendable Tooling

Problem

The project has limited capacity to create new and improved tools to support the community

Context

Contributors to your project may benefit from specific tools that make it easier for them to participate. Specialised tools might help to better Retrospective Reviews or in applying Bulk Changes, or better support people with different abilities. But your project will have limited resources to build all of these tools.

Solution

Encourage the community to create specialised tools. Publish an API that exposes the editing and reviewing functionality of your project so that the community can create new tools that conform to your Published Policies.

Web and mobile based tools to edit and contribute data will typically be implemented using an API. Projects that use this pattern are just widening access to that API.

Exposing an API is a great way to Invite All Contributions from your community. An API provides developers with the ability to create open source software that can help both contributors and data users to maximise the value and quality of the data you are collecting.

Encouraging an ecosystem of third-party tools will make your project richer, make it easier for different people to contribute, and will allow the community to be more autonomous.

Third-party tools might provide:

  • custom editing interfaces to support collection of specific types of data
  • tools that support offline editing for people with restricted bandwidth
  • tools that simplify the process of importing and reviewing data from other sources to carry out Bulk Changes
  • reporting to help provide insight into the quality and coverage of the dataset
  • provide insight into the patterns of contribution across the community
  • automated tools that carry out Machine Editing of data

Design the API so that it exposes the same range of data collection and editing options that are available in the core project tools. This will ensure that developers can benefit from the same functionality.

Showcasing third-party tools will help your community find the tools they need.

Humanitarian OpenStreetMap tools

Tools created by the community

MusicBrainz tools

Wikidata

Tools organised by task



Related patterns

Changeset

Multiple collaborators independently making entries into a database makes it difficult to understand how the dataset reached its current state.

Moderation

There is a need to ensure that contributions are of good quality.

Something missing? Suggest a change or addition