spec README

The project's README from github.com/ooni/spec. As one markdown file: README.md.

OONI Spec

The OONI testing methodology is openly specified as part of OONI Spec. This includes all the experiments that we run, the backend components used as part of test and the data formats.

The way in which we do these specifications is similar to the RFC (Request For Comments) process.

This makes it possible to have a deep understanding of how OONI tests work, explain the assumption we make in them and make it possible to create independent implementations.

To get an introduction of how we operate from the point of view of OONI Probe, i.e. the software that users can install, please see the specific documentation describing that. New developers would ideally want to be familiar with this document to understand the context.

Terminology

Nettests (aka experiments)

Are network experiments that deliver some meaningful results to end users. See the nettests directory.

OONI Probe (aka the Probe)

The software that users run to perform nettests. See the probe directory.

Techniques

Are strategies that we follow for implementing nettests, hypothesis we are interested in testing and implementation details for each target platform. See the techniques directory.

Data formats

Define how data is presented to end users or analysts. See the data-formats directory.

Backends

Are core OONI infrastructure components that are necessary to carry out experiments. See the backends directory.

Contributing

Please, see CONTRIBUTING.md.

spec (ooni/spec)

censorship
Searching Database…

204 ·GitHub
What is this?This is OONI Spec, the repository where OONI openly specifies its testing methodology: the experiments (nettests) it runs, the backend components used for testing, and the data formats for the results.
Is this a program I can run, or written documentation?Written documentation: a set of specification documents maintained through a process similar to the internet RFC process, not software you install or execute.
Where should I start reading?With the README, then the separate introduction describing how OONI operates from the OONI Probe point of view; that is the entry point the README gives newcomers.
Who are these specs written for?Primarily new OONI developers, who are advised to read them for context, plus anyone who wants to implement OONI's tests on their own.
What is a nettest?Nettests (also called experiments) are network experiments that deliver results meaningful to end users; they are what OONI Probe actually runs when it tests a connection.
What is inside the repository?Specs are grouped into five areas: nettests (the experiments), probe (the user-facing testing software), techniques (implementation strategies, hypotheses and per-platform details), data-formats (how results are presented to users and analysts) and backends (core infrastructure that carries out the experiments).
Why does OONI write formal specifications instead of just shipping code?The RFC-style process is meant to give a deep understanding of how each test works, make the assumptions explicit, and allow anyone to build independent implementations of the methodology.
What is OONI Probe itself?It is the software that users run to perform the nettests; the probe directory here specifies it, and OONI publishes separate user-facing documentation for installing and using it.
Creator
ooni
Size
2.6 MB
Stars
204
Updated
CommitSep 29
Age
13y
Commits · 90 Days