# 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](/code).

The primary distinction between official GraphQL projects and other implementations is that GraphQL projects are managed under the [GraphQL technical charter](https://technical-charter.graphql.org) and [GraphQL Code of Conduct](https://code-of-conduct.graphql.org).

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](https://github.com/graphql), 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](https://github.com/graphql/graphql-wg/tree/HEAD/agendas) 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](mailto:operations@graphql.org)

## Running project meetings

Because GraphQL is a [Joint Development Foundation](https://www.jointdevelopment.org/) 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](https://youtube.graphql.org).

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](mailto:operations@graphql.org) to get the credentials.

### GitHub

Official GraphQL projects can host their repos in the [graphql organization](https://github.com/graphql). This includes code repos, spec repos, and workgroup coordination repos. Please contact [operations@graphql.org](mailto:operations@graphql.org) for details.

### YouTube playlist

Wherever possible, we record meetings and post them to a playlist on the [GraphQL YouTube channel](https://youtube.graphql.org). If your project does not have a playlist, please contact [operations@graphql.org](mailto:operations@graphql.org) and we can set you up.

### GraphQL calendar

Project meetings should be added to the [GraphQL calendar](https://calendar.graphql.org), 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](mailto: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](https://lfprojects.org/policies/trademark-policy/). If your project has questions about how you or others can use the mark, please contact [trademark@graphql.org](mailto:trademark@graphql.org).

### All other questions

If you have a question not covered here, please reach out to [operations@graphql.org](mailto:operations@graphql.org).