forked from WebAssembly/WASI
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Start moving WASI to a CG-style phases process. (WebAssembly#252)
Adapt the WebAssembly CG's phases process for WASI, and make an initial mapping of current WASI proposals to phases within this process. This is quite rough at this time, and not everything fits in quite yet, and we can adjust things. This is a first step, and we'll work for greater harmonization as we proceed.
- Loading branch information
1 parent
490a406
commit ef3c605
Showing
3 changed files
with
109 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# WASI Standardization Process | ||
|
||
WASI follows the [WebAssembly CG Phases process], with the following adaptations: | ||
|
||
- Entry into Stage 2 requires [witx] specifications. | ||
|
||
- Starting in Stage 2, proposals may follow WASI's [ephemeral/snapshot/old] process | ||
to provide a balance between the need for stability so that toolchains and engines | ||
can sync up, and the need for evolution. | ||
|
||
- The Phase 4's entry requirements for "Two or more Web VMs implement the feature", | ||
"At least one toolchain implements the feature", and "The formalization and the | ||
reference interpreter are usually updated (though these two can be done as part | ||
of step 3 at the Working Group chair's discretion)." are waived. | ||
|
||
In their place, as an additional entry requirement into Phase 2, champion(s) must | ||
include a set of entry criteria into Phase 4 in their proposal, which the Subgroup | ||
will vote on as part of Phase 2 approval. | ||
|
||
Phase 4 criteria will vary depending on the API and its expected use cases, | ||
but may include things like multiple independent production implementations, | ||
implementations on multiple host platforms, polyfill implementations, and | ||
bindings in toolchains and libraries. Note that, portability requirements may | ||
vary between proposals, as not all features will necessarily make sense in all | ||
host environments. | ||
|
||
- The specific process in Phases 4 and 5 will be determined when we have a | ||
proposal ready for them. | ||
|
||
- Requirements around the reference interpreter don't apply. | ||
|
||
- WASI proposals don't require formal notation. Formal notation may be used in the | ||
documentation of a feature, but it isn't expected to be practical for all APIs. | ||
|
||
[WebAssembly CG Phases process]: https://github.com/WebAssembly/meetings/blob/master/process/phases.md | ||
[witx]: https://github.com/WebAssembly/WASI/blob/master/docs/witx.md | ||
[ephemeral/snapshot/old process]: https://github.com/WebAssembly/WASI/blob/master/phases/README.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# WASI proposals | ||
|
||
This page is under construction. The intent is to follow the CG's | ||
[proposals page], but adapted for [WASI]. Some of the proposals predate our | ||
adoption of this process and so don't fit exactly into the defined phases, | ||
however our intention is to align them going forward. | ||
|
||
[WASI]: https://github.com/WebAssembly/WASI | ||
[proposals page]: https://github.com/WebAssembly/proposals/blob/master/README.md | ||
|
||
## Active proposals | ||
|
||
Proposals follow [this process document](https://github.com/WebAssembly/WASI/blob/master/docs/Process.md). | ||
|
||
### Phase 4 - Standardize the Feature (WG) | ||
|
||
| Proposal | Champion | | ||
| ------------------------------------------------------------------------------ | -------------------------------------- | | ||
|
||
### Phase 3 - Implementation Phase (CG + WG) | ||
|
||
| Proposal | Champion | | ||
| ------------------------------------------------------------------------------ | -------------------------------------- | | ||
|
||
### Phase 2 - Proposed Spec Text Available (CG + WG) | ||
|
||
| Proposal | Champion | | ||
| ------------------------------------------------------------------------------ | -------------------------------------- | | ||
| [I/O][wasi-io] | Dan Gohman | | ||
| [Filesystem][wasi-filesystem] | Dan Gohman | | ||
| [Command-Line][wasi-command-line] | Dan Gohman | | ||
| [Clocks][wasi-clocks] | Dan Gohman | | ||
| [Random][wasi-random] | Dan Gohman | | ||
| [Misc][wasi-misc] | Dan Gohman | | ||
|
||
### Phase 1 - Feature Proposal (CG) | ||
|
||
| Proposal | Champion | | ||
| ------------------------------------------------------------------------------ | -------------------------------------- | | ||
| [Crypto][wasi-crypto] | Frank Denis and Daiki Ueno | | ||
|
||
### Phase 0 - Pre-Proposal (CG) | ||
|
||
| Proposal | Champion | | ||
| ------------------------------------------------------------------------------ | -------------------------------------- | | ||
| [proxy-wasm][wasi-proxy-wasm] | Piotr Sikora | | ||
|
||
### Contributing new proposals | ||
|
||
Please see [Contributing to WebAssembly](https://github.com/WebAssembly/WASI/blob/master/Contributing.md) for the most up-to-date information on contributing proposals to standard. | ||
|
||
[wasi-io]: https://github.com/WebAssembly/WASI/phases | ||
[filesystem]: https://github.com/WebAssembly/WASI/phases | ||
[wasi-command-line]: https://github.com/WebAssembly/WASI/phases | ||
[clocks]: https://github.com/WebAssembly/WASI/phases | ||
[random]: https://github.com/WebAssembly/WASI/phases | ||
[misc]: https://github.com/WebAssembly/WASI/phases | ||
[wasi-crypto]: https://github.com/WebAssembly/WASI-crypto | ||
[wasi-proxy-wasm]: https://github.com/WebAssembly/WASI |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters