nix.dev/maintainers/information-flow.md
Valentin Gagarin 06e89b89d4 update information flow diagram
we probably don't need it here in particular, but originally when the documentation team was new, it was useful to understand and communicate what's going on. it can probably stay here until we either find a better place or feel like it's in the way.

until then, a small update for clarity and consistency.
2024-01-31 23:19:34 +01:00

1.4 KiB
Raw Permalink Blame History

Information flow in the Nix ecosystem

The diagram shows a simplified model of the information flow in the Nix ecosystem. Its purpose is to make dependencies of the documentation types more explicit. Note that it does not show issues and pull requests on GitHub, which host a wealth of ephemeral information.

Nodes are places or resources, edges denote an "informed by" relation, and edge labels are units of information. Read the example as "A is informed by X and placed in Y":

flowchart LR
  X --> |A| Y

Information resources communication platforms are distinguished by mode of interaction:

Streams can be appended to:

  • The amount of information in them grows without bounds.
  • Only recent items are relevant.

Artifacts can be changed:

  • The amount of information in them is strictly bounded.
  • All items should be up to date.
flowchart
  Matrix --> |summary| Discourse
  events[meetings and events] --> |meeting notes, report| Discourse
  external[external sources] --> |link| Discourse
  Discourse --> |draft| RFCs --> |implementation| code
  RFCs --> |explanation| docs
  code --> |reference| manuals --> |guide| docs[nix.dev]
  Discourse --> |tutorial| docs
  subgraph stream
    Matrix
    events
    external
    Discourse
    RFCs
  end
  subgraph artifact
    code
    manuals
    docs
  end

Arrows point roughly towards

  • decreasing rate of change
  • increasing public visibility