Skip to content

graphql/graphql-wg

Repository files navigation

GraphQL Working Group

GraphQL WG (Working Group) is a set of recurring virtual meetings of maintainers of commonly used GraphQL libraries and tools and significant contributors to the GraphQL community hosted by the GraphQL TSC as part of the GraphQL Foundation.

The GraphQL WG's primary purpose is to discuss and agree upon proposed additions to the GraphQL Specification via the RFC process. Additionally, the group may discuss and collaborate on other relevant technical topics concerning core GraphQL projects.

Anyone in the public GraphQL community may attend a GraphQL WG meeting, provided they first sign the Specification Membership Agreement or belong to an organization which has signed.

This repository holds agendas and notes for all meetings past and upcoming as well as shared rfc documents. Anyone may edit an upcoming event's agenda to attend or propose an agenda item.

All meetings occur via video conference, however participating company offices are welcome to host guests.

To learn more, read our guide on how to join a meeting.

Upcoming meetings

Meeting Time Host
WG (Primary) 1st Thu, 10:30am - 12:00noon PT Lee Byron
WG (Secondary, APAC) 2nd Wed, 3:30pm - 5:00pm PT Lee Byron
WG (Secondary, EU) 3rd Thu, 10:30am - 12:00noon PT Lee Byron

The primary monthly meeting is preferred for new agenda. The secondary meetings are for overflow agenda items, follow ups from the primary meeting, or agenda introduced by those who could not make the primary meeting time. There are two secondary meetings, each timed to be acceptable for those in either an Asia Pacific or European timezone.

Meetings are typically scheduled at the times listed, however always check the agenda for the exact date and time of an upcoming meeting. Keep track of future upcoming meetings by subscribing to the Google Calendar or ical.

To create the agenda files for a given month YYYY/MM, run the following command:

yarn && yarn gen-agenda YYYY MM

Subcommittee meetings

The GraphQL WG has subcomittees who focus on the development of specific projects beyond the GraphQL Spec. These subcomittees make progress within their own meetings and report back progress and decisions to GraphQL WG meetings.

Subcommittee Time Host Agenda Repo
GraphiQL 2nd Tue, 9:00am - 11:00am PT Tim Suchanek graphql/graphiql/working-group
GraphQL-over-HTTP 4th Thu, 17:30 - 18:30 UTC Benjie Gillam graphql/graphql-over-http/working-group
Incremental Delivery 2nd Mon, 10:00am - 11:00am EST Rob Richard robrichard/defer-stream-wg
Nullability 4th Wed, 19:00 - 20:00 UTC Stephen Spalding graphql/client-controlled-nullability-wg
Composite Schema 2nd Thu, 16:00am - 17:00am UTC Benjie Gillam graphql/composite-schemas-wg
GraphQL.js 4th Wed, 10:00am - 11:00am PT Jovi DeCroock graphql/graphql-js-wg

Subcommittees on hiatus

These subcommittees are currently not meeting, typically due to lack of agenda topics. Should you have a topic to discuss that applies to a subcommittee that is on hiatus, please raise an issue in the WG repository and mention the host.

Subcommittee Time Host Agenda Repo

Joining a meeting?

To request participation in an upcoming meeting, please send a pull request by editing the relevant meeting agenda.

Want to help us keep up?

We're always looking for volunteers to help take notes from the meetings, the results of which are shared in notes/. If you're interested in taking notes, sign up for a meeting in agendas/ and indicate that you're willing to be a note taker.

Participation guidelines

Meetings with many participants, especially over video, can easily get hard to follow or run off course. When we talk about issues we care about, it's easy to get into heated debate. In order to respect everyone's time, and arrive to worthwhile outcomes, consider a few guidelines:

These guidelines are heavily inspired by Allen Wirfs-Brock.

Participate

Being in the room when decisions are being made is exciting, but meetings with large groups of people are much more difficult to follow. Only attend if an agenda item directly concerns you and your work, and you expect to participate.

Don't talk too much

The biggest distraction with many people on a video call is interruption, and interruptions are frequent when someone is talking for too long. Only speak up if you have something important to add to the discussion and be courteous of others and avoid interruption.

Volunteer to take notes

The rest of the community follows along with the group's discussion by reading the meeting notes. Volunteering to take notes is a great service to that community and a great way to participate if you don't have an agenda item.

Have an outcome in mind

Know what you and your organization wish to accomplish from the meeting and make that clear to the group to keep discussion focused on what's valuable to your agenda item. Complex or challenging outcomes might take intermediate goals across multiple meetings.

Contribute

Projects like GraphQL succeed when their leaders are active contributors more than passive participants. Follow up on your discussion with pull requests to projects, or planned events.

Choose your battles

We're all passionate about GraphQL and it's easy to get mired with an opinion in every agenda item. There are many ways to solve a problem and you won't always agree with all of them. Express your views but don't argue about a topic that is not relevant to your goals.

Champion alternatives

Sometimes you'll disagree with someone but will find it difficult or impossible to convince them of the problems you see. Instead of spending your energy fighting, commit to developing an alternative proposal so future discussion can be about substance.

Block progress as a last resort

This working group is only effective when consensus can be reached, even though there may be disagreements along the way. You should avoid blocking progress if possible, otherwise you may be seen as hostile to the group. However, if you have a serious issue with a proposed agenda item outcome, you must make it clear.

Be patient and persistent

The GraphQL specification evolves slowly, deliberately, and with the consensus of the core GraphQL community. The spec contribution process requires considerable investment through multiple stages while meeting a demanding set of guiding principles. This can take a long time, and progress in each meeting can feel small. Don't give up!

Contributing to this repo

This repository is managed by EasyCLA. Project participants must sign the free (GraphQL Specification Membership agreement before making a contribution. You only need to do this one time, and it can be signed by individual contributors or their employers.

To initiate the signature process please open a PR against this repo. The EasyCLA bot will block the merge if we still need a membership agreement from you.

You can find detailed information here. If you have issues, please email [email protected].

Commit access

Commit access is granted to this repo to members of the GraphQL TSC and some regular attendees of working group meetings. To request commit access, please reach out to a TSC member.