Zero-One-Infinity Rule: prov.

Non permettere nessuno di foo, uno di foo, o qualsiasi numero di foo.” Un principio del software design, che insegna a non porre limiti random ai numeri di istanza di una data entità (come: le finestre in un sistema a finestre, le lettere nei nomi dei file in un OS ecc.) In particolare, uno può disattivare l' intera entità permetterne solo una istanza (una “eccezione”), o permettere tutte quelle che l' utente vuole — memoria e address space permettendo.

La logica dietro questa regola è che spesso ha senso permettere qualcosa piuttosto che vietare tutto. Comunque, se uno decide di andare oltre e permettere N (per N > 1), allora perchè non N+1? E se N+1, allora perchè non N+2, e così via? Una volta sopra 1, non c' è alcuna scusa per non permettere qualsiasi N; da qui, infinity.

Molti hacker si ricollegano al romanzo SF di Isaac Asimov The Gods Themselves in cui un personaggio annuncia che il numero 2 è impossibile — se inizi a credere che ci sia più di un universo, allora devi anche credere in un numero infinito di essi.