📣 GraphQLConf 2024 • Sept 10-12 • San Francisco • Read more

Contribute to GraphQL

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

Figure

Project Resources

The following resources are intended to help official GraphQL projects understand what resources are available to them, and how to correctly run meetings.

Types of GraphQL projects

The GraphQL community is incredibly broad, with a large number of reference implementations which are developed and evolving in parallel to the GraphQL project. Many of them are listed here.

The primary distinction between official GraphQL projects and other implementations is that GraphQL projects are managed under the GraphQL technical charter and GraphQL Code of Conduct.

We welcome and encourage community members and third-parties to maintain their own implementations.

Making an independent project official

If you maintain a tool or reference implementation that you’d like to transfer to the GraphQL GitHub org, or if you are planning to start a new workgroup or implementation within the official GraphQL project, please add your name to the agenda of an upcoming GraphQL Working Group meeting to introduce your idea.

Should your proposal meet with approval, a few things will then need to happen. For example, we will work with you to adopt our policies and neutral governance, and help you transfer the project and its assets (generally the domain name and any trademarks) so that they are neutrally held at the Linux Foundation. If you’d like to explore the idea before making a proposal, please reach out to operations@graphql.org

Running project meetings

Because GraphQL is a Joint Development Foundation project, all meeting participants and contributors must complete the GraphQL specification membership agreement prior to participating.

Each technical meeting must:

  • Have an agenda Markdown document in the project repo published at least a week before the call.
  • Have an “Attendees” section where people can open a PR and add their own names in advance.
  • Optional, but encouraged: Use the GraphQL Zoom account so that we can easily post the meeting recording to YouTube.

Each attendee must:

  • Add their name to the agenda prior to the meeting.
  • Pass the EasyCLA check by signing the agreement as an individual, or asking their company to add them to the list.

The person running the call must:

  • Merge all appropriate attendance and agenda PRs with passing checks prior to the meeting.
  • Verify that everyone who connects to the meeting appears on the list.
  • If someone joins who is not on the list, they need to disconnect until they can PR themselves onto the attendee list with all checks passing.
  • Notify all attendees the meeting is being recorded, and record to the cloud.
  • Keep minutes, or have a volunteer to write them. Minutes should be published to the project repo.

Resources for projects

Zoom

Official GraphQL projects and workgroups are welcome and encouraged to use the GraphQL zoom. Please contact operations@graphql.org to get the credentials.

GitHub

Official GraphQL projects can host their repos in the graphql organization. This includes code repos, spec repos, and workgroup coordination repos. Please contact operations@graphql.org for details.

YouTube playlist

Wherever possible, we record meetings and post them to a playlist on the GraphQL YouTube channel. If your project does not have a playlist, please contact operations@graphql.org and we can set you up.

GraphQL calendar

Project meetings should be added to the GraphQL calendar, so that people can easily find them.

GraphQL domain registration and DNS management

The Linux Foundation holds the top-level graphql.org domain, and a number of others. If you need to register a domain for your project (particularly if it includes the word “graphql”) or need to manage DNS for a registered domain, please contact operations@graphql.org.

Trademark guidance

The GraphQL trademark is managed by LF Projects. GraphQL projects are able to use the GraphQL name and marks in accordance with the trademark policy. If your project has questions about how you or others can use the mark, please contact trademark@graphql.org.

All other questions

If you have a question not covered here, please reach out to operations@graphql.org.