Skip to content

Ambassador Program RFC #64

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Ambassador Program RFC #64

wants to merge 2 commits into from

Conversation

jemgillam
Copy link
Contributor

The beginnings of an Ambassador Program document, open to discussion.

I have put this in a folder as I envision more documents added, such as a code of conduct and any other written content which needs to be created to go alongside the program.


How many Ambassadors is a reasonable number?

Self-nominations and nominations from within the community; who should review these?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would also add to that maybe a set of measured and proven requirements to become one?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd favor not doing that and seeing who applies first. Let's not discourage interesting profiles we don't know about yet. If we see a lot of interest, we can always introduce minimum requirements.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To specify that, I'd favor a self-written pitch over a checklist that an individual meets certain criteria. We want creative ambassadors and people that love to represent GraphQL - best to hear their thoughts about why they should be one, instead of why they fit the requirements.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with Erik that we should keep it open to begin with. I expect take-up will be slow in the first couple of years, I would also want to reach out to likely candidates. In my work on the conference "Subject Matter Experts" initiative, we made a set of questions to gauge who the applicant was and I think we could ask the same here:

  • Briefly describe your familiarity with GraphQL. Consider including any open source projects you work on, any working groups you’ve attended, spec proposals you’ve been involved with, talks you’ve given or books you’ve written

  • Do you currently hold any formal leadership roles within the GraphQL ecosystem?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

talks you’ve given or books you’ve written

We should include things like YouTube series here, maybe something like:

talks you’ve given or media you've published (books, videos, podcasts, newsletters, tutorials, blogs, etc).


Process for removing an Ambassador? And the reason to do so?

Content generated will need to be reviewed before being promoted
Copy link
Contributor

@martinbonnin martinbonnin Apr 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you ellaborate what you mean by "promoted"? If it's about sharing the content on GraphQL social networks, it's at the discretion of the program "pastors" in all cases since they own the credentials there.

If it's about "promotion" in general, I would encourage the Ambassadors to promote their work no matter what, it's better to ask for forgiveness than permission.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I meant about across social channels and whether it'll be published on Foundation website / youtube.

* Website profile
* Longer task: biographies / interviews with each Ambassador
* Credly badge
* Exclusive GraphQL swag eg Ambassador hoodie
Copy link
Contributor

@martinbonnin martinbonnin Apr 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add quarterly meeting with the foundation? Give the ambassador updates about the general direction and also an opportunity for them to ask direct questions?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a great idea. In fact, there has been some discussion on building a community for GraphQL implementers (ie those who maintain the reference implementations) where the central activity is a meeting or update of some kind about what is going on with GraphQL. EG this would have been a very helpful initiative to already have for the nullability working group to gather feedback.

I wonder if it should be like a formal presentation style, or more "office hours" style?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both? 15min updates from the foundation to kick things off (what are the current initiatives) + "office hours"/Q&A?

### Foundation Tasks

* Grant available for travel expenses for approved conference & meetup talks
* Microgrant (or honorarium) available for content creation
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would push back on that. The drive to publish should be about sharing and educating more than financial. Plus, it's very easy to setup a personnal blog these days!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In an ideal world I would agree, but we do need more content on the GraphQL blog...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has come as a suggestion from the Foundation's marketing committee, for when someone's grant proposal doesn't quite fit in their remit (Grants are more for longer engagements and larger pieces of work to be produced I think). It's probably a good idea to keep it to catch these kinds of grant proposals and see if the person wants to become an ambassador instead.


* Grant available for travel expenses for approved conference & meetup talks
* Microgrant (or honorarium) available for content creation
* Where is this content hosted?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would encourage personnal websites by default. This is easy to do, promotes the personnal branding of the Ambassadors and removes friction. Some of the content could be hosted on graphql.org on a case by case basis but I wouldn't do it the default.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that Ambassadors are meant to help promote the project and community, and that anyone can submit a PR to graphql.org for publishing why would we want their efforts to drive traffic to a place other than graphql.org?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Network effect + diversity + proximity. The tone of voice can be different in a personnal blog. For an example, we can allow content in other languages. But not only, it may be more familiar, meme-y or enthusiastic, I think that's OK and I would encourage the ambassadors to create genuine connections with their audience.

We could encorage graphql.org content throught the existing grant program and use the Ambassador program to reach out to other places.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't quite understand why you were pushing personal websites, but now you've made a strong case! Especially with regards to tone, this is a good thing I agree. This content could also then be hosted on somewhere like dev.to where the social sharing is encouraged.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@martinbonnin You are assuming that everyone has a personal blog? This might be a point where we can be less prescriptive and say it's the ambassador's choice whether to publish on the website or their own blog.

Copy link
Contributor

@martinbonnin martinbonnin Apr 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@doc-jones It doesn't have to be their own domain, CSS and everything. Medium, dev.to and/or hashnode would work too. My main point is I'd like content in many languages and many communities.

