|
| 1 | +--- |
| 2 | +title: Community Gardening, May - July 2022 |
| 3 | +tags: ["grants"] |
| 4 | +layout: blog |
| 5 | +date: 2023-02-03 |
| 6 | +byline: Benjie Gillam |
| 7 | +permalink: /blog/2023-02-03-community-gardening |
| 8 | +--- |
| 9 | + |
| 10 | +> The GraphQL Foundation offers [Community |
| 11 | +> Grants](https://graphql.org/foundation/community-grant/) to help incentivize |
| 12 | +> key technical and community initiatives. As part of the grant, applicants |
| 13 | +> commit to write a blog post report describing their work and its impact on |
| 14 | +> the GraphQL community. The following report was written by successful grant |
| 15 | +> applicant [Benjie Gillam](https://github.com/sponsors/benjie) in August 2022, |
| 16 | +> detailing the community gardening he performed during May, June and July of |
| 17 | +> that year. |
| 18 | +
|
| 19 | +## Backstory |
| 20 | + |
| 21 | +In 2019 I started turning up to GraphQL Working Group meetings regularly and |
| 22 | +helping take [the |
| 23 | +notes](https://github.com/graphql/graphql-wg/tree/main/notes). Back then we had |
| 24 | +a system for filing and reviewing action items, but very few people used it, so |
| 25 | +items would easily get lost. Further, the notes and videos would be uploaded in |
| 26 | +batches every few months, which prevented attendees referring to them in the |
| 27 | +interim. |
| 28 | + |
| 29 | +Over the next couple years I set about trying to improve these processes. I |
| 30 | +started by filing the [action |
| 31 | +items](https://github.com/graphql/graphql-wg/issues?q=is%3Aissue+sort%3Aupdated-desc+label%3A%22Action+item+%3Aclapper%3A%22) |
| 32 | +myself. After a while, I started categorizing them into [GitHub |
| 33 | +projects](https://github.com/graphql/graphql-wg/projects?type=classic&query=is%3Aopen+sort%3Aupdated-desc), |
| 34 | +one for each meeting, which made keeping track of them (particularly the old |
| 35 | +ones) much easier and helped us to see progress. Later I introduced a new |
| 36 | +["ready for review" |
| 37 | +label](https://github.com/graphql/graphql-wg/issues?q=is%3Aissue+sort%3Aupdated-desc+label%3A%22Ready+for+review+%F0%9F%99%8C%22+) |
| 38 | +that enabled us to quickly focus on the action items that needed discussion |
| 39 | +rather than trying to go over every item (or skip the lot entirely) each |
| 40 | +meeting. These processes were very much appreciated by the working group, but |
| 41 | +were quite time consuming for one person. As time went on my I found myself |
| 42 | +contributing to GraphQL in more and more ways, and as the time I could dedicate |
| 43 | +to these tasks dwindled, my ability to keep these processes running smoothly |
| 44 | +diminished. |
| 45 | + |
| 46 | +## Funding approved |
| 47 | + |
| 48 | +In May 2022, the GraphQL Foundation kindly approved my application for a [GraphQL |
| 49 | +Community Grant](https://graphql.org/foundation/community-grant/) to enable me |
| 50 | +to dedicate more time to these tasks. I'm a community-funded open source |
| 51 | +developer, so I rely on [sponsorship](https://github.com/sponsors/benjie) to |
| 52 | +fund my open source endeavors - both on my own open source projects ([the |
| 53 | +Graphile suite](https://github.com/graphile)) and also my contributions to the |
| 54 | +[GraphQL](https://github.com/graphql/graphql-spec/graphs/contributors) |
| 55 | +[Working](https://github.com/graphql/graphql-wg/graphs/contributors) |
| 56 | +[Groups](https://github.com/graphql/graphql-over-http/graphs/contributors). |
| 57 | +Since being approved for the grant, I've been better able to execute the role |
| 58 | +of community gardener; let me tell you about some of the ways in which the |
| 59 | +Foundation's grant has enabled me to better support you, the GraphQL community! |
| 60 | + |
| 61 | +The [main GraphQL working group](https://github.com/graphql/graphql-wg) meets |
| 62 | +each month; and it is recorded on Zoom and made available via [the Foundation's |
| 63 | +YouTube |
| 64 | +channel](https://www.youtube.com/channel/UCERcwLeheOXp_u61jEXxHMA/playlists). |
| 65 | +Soon after each meeting I've been uploading the videos not just for the main |
| 66 | +meeting but also for the various other subcommittees ([GraphiQL |
| 67 | +WG](https://github.com/graphql/graphiql/tree/main/working-group), [GraphQL.js |
| 68 | +WG](https://github.com/graphql/graphql-js-wg), [GraphQL-over-HTTP |
| 69 | +WG](https://github.com/graphql/graphql-over-http/tree/main/working-group), |
| 70 | +Metadata WG, [Composite Schemas |
| 71 | +WG](https://github.com/graphql/composite-schemas-wg)) that may have met during |
| 72 | +the previous month. Whilst uploading the video of the main meeting, I file its |
| 73 | +notes and the action items, while also categorizing them making sure they're |
| 74 | +assigned to the relevant person. Recently, I've also started adding timestamped |
| 75 | +links to the YouTube video for each action item, so we can hear the original |
| 76 | +instructions rather than just the paraphrased summaries from the notes - I |
| 77 | +think this makes them even more useful! |
| 78 | + |
| 79 | +## Empowering other contributors |
| 80 | + |
| 81 | +As part of my aim to document our processes and streamline things, I've created |
| 82 | +[a template repository](https://github.com/graphql/wg-template) that can be |
| 83 | +used whenever a new GraphQL subcommittee is created. This enables all |
| 84 | +subcommittees to adopt the GraphQL meeting practices with minimal effort from |
| 85 | +the committee chair - just [a small list of |
| 86 | +edits](https://github.com/graphql/wg-template#working-group-template) that take |
| 87 | +about 5 minutes when setting up the repository and of course the regular |
| 88 | +scheduling. |
| 89 | + |
| 90 | +I've also been working with the Linux Foundation to get subcommittee meetings |
| 91 | +scheduled onto [the GraphQL |
| 92 | +calendar](https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com), |
| 93 | +and to expand [EasyCLA](https://docs.linuxfoundation.org/v2/easycla) to the new |
| 94 | +repositories to ensure that everyone contributing has signed the [GraphQL |
| 95 | +Membership |
| 96 | +Agreement](https://github.com/graphql/graphql-wg/tree/main/membership). This |
| 97 | +should make releasing future versions of the spec and any subcommittee |
| 98 | +deliverables much easier since the intellectual property paperwork is in place |
| 99 | +from the start. |
| 100 | + |
| 101 | +Thanks to the new funding I've also been able to be more active on GitHub |
| 102 | +issues, PRs, discussions and in [the GraphQL Discord |
| 103 | +server](https://discord.graphql.org/), enabling me to offer assistance to |
| 104 | +people interested in contributing, and to help moderate these environments. |
| 105 | +This includes [explaining how to become a |
| 106 | +champion](https://github.com/graphql/graphql-spec/issues/174#issuecomment-1129621529), |
| 107 | +performing timely moderation actions when the Discord server suffers from spam, |
| 108 | +and giving guidance on how to improve PRs. |
| 109 | + |
| 110 | +## Extra-curricular activities |
| 111 | + |
| 112 | +Whilst not technically under the umbrella of the grant, having the time spent |
| 113 | +on the above tasks funded by the GraphQL Grant has freed me up to dedicate more |
| 114 | +time to other key issues in GraphQL - for example I [recently revived the |
| 115 | +GraphQL-over-HTTP |
| 116 | +project](https://github.com/graphql/graphql-over-http/pull/175) and we're well |
| 117 | +on the way towards v1 of that specification. I've also helped kick-start [the |
| 118 | +GraphQL Composite Schemas working |
| 119 | +group](https://github.com/graphql/composite-schemas-wg) for the community to |
| 120 | +collaborate on shared solutions to common problems felt across all the |
| 121 | +different ways of building a GraphQL schema by combining other GraphQL schemas |
| 122 | +together. I've also finally been able [to follow through on my intent to push |
| 123 | +the "GraphQL Metadata" topic |
| 124 | +forward](https://github.com/graphql/graphql-spec/issues/300#issuecomment-1119676731) |
| 125 | +including researching, digesting, and [sharing my analysis of the existing |
| 126 | +solutions and their problems at the GraphQL |
| 127 | +Conference](https://youtu.be/c1oa7p73rTw), and [suggesting a solution of my |
| 128 | +own](https://github.com/graphql/graphql-wg/blob/main/rfcs/AnnotationStructs.md). |
| 129 | +Another thing that this reduced pressure on my time has enabled is the [new |
| 130 | +SpecNews podcast](https://specnewspod.com/) in which my co-host Jem and I |
| 131 | +summarize the latest GraphQL Specification Working Group session in just 5-10 |
| 132 | +minutes. |
| 133 | + |
| 134 | +## Get involved! |
| 135 | + |
| 136 | +If you're interested in contributing to GraphQL and need help getting started, |
| 137 | +feel free to reach out to me, @benjie, on |
| 138 | +[Discord](https://discord.graphql.org) or via a GitHub issue or PR and I'll do |
| 139 | +my best to help! |
0 commit comments