11.6.2 Temporary - About catgets

There have been a few discussions of late on the use of
catgets as a base. I think it important to present both
sides of the argument and hence am opting to play devil’s advocate
for a little bit.

I’ll not deny the fact that catgets could have been designed
a lot better. It currently has quite a number of limitations and
these have already been pointed out.

However there is a great deal to be said for consistency and
standardization. A common recurring problem when writing Unix
software is the myriad portability problems across Unix platforms.
It seems as if every Unix vendor had a look at the operating system
and found parts they could improve upon. Undoubtedly, these
modifications are probably innovative and solve real problems.
However, software developers have a hard time keeping up with all
these changes across so many platforms.

And this has prompted the Unix vendors to begin to standardize their
systems. Hence the impetus for Spec1170. Every major Unix vendor
has committed to supporting this standard and every Unix software
developer waits with glee the day they can write software to this
standard and simply recompile (without having to use autoconf)
across different platforms.

As I understand it, Spec1170 is roughly based upon version 4 of the
X/Open Portability Guidelines (XPG4). Because catgets and
friends are defined in XPG4, I’m led to believe that catgets
is a part of Spec1170 and hence will become a standardized component
of all Unix systems.