RPM is the package management system created at Red Hat and used as the packaging base for a large part of the Linux world. The project’s own site describes it as “a powerful command line driven package management system capable of installing, uninstalling, verifying, querying, and updating computer software packages” (https://rpm.org/about.html). The packages it manages are .rpm archive files that bundle compiled software with metadata such as version information and descriptions.
Beyond the command-line tool, RPM is also a library. The project notes that it provides “a library API, permitting advanced developers to manage such transactions from programming languages such as C or Python” (https://rpm.org/about.html), which is part of why so many higher-level tools were built on top of it.
RPM dates to the mid-1990s. According to the project’s timeline, the first commit to the current C-based codebase was made on November 27, 1995, with the note that “Whether this was done by Marc Ewing or Erik Troan is lost in history as the commit was done as root” (https://rpm.org/timeline.html). The name itself evolved: originally “Red Hat Package Manager,” it “was renamed to the more generic recursive acronym of RPM Package Manager” in 2000 (https://rpm.org/timeline.html), reflecting how widely it had spread beyond Red Hat itself.
RPM became the standard packaging format across Red Hat Enterprise Linux, Fedora, SUSE, openSUSE, CentOS, and others, and the timeline records that “Linux Standard Base 1.0 included RPM as the standard packaging format” in 2001 (https://rpm.org/timeline.html). Like Debian’s dpkg, RPM handles individual packages directly; the job of resolving and downloading dependencies fell to higher-level tools such as yum and later DNF.