Discourse Policy

Discourse Policy


Civically is an open source civic platform, which uses Discourse as a base. Discourse is an open source discussions platform, which started in 2013 and is now one of the most widely used discussions platforms. To get a sense of Discourse, it’s best to read Discourse’s own words and follow the discussions on meta.discourse.org.

Civically is not formally affiliated with Discourse. It is a separate company, team and mission. Civically and its team do not represent Discourse, and Discourse and its team do not represent Civically. Some of the Civically team have built plugins for Discourse in their personal capacity, but no-one on the Civically team have worked for, or are working for, Discourse.

From a code perspective, Civically is currently the Discourse stack with 30-odd ‘plugins’ that add features and make modifications. You can learn more about these plugins here.

Why Discourse?

The basic reason Discourse was chosen to be the core of Civically is that it has core functionality that Civically needs.

More specifically, Discourse:

  • is built with modern languages and frameworks;
  • establishes good standards and practices;
  • is built to be extensible;
  • provides a feature set necessary for any comprehensive civic platform
  • is built by an experienced team that is around for the long haul; and
  • is a high quality piece of software.

Also, Discourse is both (legally) open source and is built in a true open source spirit. The founders believe in open source and have played leading roles in the open source movement.

The Ongoing Role: Risks, Philosophy and Pragmatism

Civically is not using Discourse to bootstrap. We do not hope to discard it at some point, when we have more resources, in favour of our own standalone stack. We hope to use Discourse as an important part of Civically forever. The ultimate goal is symbiosis, not separation.

Maintaining and strengthening interoperability with a project you don’t control may seem risky. What if the project goes under? What if it starts going in a direction that doesn’t suit you? Having one huge dependency (with its own dependencies) that you have no control over is not sustainable, some would say.

These are real concerns, however they are considerably mitigated by the fact that regardless of what happens, we can maintain our own version of Discourse if we so choose. Extant versions of Discourse are freely available for all time. If the Discourse team suddenly decide that Discourse would make more money as a project management tool and they turn it into a kanban board, it would be unfortunate, but not the end of the world. We would take the parts of Discourse we needed and would maintain them ourselves. But we would prefer not to. Reliance on, and collaboration with, others is a core part of the philosophy of Civically.

There will be (and already have been) various ways in which Civically will need to look beyond the scope of Discourse to fulfil its mission as a civic platform. Some examples that come to mind are machine learning and advanced document handling. The advantage of using an open source project built with ruby, javascript, postgres and docker is that there are few, in any, ‘hard’ limitations to the extensibility of the stack.