I'm filing this case for Jan "Honza" Hnatek, Jan "Jenda" Lana, and Ning "Harry" Fu as a self-review and automatic approval case since there is no new architectural change with this case and at the same time, this is yet another locale EOF with similar cases in the past.
If you disagree, let me know and I'll promote this case to a fast track. Ienup Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI This information is Copyright 2009 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: EOF of short form locales 1.2. Name of Document Author/Supplier: Author: Jan Hnatek, Jan Lana, Ning Harry Fu 1.3 Date of This Document: 02 October, 2009 4. Technical Description OVERVIEW We have 113 so-called short form locale names being provided and supported at Solaris such as "ar", "de", "fr_CH", and so on that are constant sources of customer confusions (and thus also service requests or customer inquiries) and, for us, a maintenance headache. The reason for the customer confusions is that such locale names are not fully qualified with other possible attributes in the names thereby have inherent ambiguities in identifying intended territory, codeset, or both. As a background information, all modern POSIX-like operating systems including Solaris, AIX, HP-UX, and various Linux distributions provide and support locale names with the following convention [1]: language_territory.codes...@modifier] where the "language" is a 2-letter language code from ISO 639 [2], the "territory" is a 2-letter uppercase territory code from ISO 3166 [3], the "codeset" is one of the widely accepted codeset names in the industry, and the optional "@modifier" is an arbitrary string denoting an extra attribute that is specific to the locale such as a collation order. The reason why this is a maintenance headache for us is due to that for almost all of them sans "ar" and "ja" locales, we already have corresponding fully qualified long form locale names being supported in Solaris and, in fact, the short form locales are implemented and supported simply by having numerous symbolic links to the long form locales. (There are a few hundreds of symbolic links in this aspect.) There are also six long form locale names that are no longer correct due to the changes in ISO 639 and ISO 3166 and requiring new locale names going forward [2, 3, 4, 5, 6]: Locales with deprecated codes Locales with new codes ----------------------------- ---------------------- no_NO.ISO8859-1 at bokmal nb_NO.ISO8859-1 no_NO.ISO8859-1 at nynorsk nn_NO.ISO8859-1 sh_BA.UTF-8 bs_BA.UTF-8 sh_BA.ISO8859-2 at bosnia bs_BA.ISO8859-2 sr_CS.UTF-8 sr_ME.UTF-8, sr_RS.UTF-8 sr_YU.ISO8859-5 sr_ME.ISO8859-5, sr_RS.ISO8859-5 And a long form locale name of th_TH.ISO8859-11 that is merely a symbolic link which also should be mapped to th_TH.TIS620. With this project, the project team would like to EOF the 120 locales described at above and also the actual list shown at the "PROPOSED INTERFACE CHANGES AND RELEASE BINDING" subsection at below. DETAILS ON THE EOF Once approved by ARC and Solaris P-Team, we will do the EOF announcement at an S10 UR Release Notes with [7] and do the EOF execution at OpenSolaris and Solaris Next. The EOF announcement text will describe our intention that the locale names will be obsoleted in future releases of Solaris and OpenSolaris and provide a mapping table which will list the locale names that should be used instead. Since we don't have "ar_EG.ISO8859-6" locale at this point, for a proper migration of the "ar" locale, we will create "ar_EG.ISO8859-6" locale as soon as possible as recorded in [8]. While we think that the "ja" can be mapped to "ja_JP.eucJP" locale we have, since they are slightly different such that the "ja" locale conforms to the traditional specification from earlier Solaris releases and the "ja_JP.eucJP" locale conforms to "UI-OSF Japanese Environment Implementation Agreement Version 1.1", if we get customer escalation, we may need to revert the EOF and re-deliver the "ja" locale. (A side note: As a separate project, to aid customer transitions, we will also try to provide a transparent locale mapping and alias support mechanism at libc so that even after the EOF execution is done, customers with old locale names will still be supported as much as possible.) PROPOSED INTERFACE CHANGES AND RELEASE BINDING The project team proposes the following locale names and corresponding locale directories from the system as Obsolete Committed: Interface Proposed Classification --------- ----------------------- ar Obsolete Committed bg_BG Obsolete Committed ca Obsolete Committed ca_ES Obsolete Committed cs Obsolete Committed cs_CZ Obsolete Committed da Obsolete Committed da_DK Obsolete Committed da.ISO8859-15 Obsolete Committed de Obsolete Committed de_AT Obsolete Committed de_CH Obsolete Committed de_DE Obsolete Committed de.ISO8859-15 Obsolete Committed de.UTF-8 Obsolete Committed el Obsolete Committed el_GR Obsolete Committed el.sun_eu_greek Obsolete Committed el.UTF-8 Obsolete Committed en_AU Obsolete Committed en_CA Obsolete Committed en_GB Obsolete Committed en_IE Obsolete Committed en_NZ Obsolete Committed en_US Obsolete Committed es Obsolete Committed es_AR Obsolete Committed es_BO Obsolete Committed es_CL Obsolete Committed es_CO Obsolete Committed es_CR Obsolete Committed es_EC Obsolete Committed es_ES Obsolete Committed es_GT Obsolete Committed es.ISO8859-15 Obsolete Committed es_MX Obsolete Committed es_NI Obsolete Committed es_PA Obsolete Committed es_PE Obsolete Committed es_PY Obsolete Committed es_SV Obsolete Committed es.UTF-8 Obsolete Committed es_UY Obsolete Committed es_VE Obsolete Committed et Obsolete Committed et_EE Obsolete Committed fi Obsolete Committed fi_FI Obsolete Committed fi.ISO8859-15 Obsolete Committed fr Obsolete Committed fr_BE Obsolete Committed fr_CA Obsolete Committed fr_CH Obsolete Committed fr_FR Obsolete Committed fr.ISO8859-15 Obsolete Committed fr.UTF-8 Obsolete Committed he Obsolete Committed he_IL Obsolete Committed hr_HR Obsolete Committed hu Obsolete Committed hu_HU Obsolete Committed is_IS Obsolete Committed it Obsolete Committed it.ISO8859-15 Obsolete Committed it_IT Obsolete Committed it.UTF-8 Obsolete Committed ja Obsolete Committed ko Obsolete Committed ko.UTF-8 Obsolete Committed lt Obsolete Committed lt_LT Obsolete Committed lv Obsolete Committed lv_LV Obsolete Committed mk_MK Obsolete Committed nl Obsolete Committed nl_BE Obsolete Committed nl.ISO8859-15 Obsolete Committed nl_NL Obsolete Committed no Obsolete Committed no_NO Obsolete Committed no_NO.ISO8859-1 at bokmal Obsolete Committed no_NO.ISO8859-1 at nynorsk Obsolete Committed no_NY Obsolete Committed pl Obsolete Committed pl_PL Obsolete Committed pl.UTF-8 Obsolete Committed pt Obsolete Committed pt_BR Obsolete Committed pt.ISO8859-15 Obsolete Committed pt_PT Obsolete Committed ro_RO Obsolete Committed ru Obsolete Committed ru.koi8-r Obsolete Committed ru_RU Obsolete Committed ru.UTF-8 Obsolete Committed sh Obsolete Committed sh_BA Obsolete Committed sh_BA.ISO8859-2 at bosnia Obsolete Committed sh_BA.UTF-8 Obsolete Committed sk_SK Obsolete Committed sl_SI Obsolete Committed sq_AL Obsolete Committed sr_CS Obsolete Committed sr_CS.UTF-8 Obsolete Committed sr_SP Obsolete Committed sr_YU Obsolete Committed sr_YU.ISO8859-5 Obsolete Committed sv Obsolete Committed sv.ISO8859-15 Obsolete Committed sv_SE Obsolete Committed sv.UTF-8 Obsolete Committed th Obsolete Committed th_TH Obsolete Committed th_TH.ISO8859-11 Obsolete Committed tr Obsolete Committed tr_TR Obsolete Committed zh Obsolete Committed zh.GBK Obsolete Committed zh_TW Obsolete Committed zh.UTF-8 Obsolete Committed The project team proposes Micro/Patch release binding for EOF announcement and Minor for EOF execution. REFERENCES [1] The Open Group, UNIX Internationalization Guide, Sep. 2003. http://www.opengroup.org/bookstore/catalog/g032.htm [2] ISO 639-1 and ISO 639-2 code lists: http://www.loc.gov/standards/iso639-2/php/code_list.php [3] ISO 3166 code lists: http://www.iso.org/iso/country_codes/iso_3166_code_lists.htm [4] Changes to ISO 639-1 and ISO 639-2: http://www.loc.gov/standards/iso639-2/php/code_changes.php [5] Updates on ISO 3166: http://www.iso.org/iso/country_codes/updates_on_iso_3166.htm [6] Current Codes section of ISO 3166-3 at wikipedia.org: http://en.wikipedia.org/wiki/ISO_3166-3 [7] EOF-announcement.txt file at the materials directory of the case. [8] CR 6884493 Add ar_EG.ISO8859-6 locale 6. Resources and Schedule 6.4. Steering Committee requested information 6.4.1. Consolidation C-team Name: G11N 6.5. ARC review type: Automatic 6.6. ARC Exposure: open