Plan 9 was born in the same lab where Unix began. Underneath, though, lies a new kind of system, organized around communication and naming rather than files and processes. In Plan 9, distributed computing is a central premise, not an evolutionary add-on. The system relies on a uniform protocol to refer to and communicate with objects, whether they be data or processes, and whether or not they live on the same machine or even similar machines. A single paradigm (writing to named places) unifies all kinds of control and interprocess signaling.
Plan 9 From User Space is a port of the bulk of the Plan 9 software build environment to Unix. While the libraries make an attempt to play nice with the rest of the system (by using the Unix rules for printf verbs and Unix system headers, for example), this port tries to reproduce the Plan 9 build environment as faithfully as possible, providing u.h and libc.h, and blithely redefining tokens such as open, dup, and accept in order to provide implementations that better mimic the Plan 9 semantics. The result is a more complicated and less Unix-friendly environment, but Plan 9 programs can typically be compiled with little or no changes.