Il existe de nombreuses saveurs d'UNIX dans le monde aujourd'hui, certaines qui sont véritablement UNIX, comme BSD, et d'autres qui fonctionnent comme UNIX mais ne sont pas'certifiées, comme Linux.
Les systèmes UNIX sont suffisamment différents pour qu'on ne puisse'simplement copier un programme d'une saveur d'UNIX à une autre et s'attendre à ce qu'il fonctionne. En effet, la complexité des logiciels aujourd'hui signifie que l'on ne peut pas'copier un logiciel UNIX d'une machine à une autre même si elles exécutent le même système d'exploitation et s'attendre à ce qu'il fonctionne. Ils sont suffisamment compatibles, cependant, pour que le code source d'un logiciel puisse généralement être compilé, en présence des bibliothèques et des outils de support appropriés, en un logiciel binaire exécutable qui peut fonctionner sur n'importe quelle saveur particulière.
Cette complexité a conduit au développement d'un genre de logiciels appelés "Package Managers", dont le travail consiste à obtenir les bibliothèques appropriées et les logiciels dépendants nécessaires pour compiler et exécuter un logiciel sur un système d'exploitation particulier. (Voir Gestionnaire de paquets pour plus d'informations.)
Les gestionnaires de paquets font l'inventaire des logiciels installés sur une machine, déterminent les dépendances nécessaires pour un paquet souhaité, construisent ces dépendances, puis construisent le paquet sélectionné.
En bref, si vous souhaitez installer des logiciels de la communauté UNIX au sens large sur le Mac, vous devez d'abord installer un gestionnaire de paquets pour faciliter ce processus et assurer la compatibilité. Homebrew est l'un de ces gestionnaires de paquets.
Le gestionnaire de paquets sur Linux s'appelle aptitude, et la façon d'installer un logiciel particulier sur Linux est d'utiliser la commande apt-get install {nom-du-paquet}. Vous avez peut-être vu cette commande dans la documentation sur le web.
BSD UNIX, dont Darwin ou OS X est un dérivé, n'a pas de gestionnaire de paquets intégré comme aptitude, c'est pourquoi Homebrew se qualifie lui-même de "gestionnaire de paquets manquant".
Homebrew est l'un des nombreux gestionnaires de paquets pour OS X, notamment MacPorts et Fink.
Homebrew, comme tous les gestionnaires de paquets, s'appuie sur une base de données de métadonnées (données décrivant des données) sur les paquets logiciels, et l'un des éléments de ces métadonnées est l'emplacement, généralement sur Internet, du code source à construire avec une liste des dépendances requises. Homebrew utilise généralement des dépôts github publics pour sa source, et utilise des scripts Ruby pour déclarer les métadonnées sur le paquet.
Donc, Homebrew est un gestionnaire de paquets pour OS X qui permet à un utilisateur d'installer facilement des logiciels provenant du corpus plus large des logiciels UNIX et open source sur le Mac. Comme il utilise Ruby et s'intègre facilement à github, il est extensible par les simples mortels, ce qui signifie que le corps de paquets couverts est facile à développer. La plupart des paquets de logiciels UNIX populaires sont disponibles pour être installés par Homebrew et ceux qui ne le sont pas'peuvent être rendus disponibles par une certaine configuration dans Ruby.