The current rotation tooling have a few options to generate rotations.
From ~random , ~alphabetical to looking back for a few weeks to not schedule recent on-callers again too early. This could produce "unfair" scheduling; meaning for a time period one member could be scheduled multiple times while another is not scheduled at all.
The new tooling have made the Generators modular so what's "fair" to a specific rotation can be set by the rota admin either by providing their own generator or using one of the default ones.
The default fair generator looks at previously scheduled shifts , for the min of all existing shifts or a max duration (eg. a year) , and takes into consideration the number of times someone has been on-call and how recent on-call shifts were when generating new rotations.
Comment 1 by olakar@chromium.org
, Aug 15