Management of the Code Change Process


The Change Cycle

One goal of the ISO 639-3 language code set is to ensure interoperability for those marking data by use of the identifiers. This requires stability in the code set, so changes are made as a group and generally infrequently. To this end, a change process was instituted to process and establish new identifiers, or to update the information associated with identifiers.

Change requests are accepted throughout the year. All proposed changes are processed by the Language Coding Agency. Beginning in 2024, changes that are within the scope of the standard are posted for comment by the Language Coding Agency for 90 days, then voted on by the ISO 639 Maintenance Agency, at which point approved requests are implemented by the Language Coding Agency.

Guidelines

Care is taken in making changes to ensure that existing uses of the code set are not seriously compromised. To ensure continuity and stability, the identifier for any given language shall not be changed. On occasion, given compelling reasons, a code element may be deprecated and retired from current use. When a code element is deprecated, the identifier for that code element shall not be reassigned. Deprecated elements remain part of the code set and retain their identifier and denotation. Continued use in existing data or implementations remains a valid application of this standard. However, on-going generation of data using deprecated code elements is generally discouraged.

The names of languages listed for a given identifier may be changed given sufficient reasons without implying any change in intended denotation. Other information relating to a code element--the scope of the language, the type of language, its participation in a macrolanguage or collective grouping (aspects intended to be informative, not normative, with reference to the standard)--may also be changed, provided that such change clarifies or corrects the intended denotation, and does not confuse or alter the language denoted by the code element.

Given sufficient reasons, new code elements may be added, or the denotation for a given code element may be broadened. Generally, the denotation of a code element shall not be narrowed as this can result in an unknown proportion of the existing uses of a code element becoming invalid. If it is determined that the denotation of a code element was too broad, such as if a linguistic variety that was thought to be a dialect of a given language was later determined to be a distinct language, the existing code element would be retired and replaced with two new code elements if the split off variety is more than a small percentage of the total.

If a language variety thought to be a distinct language is found on further investigation to be a dialect variant encompassed by another language, the former denotation may be merged into the latter. This has the result of broadening the latter denotation. The code element for the former variety will be retired, and the relationship to the code element for the latter denotation will be documented.

Change documentation

Changes to the code set are documented in several different ways on this website. Current Change Requests are listed on the Change Request Index page (filter set to Current). Change Requests are also permanently archived and may be searched on the same Change Request Index page for proposals from prior review cycles by setting the filter to All Past.

Summary reports of past series of change requests are also available:

In addition to the Change Request documentation, the history of any code element can be tracked on its detailed documentation page, which can be found through the primary code tables page for all active code elements. A separate Deprecated Code Elements Index lists all deprecated code elements with a link to a detailed documentation page giving the history for the code element. For both active and retired code elements, it is possible to link directly to the appropriate documentation page by using a URL of the pattern http://www.iso639-3.sil.org/code/aaa where "aaa" may be replaced by any valid identifier.

All changes to the code tables involving code element deprecations are also documented in brief in the Deprecated Code Element Mappings table, with instructions on how to update existing data containing deprecated identifiers.