Mozilla Building Mobile Operating System to Rival Google's Chrome OS
NaCl, known as "Salt" because NaCl is the molecular formula for salt, is a sandboxing technology for running a subset of Intel x86 native code using software-based fault isolation. The Google Native Client technology uses software fault isolation (SFI) to enable the execution of untrusted native code inside a Web browser, giving Web applications greater access to the performance of the client machine while avoiding the security problems with current infrastructure for plug-ins. PNaCl, pronounced Pinnacle, is a suite of tools for building, testing and distributing Native Client programs in an instruction-set neutral format. PNaCl uses the Low-Level Virtual Machine (LLVM) bitcode format to represent instruction set architecture (ISA) neutral portable executables compiled from code written in a variety of languages including C and C++. Gal summed up Mozilla's goals for B2G:"Those New Web APIs are for the standardized, portable content languages (JS/HTML/CSS). We are not looking to run native code, especially given the requirements for a new plug-in API, complex toolchain, etc. We're following NaCl, including the PNaCl work, but it is not ready for prime time, and we'd have to spend a lot of people and time integrating and tracking it. The opportunity cost on pushing the open web standard is very high, at least for our community."Google can much better afford to invest in NaCl, but that won't necessarily make a standard. The toolchains and OSes are likelier to support control-flow integrity enforcement in native code sooner than the browser makers, IMHO."
"A number of intermediate steps are possible. I am very interested in making a beefed up web stack with powerful local APIs available to users of existing devices. I think we can do this without distracting from the ultimate goal: breaking the stranglehold of proprietary technologies over the mobile device world."