The most useful framing was that WASI 0.3 is not trying to be “
POSIX for WebAssembly” anymore. It is trying to be a standard way to define capability-limited, cross-language component boundaries for sandboxed code. That clicked for people building plugin systems, workflow engines, edge runtimes, user-submitted code execution, and browser or server environments that need to run code from many languages with tight control over permissions. In that world, the component model is not extra ceremony. It is the point. It gives hosts a typed interface contract, better sandboxing than native plugins, and a portable artifact that is not tied to one operating system or CPU.
That also explains the backlash. People who liked early WASI because it was a simple way to run existing C or POSIX-like tools inside Wasm do not see much value in the newer abstractions. For them, the old model already hit the sweet spot. They worry the scope expanded from “system interface” into a much broader standard interface layer before the original target was finished. Several comments argued this makes WASI harder to follow, harder to implement, and less trustworthy as a stable target.
The strongest defense of 0.3 was technical rather than ideological. Async was impossible to express cleanly in WASI 0.2, which forced blocking abstractions that were a poor fit for many hosts and left performance on the table at the foreign function interface boundary. Moving to futures and streams is not just abstraction fever. It is a way to match modern runtimes more naturally and reduce translation overhead between
guest and
host. A related implementation detail calmed one concern: stackful async in the component
ABI does not require the still-spotty Wasm stack-switching proposal, because runtimes can implement it with host support today.
The mood was mixed but engaged. Plenty of people are already using WASI-style tooling in production-adjacent niches, especially for plugins and untrusted code, which undercut the idea that Wasm has failed to find a use. But even supporters treated 0.3 as a moving target. The consensus was blunt: if you want stability, this is not the release to bet your platform on. If you want the direction of travel for sandboxed, typed, multi-language components, this is it.