CB/UNIX was developed to address deficiencies
inherent in Research Unix,
notably the lack of interprocess communication and file locking
CB/UNIX was one of several versions in various divisions of Bell Labs
to implement IPC facilities beyond pipes and signals. Top management
in a division would declare that they wanted to use Unix, but needed
some particular IPC mechanism: semaphores, events, message passing, etc.--
and needed it right away. I always believed that these demands stiffer
as they percolated up through channels to the point that no alternative
mechanism would do. We in research would have preferred to seek a
general solution that would suffice to serve the various demands.
Besides, anything that we produced but didn't use ourselves would
automatically be suspect. We were very wary of featuritis.
Roughly speaking, each demand led to a different local flavor of
Unix, each (I like to think) reflecting the particular variant of
IPC with which one of its system designers worked in graduate
school. Somewhere between the wariness of research Unix, where
an ethos of generality ruled, and Linux, which offers a dozen ways
to do anything, there must lie a happy medium--a medium that I
believe would be much closer to Unix than Linux. That, alas, has
not proved to be the way of open source.