After more than 20 years of research and practice in software configur
ation management (SCM), constructing consistent configurations of vers
ioned software products still remains a challenge. This article focuse
s on the version models underlying both commercial systems and researc
h prototypes. It provides an overview and classification of different
versioning paradigms and defines and relates fundamental concepts such
as revisions, variants, configurations, and changes. In particular, w
e focus on intensional versioning, that is, construction of versions b
ased on configuration rules. Finally, we provide an overview of system
s that have had significant impact on the development of the SCM disci
pline and classify them according to a detailed taxonomy.