Skip to content

Add community grant report for May-July 2022 #1366

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

Merged
merged 2 commits into from
Feb 7, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
139 changes: 139 additions & 0 deletions src/content/blog/2023-02-03-community-gardening.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
---
title: Community Gardening, May - July 2022
tags: ["grants"]
layout: blog
date: 2023-02-03
byline: Benjie Gillam
permalink: /blog/2023-02-03-community-gardening
---

> The GraphQL Foundation offers [Community
> Grants](https://graphql.org/foundation/community-grant/) to help incentivize
> key technical and community initiatives. As part of the grant, applicants
> commit to write a blog post report describing their work and its impact on
> the GraphQL community. The following report was written by successful grant
> applicant [Benjie Gillam](https://github.com/sponsors/benjie) in August 2022,
> detailing the community gardening he performed during May, June and July of
> that year.

## Backstory

In 2019 I started turning up to GraphQL Working Group meetings regularly and
helping take [the
notes](https://github.com/graphql/graphql-wg/tree/main/notes). Back then we had
a system for filing and reviewing action items, but very few people used it, so
items would easily get lost. Further, the notes and videos would be uploaded in
batches every few months, which prevented attendees referring to them in the
interim.

Over the next couple years I set about trying to improve these processes. I
started by filing the [action
items](https://github.com/graphql/graphql-wg/issues?q=is%3Aissue+sort%3Aupdated-desc+label%3A%22Action+item+%3Aclapper%3A%22)
myself. After a while, I started categorizing them into [GitHub
projects](https://github.com/graphql/graphql-wg/projects?type=classic&query=is%3Aopen+sort%3Aupdated-desc),
one for each meeting, which made keeping track of them (particularly the old
ones) much easier and helped us to see progress. Later I introduced a new
["ready for review"
label](https://github.com/graphql/graphql-wg/issues?q=is%3Aissue+sort%3Aupdated-desc+label%3A%22Ready+for+review+%F0%9F%99%8C%22+)
that enabled us to quickly focus on the action items that needed discussion
rather than trying to go over every item (or skip the lot entirely) each
meeting. These processes were very much appreciated by the working group, but
were quite time consuming for one person. As time went on my I found myself
contributing to GraphQL in more and more ways, and as the time I could dedicate
to these tasks dwindled, my ability to keep these processes running smoothly
diminished.

## Funding approved

In May 2022, the GraphQL Foundation kindly approved my application for a [GraphQL
Community Grant](https://graphql.org/foundation/community-grant/) to enable me
to dedicate more time to these tasks. I'm a community-funded open source
developer, so I rely on [sponsorship](https://github.com/sponsors/benjie) to
fund my open source endeavors - both on my own open source projects ([the
Graphile suite](https://github.com/graphile)) and also my contributions to the
[GraphQL](https://github.com/graphql/graphql-spec/graphs/contributors)
[Working](https://github.com/graphql/graphql-wg/graphs/contributors)
[Groups](https://github.com/graphql/graphql-over-http/graphs/contributors).
Since being approved for the grant, I've been better able to execute the role
of community gardener; let me tell you about some of the ways in which the
Foundation's grant has enabled me to better support you, the GraphQL community!

The [main GraphQL working group](https://github.com/graphql/graphql-wg) meets
each month; and it is recorded on Zoom and made available via [the Foundation's
YouTube
channel](https://www.youtube.com/channel/UCERcwLeheOXp_u61jEXxHMA/playlists).
Soon after each meeting I've been uploading the videos not just for the main
meeting but also for the various other subcommittees ([GraphiQL
WG](https://github.com/graphql/graphiql/tree/main/working-group), [GraphQL.js
WG](https://github.com/graphql/graphql-js-wg), [GraphQL-over-HTTP
WG](https://github.com/graphql/graphql-over-http/tree/main/working-group),
Metadata WG, [Composite Schemas
WG](https://github.com/graphql/composite-schemas-wg)) that may have met during
the previous month. Whilst uploading the video of the main meeting, I file its
notes and the action items, while also categorizing them making sure they're
assigned to the relevant person. Recently, I've also started adding timestamped
links to the YouTube video for each action item, so we can hear the original
instructions rather than just the paraphrased summaries from the notes - I
think this makes them even more useful!

## Empowering other contributors

As part of my aim to document our processes and streamline things, I've created
[a template repository](https://github.com/graphql/wg-template) that can be
used whenever a new GraphQL subcommittee is created. This enables all
subcommittees to adopt the GraphQL meeting practices with minimal effort from
the committee chair - just [a small list of
edits](https://github.com/graphql/wg-template#working-group-template) that take
about 5 minutes when setting up the repository and of course the regular
scheduling.

I've also been working with the Linux Foundation to get subcommittee meetings
scheduled onto [the GraphQL
calendar](https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com),
and to expand [EasyCLA](https://docs.linuxfoundation.org/v2/easycla) to the new
repositories to ensure that everyone contributing has signed the [GraphQL
Membership
Agreement](https://github.com/graphql/graphql-wg/tree/main/membership). This
should make releasing future versions of the spec and any subcommittee
deliverables much easier since the intellectual property paperwork is in place
from the start.

Thanks to the new funding I've also been able to be more active on GitHub
issues, PRs, discussions and in [the GraphQL Discord
server](https://discord.graphql.org/), enabling me to offer assistance to
people interested in contributing, and to help moderate these environments.
This includes [explaining how to become a
champion](https://github.com/graphql/graphql-spec/issues/174#issuecomment-1129621529),
performing timely moderation actions when the Discord server suffers from spam,
and giving guidance on how to improve PRs.

## Extra-curricular activities

Whilst not technically under the umbrella of the grant, having the time spent
on the above tasks funded by the GraphQL Grant has freed me up to dedicate more
time to other key issues in GraphQL - for example I [recently revived the
GraphQL-over-HTTP
project](https://github.com/graphql/graphql-over-http/pull/175) and we're well
on the way towards v1 of that specification. I've also helped kick-start [the
GraphQL Composite Schemas working
group](https://github.com/graphql/composite-schemas-wg) for the community to
collaborate on shared solutions to common problems felt across all the
different ways of building a GraphQL schema by combining other GraphQL schemas
together. I've also finally been able [to follow through on my intent to push
the "GraphQL Metadata" topic
forward](https://github.com/graphql/graphql-spec/issues/300#issuecomment-1119676731)
including researching, digesting, and [sharing my analysis of the existing
solutions and their problems at the GraphQL
Conference](https://youtu.be/c1oa7p73rTw), and [suggesting a solution of my
own](https://github.com/graphql/graphql-wg/blob/main/rfcs/AnnotationStructs.md).
Another thing that this reduced pressure on my time has enabled is the [new
SpecNews podcast](https://specnewspod.com/) in which my co-host Jem and I
summarize the latest GraphQL Specification Working Group session in just 5-10
minutes.

## Get involved!

If you're interested in contributing to GraphQL and need help getting started,
feel free to reach out to me, @benjie, on
[Discord](https://discord.graphql.org) or via a GitHub issue or PR and I'll do
my best to help!