New PAM modules can be added at any time for PAM-aware
applications to use. For example, if a developer invents a
one-time-password creation method and writes a PAM module to
support it, PAM-aware programs can immediately use the new module
and password method without being recompiled or otherwise modified.
This allows developers and system administrators to mix-and-match,
as well as test, authentication methods for different programs
without recompiling them.
Documentation on writing modules is included in the /usr/share/doc/pam-<version-number>/ directory (where
<version-number> is the
version number for PAM).