GraphQL

GraphQL for Developers

The following resources are intended to describe how GraphQL development processes work, how to get involved, and where to get help.

Essential links#

How GraphQL is developed#

At its core, the GraphQL project is organized around the specification, with a wide variety of supporting implementations and tools.

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, which consists of GraphQL spec experts, contributors to public reference implementations, 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.

Working groups#

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.

The GraphQL Working Group#

The GraphQL Working Group is the main group that plans and implements changes to the GraphQL specification. It meets actively and is the default place for discussion for topics which do not have a separate breakout working group (breakout working groups include the Input Union WG and the GraphQL-over-HTTP WG).

GraphQL.js Working Group#

The GraphQL.js Working Group works on one of the main reference implementations, graphql.js.

If you would like to set up a working group around a specific topic, please join a GraphQL Working Group meeting and present your idea.

Participating in development#

GraphQL is developed in the open, through GitHub and working group meetings that are open for anyone to attend (so long as they are covered under the free membership agreement). In addition, anybody is welcome to view the recordings of our meetings on YouTube

First steps#

If you want to get involved in GraphQL, add yourself to the meeting agenda for one of our working groups or implementations, 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. In addition, we record our workgroups' meetings on YouTube. If you are interested in quickly getting up to speed on what's happening in a working group, the meeting minutes and replays 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.

GraphQL project governance#

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.

Technical governance#

The GraphQL project is a chartered under the Joint Development Foundation (JDF). JDF is a part of the Linux Foundation family, and is an organization specifically dedicated to making open standards easier to manage.

The GraphQL specification, the GraphQL Working Group, and all other sub-working groups and implementations in the GraphQL GitHub organization are governed by the GraphQL project charter.

The Technical Steering Committee, or TSC, is established in the technical charter as the top technical decision-making body. It consists of representatives from the GraphQL technical community and is responsible for overseeing specification and development work, and approving new releases. TSC members serve a two-year term.

Financial and policy governance#

The GraphQL Foundation provides financial support for the GraphQL project. In keeping with 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 to support the work of the GraphQL Project through investments in infrastructure, coordination support services, developer grants, and mentorship programs.

The GraphQL Foundation is supported entirely by membership dues, from companies who wish to support the long-term sustainability of the GraphQL ecosystem.

Continue Reading →Project resources