Reserving Identifiers for future use The POSIX standards reserve a number of identifiers for future use. By specifying a list of reserved identifiers WG15 have given implementors of their standard plenty of latitude to add to the existing namespace. However, they have failed to consider the impact on writers of applications. In the last few years there has been a growing interest in the testing of applications for conformance to standards. Commercially applications are significantly more important that POSIX implementations. It is quite common for 50%, or more of the total number of POSIX related conformance problems found in an applications source code to directly relate to the definition of identifiers, by the application, reserved by the POSIX standard. In nearly all cases, in my experience, the application vendor has seen no benefit in spending substantial time in renaming identifiers (which would usually also involve changes to published, company wide, interfaces and changes to documentation). By making it so easy for an application to define an identifier that matches one given on the reserved list WG15 have weakened the strength of their standard. Vendors now actively make decisions to ignore non-conforming constructs in their source code. What can WG15 do? The simplest solution would be to remove all wording relating to the use of reserved identifiers from the conformance model. The list of reserved identifiers would be informative only. If the WG15 felt that use of some identifier spellings ought to be part of the conformance statement then they should consider very carefully any additions to the existing list. They should also consider removing the following, existing reserved spellings: 1) All identifiers ending in _t 2) All those cases where a short initial sequence of characters followed by any number of characters is reserved without the need to include a particular system header. To prevent additional, unnecessary non-conformities the following rules should be adopted: 1) Where possible a spelling only becomes reserved when a specified system header is included. 2) A spelling that does not require a specific header to be included should include at least four specific characters in its matchin pattern, preferably mixed case.