I don't think it's fair to say this work has happened in the shadows. I work on CNCF wasmCloud, and I know how hard we try to make this content available.
I mean this, though - what else would you like to see to try and make the content and process more accessible? Are there communities that are doing this really well that we could use for inspiration?
At 18:00 the speaker states something like "It should not be Systems Interface but Standard Interfaces" which honestly sounds like a different project. As an implementer or even as just a user in general, can it be trusted that tomorrow it isn't something completely different? Seems like an odd standard to follow.
(EDIT and aside: Rereading this it reads more dismissive than I meant it. So if this isn't clear: I want WASI to succeed. I think having a widely used system interface is great, but I think many know standards that suffered from scope creep. And while big successful standards for better or for worse at least have a chance of surviving this, WASI as the 0.3 indicates is in its infancy. So I worry about it turning out bad, leading to people abandoning the idea altogether or the standard losing sight of its initial goal. So while this is criticism the only reason I bother to write it in first place is because I badly want it to succeed. I worry that if WASI tries to do too much at once - and I totally understand wanting to do that - it makes it less likely to be successfully implemented and thereby less likely to succeed as a standard.)
I get that. That's not my criticism. My criticism is that you can do say that about many things. With that argument you can essentially encompass everything, which is cool in a way, but also means that the scope is at least bigger than the original - hence what the speaker says.
What I worry about here is that when I think about implementing it the scope will likely grow as well. And while I very much get the wish to encompass things in a standard (I think everyone who ever wrote any kind of specification knows that) a standard doing that extension when the initial goal of being a (commonly used) system interface isn't achieved - at least that's how'd interpret being 0.3 now - then what if that scope extends like that. Will we see full implementations?
To me it seems like maybe it would have made sense to separate that a bit. Something like a WASI based standard. Or something else. The fact that you almost need to change your name like this indicates that you went quite a bit away from the initial goal and doing that before a 1.0 seems like a very early point to get of course for any project. Sure sometimes you find out that you have looked at it from the wrong angle, but honestly this doesn't look like it. This looks a lot more "this is something we can reuse".
It was not fair. It was how I felt trying to build on it. I love the content that was produced, but it was all very experimental and garden shedded from a decision-making angle.
To answer directly, I would credit the PSF and python community with having the best structure that has outlasted my weirdest expectations.
Yeah, I feel that - everything was so green in the beginning that getting a Hello World together was painful. When I started, I was still at a big bank, and there wasn't even an IDL selected, so we just started building with SMITHY. Then adopting WIT, etc...
I would say now, especially with AI and Rust, it is night and day. I think as folks come to the conclusion that they care more about what gets built than the how it is done, they start to feel the need for a sandbox. So, WASI P3 is coming along at a really fortunate time. I haven't had any issue nearly oneshotting things directly into wasm with claude.
I appreciate the suggestion on good communities doing it well.
On the CNCF wasmCloud Community call this week we played with this:
- a demonstration of Endive
- implemented CNCF wasmCloud host
- Integrated into Vert.x as an example
Oh man, we have struggled with this- and I wrote the copy under the Build / Compose / Run tab to try and surface what we felt were the most salient points.
For WebAssembly Components- we have tiny, portable code, with a standard ABI that lets us compose between languages. For execution, 50 ns start time means that you can start on demand 'with no cold starts'; the converse is true - scaling to zero.
Because you can scale it and run it only when you need to you can be more reliable (run it in more places) while still operating in a cost efficient way.
It's a subtle story that can be hard to communicate. Thank you for the feedback, we're always trying to do better.
One of the absolute highlights of my trip to Kubecon 2022 NA was a fireside chat hosted by Vertex Ventures with Docker CEO Scott Johnston and Kelsey Hightower. The conversation immediately turned to wasm, and in an incredible conversation, Scott and Kelsey discuss where wasm is today, why developers were adopting wasm, and what the future might hold. For those looking to understand Dockers recent announcement for Wasm support, I think this conversation can give you some insight.
This is Liam, co-founder of wasmCloud, founder of Cosmonic, and co-chair of the CNCF Cloud Native Wasm Day.
I don't think this is actually as crazy as it sounds - when we designed the messaging around CNCF, container, and WebAssembly we deliberately went with a better together story.
Why?
In a large enterprises you have huge systems that each represent a variety of concerns - security, compliance, governance, reputation, etc, etc. These systems show up as stakeholders in software development like gates in CI/CD.
Starting with something like wasmCloud inside a container today lets enterprises leverage their existing benefits while still achieving _many_of the benefits of WebAssembly and wasmCloud. wasmCloud publishes docker containers, helm charts, and integrations with service mesh for that reason.
Start where your users are today and take them where you want to go.
Thanks for the comment, Liam. In honesty, I was only thinking about the simple security use cases, but your comment makes it obvious that this will become a huge marketplace very quickly. You are clearly much closer to the puck than I am !
Hey, it's a gigantic tent and their is room for all kinds of approaches. wasm and wasmCloud both work great on their own and can go to a lot of places that k8s can't - non Linux OS's and places where we don't even think in terms of process (ie the browser).
WebAssembly really gives us two degrees of portability:
1. CPU / OS / Execution portability; as standard way to package code.
2. A deny by default _security_ model that works the same across all of these different platforms.
Mostly what I was commenting on was how they are building some type of declarative infrastructure where they define the topology they want and then system will build it. This was screaming k8s to me.
- Many standing meetings organized around SIGs, all on the public community calendar: https://calendar.google.com/calendar/u/0/newembed?src=events...
- A dedicated Zulip: https://bytecodealliance.zulipchat.com/
- Conferences organized around exactly these topics: Wasm Day, WasmCon, Wasm I/O, and the Bytecode Alliance Plumbers Summit
- CNCF projects: wasmCloud, Spin
- Blogs, many with recordings, summaries, and transcripts: https://bytecodealliance.org/articles/the-road-to-component-..., https://wasmcloud.com/community/, https://spinframework.dev/blog/index
If you want the architectural direction straight from the source, Luke Wagner's keynotes are the best place to start:
- "What is a Component (and Why)?" (WasmCon 2023): https://www.youtube.com/watch?v=tAACYA1Mwv4
- "The Path to Components": https://www.youtube.com/watch?v=phodPLY8zNE
- "Towards a Component Model 1.0" (Wasm I/O 2026): https://www.youtube.com/watch?v=qq0Auw01tH8
I mean this, though - what else would you like to see to try and make the content and process more accessible? Are there communities that are doing this really well that we could use for inspiration?
reply