Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

meta: add GOVERNANCE.md #5679

Draft
wants to merge 1 commit into
base: trunk
Choose a base branch
from

Conversation

ErichDonGubler
Copy link
Member

No description provided.

@ErichDonGubler
Copy link
Member Author

Currently in draft to reflect that I would like feedback from decision-making groups identified in this current revision. To wit: @gfx-rs/wgpu, @gfx-rs/naga

I've given my best first approximation of how governance currently works in the WGPU project, but I expect that there's quite a bit I'm missing, or that's not quite correct.

The WGPU community's decision-making is influenced by the following
groups:

* Connor Fitzgerald (@cwfitzgerald)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's call this community leadership and have me, wumpf, groves


* Connor Fitzgerald (@cwfitzgerald)
* Firefox's WebGPU team
* Other users that ship applications based on WGPU
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should mention deno and crowlkats

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was careful to avoid mentioning groups smaller than Firefox (because I don't want details that are prone to changing in a document that seems frankly unlikely to get updated often), but if you'd like them explicitly mentioned, then SGTM!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have an explicitly special relationship with deno (we host deno_webgpu!) which has existed for a few years, I don't expect this to really change. We could also put him under the community banner, as I think of him as part of community interest.

Comment on lines +1 to +3
NOTE: The following is a snapshot of a perpetually changing state of affairs in
the WGPU community. It is not a binding contract between users and
decision-makers of the WGPU project.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be at the end - this is legaleze no user cares about.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that having it at the front is the only way it'll ever be seen, but 🤷🏻‍♂️ I don't have particularly strong feelings about the position.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This strikes me as the kind of thing that exists so we can point to when someone tries to be an ass and use this document against us.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think your analysis is on point. 🙂

portable and performant graphics programs_. It was originally conceived to
provide an implementation of WebGPU for Firefox as the standard evolved and
settled into something that could be shipped on all web browsers. WGPU has also
enjoyed much contribution and use from other projects that requires graphics
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
enjoyed much contribution and use from other projects that requires graphics
enjoyed much contribution and use from other projects that require graphics

Comment on lines +21 to +27
1. …provides an implementation of the WebGPU API that is…
1. …correct and fully conformant.
1. …portable across all major platforms.
1. …performant enough to enable demanding applications.
1. …serves as a platform of experimentation for:
1. …WebGPU standards development.
1. …native application authors.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very happy with the first point, but I feel a few important aspects of wgpu are not quite captured yet here:

  • seamless use as a graphics backend in applications targeting both native & web
  • provide a WebGPU style graphics API abstraction to native Rust applications

currently 'native' is only under the "platform of experimentation" which sounds a bit like anything that isn't part of a WebGPU implementation isn't fully supported.
I'm still pondering a bit how much our many many native extensions are directly part of the mission: they're clearly in part (!) experimentation but realistically this is far outside of what can be expected to be part of WebGPU any time soon. But these are still important pieces in providing a flexible WebGPU-like api to native Rust users, so I believe this deserves a place here.
My understanding of wgpu's mission is first WebGPU impl (as already well described above), then native graphics abstraction library with seamless web support, then platform for experimentation as described. All of these are obviously interconnected (well otherwise we wouldn't put it into a single family of libraries), but they do occasionally pull into different directions and it's worth pointing them and the implicit hierarchy out

meritocratic: social influence is granted proportionate to groups' contribution
to and stake in WGPU's mission.

These decision-making groups meet together regulrly to discuss issues of
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: regulrly -> regularly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants