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
friends are defined in XPG4, I'm led to believe that
is a part of Spec1170 and hence will become a standardized component
of all Unix systems.