|
| 1 | +--- |
| 2 | +title: GraphQL for Developers |
| 3 | +layout: docs |
| 4 | +category: Community |
| 5 | +permalink: /community/developers/ |
| 6 | +next: /community/project-resources/ |
| 7 | +sublinks: How GraphQL is developed,Participating in development,GraphQL project governance |
| 8 | +--- |
| 9 | + |
| 10 | +The following resources are intended to describe how GraphQL development processes work, how to get involved, and where to get help. |
| 11 | + |
| 12 | +## Essential links |
| 13 | + |
| 14 | +* The [GraphQL Specification](https://spec.graphql.org) |
| 15 | +* GraphQL [reference implementations and tools](/code/) |
| 16 | +* The official [GraphQL GitHub org](https://github.com/graphql) |
| 17 | +* The official [GraphQL Slack](https://slack.graphql.org) |
| 18 | +* Instructions on how to sign the [GraphQL Specification Membership Agreement](https://github.com/graphql/graphql-wg/tree/HEAD/membership) |
| 19 | +* The [GraphQL project calendar](https://calendar.graphql.org) |
| 20 | +* Meeting replays on the [GraphQL YouTube channel](https://youtube.graphql.org) |
| 21 | + |
| 22 | +## How GraphQL is developed |
| 23 | + |
| 24 | +At its core, the GraphQL project is organized around the [specification](https://spec.graphql.org), with a wide variety of supporting implementations and tools. |
| 25 | + |
| 26 | +GraphQL has an active and mutually beneficial relationship with its many implementations. The GraphQL specification is continuously evolving under the care of the [GraphQL Working Group](https://github.com/graphql/graphql-wg), which consists of GraphQL spec experts, contributors to public [reference implementations](/code/), and implementers. At any given time, GraphQL specification updates are a combination of anticipatory planning with documentation of patterns and behaviors that are already proven in production, sometimes at very large scale. |
| 27 | + |
| 28 | +### Working groups |
| 29 | + |
| 30 | +The GraphQL specification, sub-specifications, and official reference implementations are developed using the working group model. The working groups meet monthly or as-needed in order to review ideas and plan their work. |
| 31 | + |
| 32 | +#### The GraphQL Working Group |
| 33 | + |
| 34 | +The [GraphQL Working Group](https://github.com/graphql/graphql-wg) is the main group that plans and implements changes to the [GraphQL specification](https://spec.graphql.org). It meets actively and is the default place for discussion for topics which do not have a separate breakout working group (e.g., input unions, graphql-over-http, etc). |
| 35 | + |
| 36 | +* **GitHub**: [github.com/graphql/graphql-wg](https://github.com/graphql/graphql-wg) |
| 37 | +* **Meeting frequency:** Monthly, generally the first Thursday ([calendar](https://calendar.graphql.org)) |
| 38 | +* **Agenda:** [GitHub](https://github.com/graphql/graphql-wg/tree/main/agendas) |
| 39 | +* **Recordings:** [YouTube](https://www.youtube.com/playlist?list=PLP1igyLx8foH30_sDnEZnxV_8pYW3SDtb) |
| 40 | + |
| 41 | +#### GraphQL.js Working Group |
| 42 | + |
| 43 | +The [GraphQL.js Working Group](https://github.com/graphql/graphql-js-wg) works on one of the main reference implementations, [graphql.js](https://github.com/graphql/graphql-js). |
| 44 | + |
| 45 | +* **GitHub**: [github.com/graphql/graphql-js-wg](https://github.com/graphql/graphql-wg) |
| 46 | +* **Meeting frequency:** Monthly, generally the last Wednedsay ([calendar](https://calendar.graphql.org)) |
| 47 | +* **Agenda:** [GitHub](https://github.com/graphql/graphql-js-wg/tree/main/agendas) |
| 48 | +* **Recordings:** [YouTube](https://www.youtube.com/playlist?list=PLP1igyLx8foHghwopNuQM7weyP5jR147I) |
| 49 | + |
| 50 | +If you would like to set up a working group around a specific topic, please join a [GraphQL Working Group meeting](https://github.com/graphql/graphql-wg) and present your idea. |
| 51 | + |
| 52 | +## Participating in development |
| 53 | + |
| 54 | +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) |
| 55 | + |
| 56 | +### First steps |
| 57 | + |
| 58 | +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. |
| 59 | + |
| 60 | +We welcome your participation! |
| 61 | + |
| 62 | +### Getting up to speed |
| 63 | + |
| 64 | +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. |
| 65 | + |
| 66 | +### Asking questions |
| 67 | + |
| 68 | +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/users/#where-to-ask-questions). |
| 69 | + |
| 70 | +## GraphQL project governance |
| 71 | + |
| 72 | +GraphQL was open sourced by Facebook in 2015, and became a neutrally governed project managed by the Linux Foundation in 2019. In keeping with best practices, the technical governance of the GraphQL project is separate and distinct from the financial and policy governance of the [GraphQL Foundation](/foundation/). |
| 73 | + |
| 74 | +### Technical governance |
| 75 | + |
| 76 | +The GraphQL project is a chartered under the [Joint Development Foundation](https://www.jointdevelopment.org/) (JDF). JDF is a part of the Linux Foundation family, and is an organization specifically dedicated to making open standards easier to manage. |
| 77 | + |
| 78 | +The GraphQL specification, the GraphQL Working Group, and all other sub-working groups and implementations in the [GraphQL GitHub organization](https://github.com/graphql) are governed by the [GraphQL project charter](https://technical-charter.graphql.org). |
| 79 | + |
| 80 | +The [Technical Steering Committee](https://github.com/graphql/graphql-wg/blob/main/GraphQL-TSC.md), or TSC, is established in the [technical charter](https://technical-charter.graphql.org) as the top technical decision-making body. It consists of [representatives from the GraphQL technical community](https://github.com/graphql/graphql-wg/blob/main/GraphQL-TSC.md#tsc-voting-members) and is responsible for overseeing specification and development work, and approving new releases. TSC members serve a two-year term. |
| 81 | + |
| 82 | +### Financial and policy governance |
| 83 | + |
| 84 | +The [GraphQL Foundation](/foundation/) provides financial support for the GraphQL project. In keeping wiht best practices, the Foundation is a separate organization, which helps to ensure that technical decisions are made upon their own merit and independent of financial contributions. The GraphQL Foundation uses the funds raised through [membership dues](/foundation/join/) to support the work of the GraphQL Project through investments in infrastructure, coordination support services, developer grants, and mentorship programs. |
| 85 | + |
| 86 | +The [GraphQL Foundation](/foundation/) is supported entirely by [membership dues](/foundation/join/), from [companies](/foundation/members/) who wish to support the long-term sustainability of the GraphQL ecosystem. |
0 commit comments