Taking a very personal example, my audience is mostly Android developers that have a very low chance of opening a graphql.org link, even less be subscribed to an RSS feed. But they could still open a GraphQL post that speaks to them (I least I hope so!). If an ambassador has a very strong Python following base, I'd love to plant some GraphQL seeds there, same for rust, swift, etc...

Some of the content could be specifically made for graphql.org but I'd rather have be the exception than the default.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why could this not be the ambassador's choice?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Of course, could be the ambassador choice. Just if all ambassadors chose graphql.org, it defeats the idea of reaching out to communities outside the core GraphQL community (the communities that wouldn't necessarily follow the GraphQL properties).

Plus it requires moderation. If we want to scale, we're bound to reach outside of graphql.org. Talking ballpark numbers, if we have 10 ambassadors and everyone posts once a month, that's ~100 posts, which is more that graphql.org can handle IMO. Both in terms of moderation and/or audience attention.

* Conference & meetup talks on GraphQL
* Local gathering organization
* Written GraphQL content
* Video / audio GraphQL content
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to specifically include open source contributions here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about putting that into a separate program, if budget allows? I think the foundation already has one. Building OSS feels like a different budget than building a community - although both are deeply intertwined.

Copy link
Contributor

@martinbonnin martinbonnin Apr 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, there is a grant program already for sponsoring OSS work on specific features/projects so we don't want to canibalize that.

I guess what I meant is more OSS in general. Maybe more about answering questions and working with maintainers on reproducers and evolving the language. Feels like this could be factored in. But it's also very "internally faced" and not very "outside world faced", which is typically the role of an Ambassador. I'm fine leaving it out for clarity.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the Ambassador imitative is about external-facing activities, so contributions to the GraphQL repo / projects itself is out of scope.

However, if we can come up with a succinct way of saying "engaging with open source external to the GraphQL project" then that would be great!


Self-nominations and nominations from within the community; who should review these?

Process for removing an Ambassador? And the reason to do so?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably something about prolonged inactivity? I wouldn't necessarily put too much process there and leave it at the discretion of the "pastors" (or however we decide to call the group that is going to supervise the program)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem is you need a concrete process before ever having to use it. In running events and community spaces before, I've found it much easier to say "what does the code of conduct say?" instead of thinking on my feet. Having a process in place also means you are less likely to be accused of unfairness if an incident does happen. However, we also have the backstop of the legal team at Linux Foundation to help us here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed but we don't want to make it too administrative as well. I would try to word it as generally as possible: "we expect you to do X contributions/year" (contributions probably being voluntarily open as some will be bigger blog post authors, others conference talks, others YT videos, etc...).

The dress code analogy works well. We want to give guidance but still leave some room for improvisation/creativity.

Copy link
Contributor

@erikwrede erikwrede left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots of thoughts here, but I like the first draft! Thanks @jemgillam for getting this going 😊


How many Ambassadors is a reasonable number?

Self-nominations and nominations from within the community; who should review these?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd favor not doing that and seeing who applies first. Let's not discourage interesting profiles we don't know about yet. If we see a lot of interest, we can always introduce minimum requirements.


Process for removing an Ambassador? And the reason to do so?

Content generated will need to be reviewed before being promoted
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree on reviewing content before promotion on official foundation channels. However, I'm not sure about reviewing content (such as slides and video material) produced for conferences - even when we promote that a GraphQL talk is happening at such conference. This is an immense workload for us and might discourage frequent submissions. We should be confident in the ambassadors to understand our code of conduct and represent the values and technical direction the TSC is taking, as we do with conference talks at GraphQL conf.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You add a valid point about reviewing conference material and I think that would be overreach of the program.

Perhaps minimal review is needed, if we're trusting someone to do a conference talk then we should also be able to trust their written content. I feel like written content might be more open to being a vendor pitch? I'm not sure. Perhaps we don't promote their content if it's eg on their employer's platform.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can the review be left to the discretion of whoever handles the social handles? They will be trusted to do what's best for the community.

Since this is all very public, anyone can give feedback if a submission crosses the line and the "GraphQL community manager" can amend the editorial line.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, outsource the social promotion to the social media managers sounds good. In practice, at the moment, that is Jory (Linux Foundation) and Benjie who both will also be heavily involved in the Ambassadors program I imagine. But yes, this makes sense.

Travel expenses for conferences & meetups:
* Wait for the talk to be accepted through the meetup CfP process
* Review the talk proposal to ensure alignment with the Program
* Can the payment be made beforehand rather than in arrears?
Copy link
Contributor

@erikwrede erikwrede Apr 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Expensing payments as soon as an invoice is available is how we handle it at strawberry. Reimbursement after the appearance leaves risk on the ambassador, for example in case of cancellations due to sickness without reimbursement by the airline.

We should have clear policy on which cancellations still warrant reimbursement, and which don't (for example: the individual decides to go on vacation instead of attending the conference after travel plans have been billed). Edit: Reading this again, my example sounds somewhat extreme 😅 my point was more about making clear distinctions what we find OK and what we don't accept.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@erikwrede if you have a policy for Strawberry I would love to give it a read. I really would like to be able to get payments made before the event so our ambassadors don't go out of pocket. However, that is a question for the expenses team at the Foundation.


How many Ambassadors is a reasonable number?

Self-nominations and nominations from within the community; who should review these?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To specify that, I'd favor a self-written pitch over a checklist that an individual meets certain criteria. We want creative ambassadors and people that love to represent GraphQL - best to hear their thoughts about why they should be one, instead of why they fit the requirements.

### Process

Yearly program
* 1 year term? Or mirror the TSC and use a 2 year term
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need a fixed program with seats, or should there be a pool of ambassadors which are currently able to expense promotion efforts after approval?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking at first to mirror the TSC process. However, that limits us to having one fixed pool of ambassadors for a year, and for the program potentially not starting until 2026.

I think an alternative will be to have a rolling process: Nominations open year round and applications reviewed quarterly with a new term starting in January, April, July and October for a year. Perhaps this is too much to manage. I suppose it depends on the team behind the initiative making this work!

* Highly knowledgeable about GraphQL and readily able to articulate those ideas
* Technical in tone, without sounding like they are on a sales team
* Be a model community member: Adhering to the code of conduct especially when critical of GraphQL or defending it to others criticism, remaining respectful, constructive and fair
* Do not come across to other community members as selling another product, service or agenda
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should agree on a guideline for this. While no hard distinction can be made, we should provide some guidance on what is considered content promoting vendor x and content telling a story about GraphQL, that involves vendor x. Because if we keep things void of vendors, maybe practical use cases and audience relevance are limited.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I think it's important to keep the spirit of the program vendor-neutral (as the Foundation itself strives to be), but there is no getting away from the fact that vendors do play a part and the audience actually seeks out how to do something with x software.

### Ambassador Requirements

* Highly knowledgeable about GraphQL and readily able to articulate those ideas
* Technical in tone, without sounding like they are on a sales team
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd drop technical in tone - what about non-technical audiences that still have touch points with GraphQL in their work? IMO, there should be a balance between highly technical ambassors and people who love to inspire in our pool of ambassadors.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with Erik, though we do want some developer-evangelist-style ambassadors helping frontend and backend engineers to see the benefits of GraphQL, we also need people talking more about how GraphQL can transform businesses/processes to sell to company executives/managers/etc which is a much higher level and less technical tone. Let's not exclude this second class of applicants.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we drop this bullet point altogether?

### Foundation Tasks

* Grant available for travel expenses for approved conference & meetup talks
* Microgrant (or honorarium) available for content creation
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

* Conference & meetup talks on GraphQL
* Local gathering organization
* Written GraphQL content
* Video / audio GraphQL content
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about putting that into a separate program, if budget allows? I think the foundation already has one. Building OSS feels like a different budget than building a community - although both are deeply intertwined.

Comment on lines +25 to +30
How can these goals be measured?

* Engagement metrics - social, chat channels, search, downloads, page views…
* New community members (across social media comments, Discord users, local gathering attendees, working group members…)
* Volume of talks at conferences
* Volume of articles written
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Q: Which metrics are currently tracked by the foundation?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question! To be honest, here I was trying to think of anything which could be measured, but it also feels like the goals are mostly unmeasurable.

Copy link
Contributor

@doc-jones doc-jones Apr 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jemgillam I found it easier to post some thoughts, suggestions in a document. I wanted to offer comments that touch many sections of the document. By the time I finished, it was almost a full document so I made it one.

Feel free to use any or none of this document. It might be helpful in filling in some gaps or give you ideas for how to fill those, yourself.

https://docs.google.com/document/d/1UrWYO-d-ZNrhIh4RwRJavskQf09vGZ0VMN4UoZQPR3Q/edit?usp=sharing

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@doc-jones Can you start a comment thread about the offboarding and alumni network. This is an important area which has been missed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In reference to @jemgillam 's comment in the wg meeting about a higher standard beyond the CoC for ambassadors, I found this excellent example at CNCF.

Ambassador Program Standards of Excellence

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, I wrote this further down in my document:

While the wider GraphQL community abides by the contributor covenant code of conduct, we will need a stronger set of standards for the Ambassador Program. This is because the Foundation will be endorsing these people as representatives. We can look to the CNCF Ambassador Program Standards of Excellence as a good indicator of what this should be. In fact, we are encouraged to borrow liberally from them, as they are also a Linux Foundation project with an already successful program, and their lawyers have already signed it off.

* Volume of talks at conferences
* Volume of articles written

### Ambassador Tasks
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doc adds some more ideas

  • Building demo apps
  • Mentorship hours
  • Community Discord moderation

* Longer task: biographies / interviews with each Ambassador
* Credly badge
* Exclusive GraphQL swag eg Ambassador hoodie

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And idea to add:

  • an Ambassador role on Discord, with a private channel added

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants