>   Why is this any better than Cygwin? A software layer is a
>   software layer is a software layer. Putting one between you

Cygwin doesn't work. It's practically impossible to have to Cygwin dependent
applications running at the same time.
Furthermore Cygwin creates an artificial filesystem, which is good Unix
applications, but not a requirement for more enlightened applicatoins - for
example, the stdlib in C works fine on many platforms, it's just too limited
to cover all OS aspects. Cygwin isn't really what we need either. We need a
good common API not an API that try be that of another with limited success.
For example - no reason to have fork. Fork simply doesn't make sense on
Windows and there is no reason to create processes using fork on Unix except
for backward compatibility.

>   and the OS is always a measure of last resort. If there was one
>   that truly worked, then you'd see a lot less projects
>   developing their own. The fact that every major project seems
>   to be developing it's own runtime layer leads me to conclude
>   that they all suck in various ways.

No single library has been big enough to provide a stable platform. I was
figuring perhaps Apache might change this. Also because, as mentioned, more
and more development is towards the Web rather than towards a specific OS.

>   Personally, I think the sane way is to focus on Posix and
>   implement workarounds when they are needed. But, I am
>   admittedly windows-phobic.

I'd agree if it wasn't for the practical perspective. It don't understand
why MS deliberately avoids being Posix compatible (even after having been
Posix certified...). All they have gained is that all innovation has moved
to Unix / Linux. However, fact is that MS is non-posix and that I haven't
seen a good Posix layer for Windows.
Anyway, as long as MS consistently avoids to achieve compatibility
developers have to struggle. Look at QNX to see how a definitely non-Unix OS
works quite well with the Posix interface.

Mikkel