"Today, we're happy to make available a developer preview of the Native Client SDK - an important first step in making Native Client more accessible as a tool for developing real web applications. When we released the research version of Native Client a year ago, we offered a snapshot of our source tree that developers could download and tinker with, but the download was big and cumbersome to use. The Native Client SDK preview, in contrast, includes just the basics you need to get started writing an app in minutes."

There is no such thing as "compile&run everywhere". Binary format and system calls are heavily OS-dependent. Hence someone, somewhere, has to choose which OSs are being supported. And less-common operating systems like Haiku can die. This is not the case with interpreted languages like Java, Python, and ECMAscript, where any new OS can easily read the spec and implement it. Here the people writing the web app or the spec choose which OSs are supported.

As far as I know, NaCl is OS independent and, in the near future, PNaCl will address the CPU dependence too.