doc: publish the step-by-step design document (#814)

This pull request publishes the step-by-step design document that I have been discussing with @hellais and @DecFox recently. Compared to the document that was approved, this one has been edited for readability.

While there, I figured it was also be beneficial to publish the few ooni/probe-cli related design documents we produced in the past, because they probably help someone to get acquainted with the codebase.

Reference issue for this pull request: https://github.com/ooni/probe/issues/2148
This commit is contained in:
Simone Basso 2022-06-14 14:38:29 +02:00 committed by GitHub
commit be2da83b1b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 2250 additions and 0 deletions

17
docs/design/README.md Normal file
View file

@ -0,0 +1,17 @@
# Design documents
This directory contains ooni/probe-cli design documents. We generally
use issues as short design documents, but some more-complex discussions
require proper design documents. We started collecting existing design
documents into this repository on 2022-06-13, to provide additional
clarity regarding our more-complex choices.
Implementation aspects _may_ change freely over time and there's no need
to rush back and update the related design document. We want to keep a
design document around to document the _why_ of specific choices.
Most design documents are, therefore, informational and historic by
nature, given that we do not aim to continuously update them.
Rather than radically revamp a design document in case of radical direction
changes, it is advisable to create a new design document referencing the
previous design document and explaining what changed.