/graphql-js-wg

Working group notes for graphql-js

Primary LanguageJavaScript

GraphQL-JS Working Group

GraphQL-JS WG (Working Group) is a monthly virtual meeting of maintainers of commonly used GraphQL libraries and tools and significant contributors in the Javascript ecosystem, operated by the GraphQL Foundation.

The GraphQL-JS WG's primary purpose is to discuss and agree upon proposed changes to the GraphQL-JS library and other related foundation libraries like express-graphql and graphql-relay-js. Additionally, the group may discuss and collaborate on other relevant technical topics concerning core Javascript GraphQL projects.

Anyone in the public GraphQL community may attend a GraphQL-JS 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. 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.

Meetings are typically scheduled for the last Wednesday of each month at 5:00pm UTC. Check the agendas/ for the exact date and time of upcoming meetings.

Keep track of future upcoming meetings by subscribing to the Google Calendar or ical file. (maintained in UTC because time zones are hard).

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

yarn && yarn gen-agenda YYYY MM

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 projects 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 operations@graphql.org.

If your company benefits from GraphQL and you would like to provide essential financial support for the systems and people that power our community, please also consider membership in the GraphQL Foundation.