Web-interoperable Runtimes Community Group
The Web-interoperable Runtimes Community Group (WinterCG) is a community of people who are interested in interoperability across server-side (Deno / Node.js) or edge JavaScript runtimes (Cloudflare Workers / Deno Deploy), especially for Web Platform APIs.
The WinterCG is organized as a W3C Community Group. This gives the group access to the W3C's vast infrastructure and its IPR policy work. This is the same type of community that the WICG is organized in.
The ultimate goal of the group is to promote runtimes supporting a comprehensive unified API surface that JavaScript developers can rely on, regardless of whether their code will be used in browsers, servers, or edge runtimes.
It is another goal of WinterCG that runtimes with needs for capabilities beyond web platform APIs, in particular server-side and edge runtimes, still have unified surfaces.
The members of the group want to provide a space to better coordinate between server-side implementors, as well as with browser vendors, on how to best achieve this interoperability.
It is not explicitly a goal of WinterCG to promote such a unified API surface for other JavaScript environments, such as embedded applications. However, the results of our work could be useful to such environments nonetheless.
We want to provide guidance and documentation on how server side runtimes can best implement Web Platform APIs and to what extent they could deviate from browsers.
We want to provide feedback to spec authors of Web Platform APIs from the view point of non-browser runtimes to help them make informed decisions about future changes and additions to these specifications.
We want to develop and incubate new APIs that, although they might be too powerful for the Web Platform or not fit within its security model, would still be a great fit for server-side runtimes and would be part of a comprehensive unified API surface for such runtimes.
The members of this group all share the belief that a comprehensive unified API surface for JS runtimes is something that would benefit the JS community as a whole. In the past members have individually worked on making this a reality.
This disparate approach with little coordination has historically led to much confusion between not just browser vendors, spec authors, and other implementors, but also between non browser implementors and other non browser implementors on topics of unified API. This was often caused by the fact that discussions were spread over various disparate issue and PR comments with often little context or cohesion between them.
We think that by working together more tightly we can provide browser vendors and specification editors with more meaningful feedback from users of non-browser JS runtimes. This will help them make informed decisions about future specification changes that relate to the goal of a comprehensive unified API surface for JS runtimes.
We do not want to fork or create new versions of existing specifications. If we think a new web platform API is needed, or if we think an existing spec needs changes, the goal is always for that change or addition to be developed in an existing venue (such as WHATWG or W3C). WinterCG will publish requirements on what those changes could be, and it will be up to that existing standards body to make these changes, possibly through members who are part of both WinterCG and that standards body.
We do not want to create new server-side APIs that overlap with existing web platform APIs. If there is a proposed or standardized web API that overlaps with the needs of server-side runtimes, the goal is always to investigate what changes (if any) it would need to be useful for servers; and once those changes have been incorporated to the specification, to eventually add the API to the minimum common set.
We are not trying to shift the focus of Web Platform APIs to only serve server-side runtimes. We want to see more API surface that is useful and works great both in browsers and on the server.
The group strives for rough consensus among contributors for changes to work products. Instead of formal consensus, the editors for a given work product make the judgement on whether a change is ready for inclusion and has enough support from the group. The group itself has a strict consensus policy outlined in the charter, which is overseen by the group chairs.
The WinterCG is controlled by the community of people who are working in it. The chair(s) of the group help moderate discussion and help guide the group towards consensus on proposed changes.
Currently the group consists of individual members, and members from the following organizations:
The group is open to anyone who also shares the interest in using Web Platform APIs outside of the browser. You can join here. You do not need to be a W3C member to participate. Community group participation is free of charge.