Exercise 2: Formula vs. Cask — Possible Solution ==================================================================== THE DIFFERENCE BETWEEN A FORMULA AND A CASK ------------------------------ Per this chapter, a Formula is a command-line tool or library - the direct counterpart to an ordinary package on apt, dnf, pacman, or apk. A Cask is a full macOS GUI application, distributed as a normal .app bundle, and installed with the extra --cask flag (e.g. `brew install --cask firefox`) rather than the plain `brew install` used for Formulas. WHY LINUX PACKAGE MANAGERS NEVER NEEDED AN EQUIVALENT SPLIT ------------------------------ The chapter explains that Linux's package managers already distribute GUI applications through the exact same repository and the exact same kind of package as command-line tools - there's no structural difference in how a GUI app versus a command-line tool arrives on a Linux system, so no separate category was ever necessary. On macOS, GUI apps and command-line tools normally arrive through genuinely different channels (the App Store or a .dmg download, versus whatever a developer builds and distributes directly), so Homebrew's Cask category exists specifically to bring that separate GUI-app distribution model under Homebrew's own single command anyway. WHY THIS WORKS AS AN ANSWER ------------------------------ It correctly distinguishes Formulas (command-line tools/libraries) from Casks (GUI apps installed via --cask), and explains that the split exists because macOS's GUI and command-line software normally arrive through different channels, whereas Linux's package managers never had that distinction to begin with.