DDI has shifted its view over time in terms of what the DDI specification encompasses. Originally, we had DDI in various versions. With version 3.0 a major change was introduced in order to support changes in technology, implementation requirements, and to address the coverage areas not addressed by versions 1 through 2. There was a general assumption that DDI users would switch to the newest version in the same way that software users shift to new versions. However, DDI was and is used for archival purposes meaning that large amounts of metadata were already captured in earlier versions of DDI and were supported by existing software. In addition, the new version of DDI had higher infrastructure requirements and many of the new features were not required by several of the current user groups. Instead, version 3.0 brought in a new range of DDI users whose needs were not met by the earlier versions. Therefore, earlier versions of DDI were used not only by those who had not switched to the newer version, but by a large group of new users supported by software from the World Bank. The requirements of this user group were met by this earlier version and the costs of using the newer version were too high in terms of infrastructure.
DDI determined that both versions of the standard would be maintained and named them DDI-Codebook (versions 1.0-2.x) and DDI-Lifecycle (version 3.x). Now DDI has determined that rather than treat these as continuations of the same specification with a single versioning stream, to treat them as two separate products with separate versioning streams. This approach also recognizes the DDI products that have been developed in the periphery of Codebook and Lifecycle. DDI now recognizes a suite of published products (DDI-Codebook, DDI-Lifecycle, Controlled Vocabularies, and XKOS) and products that are under development (DISCO, DDI-Cross-Domain Integration, and SDTL).