La philosophie d'Unix est un ensemble de normes et une approche du développement de logiciels basée sur l'expérience des principaux développeurs du système d'exploitation Unix.
Douglas McIlroy, l'inventeur des tuyaux Unix ("Unix pipes" en anglais) et l'un des fondateurs de la tradition d'Unix, résume la philosophie comme suit :
Ce qui est souvent résumé par : « Ne faire qu'une seule chose, et la faire bien. ».
De ces trois doctrines, seule la troisième est spécifique à Unix, bien que les programmeurs en Unix les soulignent toutes les trois plus que les autres programmeurs.
En 1994, Mike Gancarz (en) (un membre de l'équipe qui conçut le système X Window), utilisa son expérience personnelle sur Unix, ainsi que les débats avec ses amis programmeurs et avec des personnes d'autres domaines qui dépendaient d'Unix, pour produire La Philosophie Unix qui se résume à ces neuf préceptes :
Les dix doctrines suivantes sont celles qui ne sont pas universellement reconnues comme appartenant à la Philosophie Unix, et dont certaines sont vivement débattues (Monolithic kernel vs. Microkernels) :
Rob Pike propose les règles suivantes sur Notes on Programming in C en tant que maximes sur la programmation, même si elles peuvent être aisément considérées comme étant des éléments d'une philosophie Unix :
Les règles 1 et 2 de Pike reformulent la fameuse maxime de Charles Antony Richard Hoare : « L'optimisation du code prématurée est la cause de tous les maux. ».
Kenneth Thompson a reformulé les règles de Pike no 3 et no 4 par la phrase « En cas d'hésitation, utilisez la recherche exhaustive » ; le sens est « N'essayez pas d'être malins, essayez d'abord d'être forts.».
Les règles no 3 and no 4 sont des instances de la philosophie de conception KISS.
La règle no 5 fut énoncée auparavant par Fred Brooks dans The Mythical Man-Month.
Les Programming Pearls (en) de Jon Bentley comportent aussi un chapitre sur le même principe de conception.
La règle 5 est souvent résumée par « Écrivez du code stupide qui utilise des données futées.». Elle est aussi une instance de la recommandation "Si la structure de vos données est suffisamment bonne, l'algorithme pour les utiliser sera évident."
La règle 6 est simplement une référence humoristique au sketch Bruces sketch (en) des Monty Python. En C, une chaîne de caractère se termine par un caractère nul (valeur zéro), indiquant ainsi la longueur de la chaîne. La dernière règle se doit donc d'être nulle.