https://github.com/graphql/graphql-js-wg
Working group notes for graphql-js
https://github.com/graphql/graphql-js-wg
Last synced: 10 months ago
JSON representation
Working group notes for graphql-js
- Host: GitHub
- URL: https://github.com/graphql/graphql-js-wg
- Owner: graphql
- Created: 2020-10-20T22:08:10.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-05-02T18:00:07.000Z (10 months ago)
- Last Synced: 2025-05-06T07:09:13.353Z (10 months ago)
- Language: JavaScript
- Size: 182 KB
- Stars: 27
- Watchers: 16
- Forks: 24
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-list - graphql-js-wg - js | graphql | 16 | (Others)
README
# 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](https://github.com/graphql/graphql-spec)
library and other related foundation libraries like [express-graphql](https://github.com/graphql/express-graphql) and [graphql-relay-js](https://github.com/graphql/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](https://github.com/graphql/foundation) 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/`](./agendas) for the exact date and time
of upcoming meetings.
Keep track of future upcoming meetings by subscribing to the
[Google Calendar](https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com) or [ical file](https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics). (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](./agendas).
### 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/`](./notes). If you're
interested in taking notes, sign up for a meeting in [`agendas/`](./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](http://wirfs-brock.com/allen/files/papers/standpats-asianplop2016.pdf)._
### 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](https://github.com/graphql/graphql-spec/blob/master/CONTRIBUTING.md)
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](https://preview-spec-membership.graphql.org) before making a contribution. You only need to do this one time, and it can be signed by [individual contributors](http://individual-spec-membership.graphql.org/) or their [employers](http://corporate-spec-membership.graphql.org/).
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](https://github.com/graphql/graphql-wg/tree/main/membership). If you have issues, please email [operations@graphql.org](mailto: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](https://foundation.graphql.org/join).