-
Notifications
You must be signed in to change notification settings - Fork 1.5k
How to join a working group #2158
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
Changes from 11 commits
d0aef9d
ff77dee
65530d4
f4784b8
7c3fb96
6fe763f
9a10ef0
8f37ecc
23467e0
12e6ef7
d857b4f
ceeea79
e4e81e5
961fb97
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,9 +1,9 @@ | ||
| export default { | ||
| "essential-links": "", | ||
| grant: "Community Grant Program", | ||
| development: "Participating in Development", | ||
| governance: "GraphQL Project Governance", | ||
| "how-graphql-is-developed": "", | ||
| "project-resources": "", | ||
| "project-meetings": "", | ||
| development: "Participating in Development", | ||
| grant: "Community Grant Program", | ||
| "essential-links": "", | ||
| "project-resources": "", | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,17 +1,75 @@ | ||
| import { Cards } from "../../../components/cards" | ||
|
|
||
| # Participating in Development | ||
|
|
||
| GraphQL is developed in the open, through [GitHub](https://github.com/graphql) and working group meetings that are open for anyone to attend (so long as they are covered under the [free membership agreement](https://github.com/graphql/graphql-wg/tree/HEAD/membership)). In addition, anybody is welcome to view the [recordings of our meetings on YouTube](https://youtube.graphql.org) | ||
|
|
||
| ## First steps | ||
|
|
||
| If you want to get involved in GraphQL, add yourself to the meeting agenda for one of our [working groups or implementations](https://github.com/graphql/graphql-wg/blob/main/GraphQL-TSC.md#about-the-graphql-specification-project), sign the document if you haven't already, and show up! Or, if you prefer, just open a PR against our projects as this will also initiate the spec membership signature process. | ||
|
|
||
| We welcome your participation! | ||
|
|
||
| ## Getting up to speed | ||
|
|
||
| All of our work [happens in the open](https://github.com/graphql). In addition, we record our workgroups' meetings on [YouTube](https://youtube.graphql.org). If you are interested in quickly getting up to speed on what's happening in a working group, the meeting minutes and [replays](https://youtube.graphql.org) are a great place to begin. | ||
| All of our work [happens in the open](https://github.com/graphql). In addition, we record our workgroups' meetings on [YouTube](https://youtube.graphql.org). If you are interested in quickly getting up to speed on what's happening in a working group, the [meeting minutes](https://github.com/graphql/graphql-wg/tree/main/notes) and [replays](https://youtube.graphql.org) are a great place to begin. | ||
|
|
||
| ## Asking questions | ||
|
|
||
| The best place to ask a development-related question is in a working group meeting, or by opening a GitHub issue. Please note that if you have an implementation question, you may get a faster answer by [asking in one of the channels more geared toward users](/community/resources/official-channels/). | ||
|
|
||
|
|
||
| ## GraphQL projects and implementations | ||
|
|
||
| <Cards | ||
| items={[ | ||
| { | ||
| title: "GraphQL Specification", | ||
| link: "https://github.com/graphql/graphql-spec", | ||
| description: "This is a Working Draft of the Specification for GraphQL, a query language for APIs created by Facebook. The target audience for this specification is not the client developer, but those who have, or are actively interested in, building their own GraphQL implementations and tools. To join in with its development, join the main GraphQL Working Group", | ||
| }, | ||
| { | ||
| title: "GraphQL over HTTP Specification", | ||
| link: "https://github.com/graphql/graphql-over-http", | ||
| description: "HTTP is the most common choice as the client-server protocol when using GraphQL because of its ubiquity. However the GraphQL specification deliberately does not specify the transport layer. This specification is intended to fill this gap by specifying how GraphQL should be served over HTTP. ", | ||
| }, | ||
| { | ||
| title: "GraphQL Scalars Specification", | ||
| link: "https://github.com/graphql/graphql-scalars", | ||
| description: "Providing a directory of GraphQL Custom Scalar specifications, contributed by the community. GraphQL Custom Scalar specifications are language agnostic and thus can be used to document and standardize behavior across different languages.", | ||
| }, | ||
| { | ||
| title: "Dataloader", | ||
| link: "https://github.com/graphql/dataloader", | ||
| description: "A generic utility to be used as part of your application's data fetching layer to provide a simplified and consistent API over various remote data sources such as databases or web services via batching and caching.", | ||
| }, | ||
| { | ||
| title: "GraphiQL IDE", | ||
| link: "https://github.com/graphql/graphiql", | ||
| description: "Whether you want a simple GraphiQL IDE instance for your server, or a more advanced web or desktop GraphQL IDE experience for your framework or plugin, or you want to build an IDE extension or plugin, you've come to the right place!", | ||
| }, | ||
| { | ||
| title: "GraphQL.js", | ||
| link: "https://github.com/graphql/graphql-js", | ||
| description: "The JavaScript reference implementation for GraphQL.", | ||
| }, | ||
| { | ||
| title: "GraphQL Playground", | ||
| link: "https://github.com/graphql/graphql-playground", | ||
| description: "GraphQL IDE for better development workflows (GraphQL Subscriptions, interactive docs & collaboration).", | ||
| }, | ||
| { | ||
| title: "libgraphqlparser", | ||
| link: "https://github.com/graphql/libgraphqlparser", | ||
| description: "A parser for GraphQL, a query language for describing data requirements on complex application data models, implemented in C++11.", | ||
| }, | ||
| { | ||
| title: "Relay Library for GraphQL.js", | ||
| link: "https://github.com/graphql/graphql-relay-js", | ||
| description: "A library to allow the easy creation of Relay-compliant servers using the GraphQL.js reference implementation of a GraphQL server.", | ||
| }, | ||
|
||
| { | ||
| title: "SWAPI GraphQL Wrapper", | ||
| link: "https://github.com/graphql/swapi-graphql", | ||
| description: "A wrapper around the Star Wars API, or \"swapi\" (Swah-pee) the world's first quantified and programmatically-accessible data source for all the data from the Star Wars canon universe, converting it into a GraphQL schema.", | ||
| }, | ||
| ]} | ||
| /> | ||
|
|
||
| If you want to get involved in GraphQL, add yourself to the meeting agenda for one of our [working groups or implementations](https://github.com/graphql/graphql-wg/blob/main/GraphQL-TSC.md#about-the-graphql-specification-project), sign the document if you haven't already, and show up! Or, if you prefer, just open a PR against our projects as this will also initiate the spec membership signature process. | ||
|
||
|
|
||
| We welcome your participation! | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,21 +1,36 @@ | ||
| import { Cards } from "../../../components/cards" | ||
| import { Callout } from 'nextra/components' | ||
| import { Steps } from 'nextra/components' | ||
|
|
||
| # Project Meetings | ||
|
|
||
| All GraphQL technical meetings are open to anyone who is interested, so long as they first complete the [GraphQL Specification Membership agreement](https://github.com/graphql/graphql-wg/tree/HEAD/membership). | ||
| All GraphQL technical meetings are open to anyone who is interested, so long as they first complete the [GraphQL Specification Membership agreement](https://github.com/graphql/graphql-wg/tree/HEAD/membership). Participation in the technical meetings is free. | ||
jemgillam marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| All GraphQL technical meetings should appear on the [GraphQL public calendar](https://calendar.graphql.org). If a project's meeting isn't on the calendar or is incorrect, please email [email protected]. | ||
|
|
||
| - **Who can join GraphQL technical meetings:** Anyone who has signed the free [GraphQL Specification Membership agreement](https://github.com/graphql/graphql-wg/tree/HEAD/membership). | ||
| ## Who can join GraphQL technical meetings? | ||
|
|
||
| - **How to join:** Each GraphQL project must maintain an agenda document for each meeting, and each attendee must add themselves to it prior to attending. To join, open a PR to add your name to the attendee list on an upcoming meeting's agenda (for example, the [GraphQL Working Group](https://github.com/graphql/graphql-wg/tree/HEAD/agendas) or [GraphQL.js](https://github.com/graphql/graphql-js-wg/tree/main/agendas)). The agenda document will have the date, time and Zoom links. | ||
| Anyone who has signed the free [GraphQL Specification Membership agreement](https://github.com/graphql/graphql-wg/tree/HEAD/membership). | ||
|
|
||
| import { Callout } from 'nextra/components' | ||
| ## Quick guide: How to join | ||
|
|
||
| 1. Sign the GraphQL Specification Membership agreement (first time only) | ||
| 1. Open a pull request against the [EasyCLA repository](https://github.com/graphql/easycla) | ||
| 1. Follow the steps provided by the EasyCLA bot | ||
| 1. Choose to sign the CLA as an individual or on behalf of a corporation | ||
| 1. Open a pull request against the meeting's agenda (forking if necessary) | ||
| 1. Add your name and affiliation to the agenda | ||
| 1. Add any agenda items, with a time estimate (optional) | ||
| 1. Join using the provided Zoom link | ||
| 1. Notes are taken by AI, and volunteers are welcome to add to a shared notes doc during the meeting | ||
| 1. Meetings are recorded and later made available on the [GraphQL Foundation Working Groups YouTube channel](https://www.youtube.com/@GraphQLFoundation) | ||
|
|
||
| [See below for detailed instructions](#how-to-join-a-meeting) on how to sign the membership agreement and join a meeting using a GitHub pull request. | ||
jemgillam marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| <Callout type="warning"> | ||
| **IMPORTANT:** Your PR against the agenda **must** be merged before you can attend. If the EasyCLA bot says you are not covered, you need to follow the links in the bot's comment to sign the [GraphQL Specification Membership agreement](https://github.com/graphql/graphql-wg/tree/HEAD/membership) before you can attend. | ||
| </Callout> | ||
|
|
||
| If you have questions about this process, please ask [[email protected]](mailto:[email protected]). | ||
|
|
||
| ## GraphQL Working Group / TSC meeting | ||
|
|
||
| The [GraphQL Working Group](https://github.com/graphql/graphql-wg) meets on the first Thursday of each month. When there are topics to address, the [GraphQL Technical Steering Committee (TSC)](https://github.com/graphql/graphql-wg/blob/HEAD/GraphQL-TSC.md) may meet briefly prior to the start of the Working Group meeting. | ||
|
|
@@ -24,8 +39,110 @@ The goal of the working group meeting is to discuss current work and future plan | |
|
|
||
| To join, add yourself to an [upcoming meeting agenda](https://github.com/graphql/graphql-wg/tree/HEAD/agendas). | ||
|
|
||
| ## GraphQL.js Working Group meeting | ||
| ## GraphQL subcommittee meetings | ||
|
|
||
| <Cards | ||
| items={[ | ||
| { | ||
| title: "AI working group", | ||
| link: "https://github.com/graphql/ai-wg", | ||
| description: "Explores how GraphQL can best support the growing needs of artificial intelligence and machine learning", | ||
| }, | ||
| { | ||
| title: "Community working group", | ||
| link: "https://github.com/graphql/community-wg", | ||
| description: "Serves as the steward of GraphQL's global narrative and market positioning in the technology ecosystem. Developing and executing strategic initiatives that reinforce GraphQL's value proposition while fostering an engaged, educated, and expanding community.", | ||
| }, | ||
| { | ||
| title: "Composite schema working group", | ||
| link: "https://github.com/graphql/composite-schemas-wg", | ||
| description: "Building a specification that covers many of the shared concerns when building a larger GraphQL schema as a composite of many smaller GraphQL schemas.", | ||
| }, | ||
| { | ||
| title: "GraphiQL working group", | ||
| link: "https://github.com/graphql/graphiql/tree/main/working-group", | ||
| description: "Decision making, setting specifications and navigating feature proposals for our shared GraphQL web and desktop IDE experiences as a community.", | ||
| }, | ||
| { | ||
| title: "GraphQL.js working group", | ||
| link: "https://github.com/graphql/graphql-js-wg", | ||
| description: "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.", | ||
| }, | ||
| { | ||
| title: "GraphQL/OTel working group", | ||
| link: "https://github.com/graphql/otel-wg", | ||
| description: "Defining the best practices and semantic conventions for using OpenTelemetry with GraphQL.", | ||
| }, | ||
| { | ||
| title: "GraphQL-over-HTTP working group", | ||
| link: "https://github.com/graphql/graphql-over-http/tree/main/working-group", | ||
| description: "Working on a specification that allows GraphQL clients and servers with different implementations and technology stacks to interact freely over HTTP.", | ||
| }, | ||
| { | ||
| title: "Nullability working group", | ||
| link: "https://github.com/graphql/nullability-wg", | ||
| description: "Giving clients a way to influence or override nullability checks within queries.", | ||
| } | ||
| ]} | ||
| /> | ||
|
|
||
| ## How to join a meeting | ||
|
|
||
| If you have questions about this process, please ask [[email protected]](mailto:[email protected]). | ||
|
|
||
| <Steps> | ||
| ### Make a pull request to the EasyCLA repository | ||
|
|
||
| The GraphQL Specification Membership agreement is managed by a neutral GitHub repository where you can open a pull request and initiate the EasyCLA signing process. All pull requests will be closed periodically. You only need to do this one time, and it can be signed by individual contributors or their employers. | ||
jemgillam marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| You can read about the full process, including details about whether to sign as an individual or under an organization, [at the EasyCLA GitHub repository](https://github.com/graphql/graphql-wg/tree/main/membership). | ||
jemgillam marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| 1. Begin by pressing the edit button in the top right corner of the "README" file | ||
jemgillam marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|  | ||
|
|
||
| 2. When prompted, create a fork of the project by pressing the green "Fork this repository" button | ||
|
|
||
|  | ||
|
|
||
| 3. Make a small change to the README file, it doesn't matter what the change is as it won't be merged into the file | ||
| 4. Press "Commit changes" | ||
|
|
||
|  | ||
|
|
||
| 5. Confirm your change by pressing "Propose changes", you can use the default commit message | ||
| 6. This opens a comparison page where you can check your change and press "Create pull request" | ||
|
|
||
|  | ||
|
|
||
| 7. Now it's time to make your pull request. You can change the title and add to the body of the message if you like, then press "Create pull request" | ||
| 8. After a minute, an automated comment will appear underneath your pull request from "linux-foundation-easycla bot" asking you to sign the EasyCLA | ||
|
|
||
| ### Sign the EasyCLA | ||
|
|
||
| 1. Press "Click here to be authorized" in the message the EasyCLA bot left on your pull request | ||
|
|
||
|  | ||
|
|
||
| 2. You'll be asked to grant the Linux Foundation bot some permissions to work with your GitHub account; press "Authorize LF-Engineering" | ||
| 3. You will be redirected to the EasyCLA platform. Here, you need to choose whether to proceed as an individual or on behalf of your company. If you choose corporate, you may need to contact your company's CLA manager. You'll also be able to read the document before signing it, by pressing "Download PDF" | ||
| 4. After choosing which way to proceed, the document will be generated with DocuSign, ready for you to sign electronically. When you have filled in the required fields, press "Finish" | ||
| 5. You will be redirected back to your pull request, and after a few minutes the EasyCLA bot will show that you have signed the agreement | ||
|
|
||
|  | ||
|
|
||
| ### Add yourself to the list of attendees | ||
|
|
||
| 1. Find your [chosen working group above](#graphql-working-group--tsc-meeting) and find its next agenda by browsing to agendas -> year -> month in the central pane of the GitHub webpage | ||
| 2. Press the Edit button in the top right corner of the agenda file, and when prompted create a fork by pressing the "Fork this repository" button | ||
| 3. The file is written in markdown and is generally easy to read. Scroll down to `## Attendees`. Add your information following the format of the other attendees in the list. You can preview your change in a rich text format by pressing "Preview" in the top left of the editing pane | ||
|
|
||
|  | ||
|
|
||
| The [GraphQL.js working group](https://github.com/graphql/graphql-js-wg) meets the second Tuesday of each month. The goal is to plan development work and resolve issues with [GraphQL.js](https://github.com/graphql/graphql-js). | ||
| 4. If applicable, add an agenda item under the `## Agenda` heading, make sure you add your item to the end of the list and add an estimated duration of discussion | ||
| 5. Press "Commit changes", fill in the details of your changes in the popup, and then press "Propose changes" | ||
| 6. Now you can review your changes and create your pull request to the agenda by pressing "Create pull request" | ||
| 7. If you successfully signed the EasyCLA, you will pass the Easy CLA check and your pull request may be automatically merged if you pass the automatic checks. | ||
| 8. If you don't pass the automatic checks, don't worry, reach out on the [community Discord](https://discord.graphql.org/) or request a [TSC member](https://github.com/graphql/graphql-wg/blob/HEAD/GraphQL-TSC.md#tsc-membership) as a reviewer of your pull request. | ||
jemgillam marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| To join, add yourself to an [upcoming meeting agenda](https://github.com/graphql/graphql-js-wg/tree/HEAD/agendas). | ||
| </Steps> | ||
Uh oh!
There was an error while loading. Please reload this page.