Michael: Hello and welcome to Postgres FM, a weekly show about
all things PostgreSQL.
I am Michael, founder of pgMustard.
And this week with Nikolay taking a well-earned week off, I am
super grateful to be joined by Claire Giordano, the head of Postgres
open source community initiatives at Microsoft and host of a
fellow Postgres podcast.
Welcome to the show, Claire.
Claire: Thank you so much.
It's exciting to be here, Michael.
I'm a big fan of your show and danced a jig when you invited
me on.
Michael: Oh, well, likewise.
You know, I've listened to every episode of Claire's podcast
and was also delighted to be on it recently.
So thank you for joining me.
And you recently published a fantastic recap of a lot of Postgres
initiatives going on at Microsoft, obviously, but also have spoken
at lots of people will know you from the podcast, but also from
the conferences that you speak at, that you organize, and all
sorts of ways that you contribute to the Postgres community yourself.
Do you want to give us a little bit of background on how you
got involved in this and also why you do it?
Why it's important to you?
Claire: Well, let's see.
I first got involved in Postgres back in 2017.
And that's when I joined a small San Francisco startup called
Citus Data.
I've worked in engineering, I've worked in product management,
I've worked in product marketing, and it was wearing the product
marketing hat that I joined Citus and obviously, Citus is an open
source extension to Postgres.
And so that's what brought me into the Postgres community.
And people who were there will tell you that I kind of said no
a couple of times first.
I didn't think of myself as a database person.
And so I just wasn't sure if it was the right fit.
I'd worked in operating systems, I'd worked in scale-out storage,
I'd worked in developer tools, but was Postgres, were databases
the next place for me?
And so I had some hesitations at the beginning, and I'm so glad
that other folks persisted in nudging me to talk to the team
at Citus because I love my job and I love working with the Postgres
community.
So yeah, from my work at Citus, that's obviously the connection.
And then I first started meeting people in the community about
a year and a half later, I gave a talk at my first Postgres conference,
which was PGConf EU in Lisbon.
And that talk was like, why Postgres?
Why this database?
Why now?
Where I was sharing all of my observations about, you know, the
popularity and where it was coming from and everything I'd learned
in my first year and a half.
Michael: Nice.
So you've done talks in the past about all the ways you can contribute
to the community, you call it.
I think we probably roughly agree on what the community even
is, but for anybody out there trying to think, what does this
include?
What would you say to them?
Claire: Well, so I think one of the talks you're talking about
was called Fibonacci Spirals and 21 Ways to Contribute to Postgres
beyond code.
And that is a talk that I probably first gave at PGConfU, but
also gave at Fosdem, and at CitusCon, and different variations.
And it was interesting to create because obviously Postgres is
an open source project.
It's a global project.
People from all around the world contribute to it.
But a friend of mine, who doesn't work on Postgres at all, was
recently started working on an open source project.
And he told me just the other day, he's like, you know, I thought
when we first started talking about open sourcing my project,
that it was literally just about releasing the code on GitHub.
I didn't realize how much more there is to an open source project.
I can't mention the name because this project is not yet open
sourced.
But the talk that I gave covered all sorts of ground, like not
just documentation or translations of error messages, which,
you know, are obviously closer to the code, but also things that
you can do just with blogging and sharing your expertise or giving
talks at meetups and again, sharing your learnings with the local
community.
Posting your slides online after you've given a talk so that
other people who were not there have at least access to the slides.
What else?
Reporting bugs, that's important.
And the different way you need to report security bugs, you know,
that's important.
Some people have written books and that's not for all of us.
Obviously, that's a lot of work.
But like Dimitri Fontaine's book, The Art of Postgres is so
popular.
Markus Winand's books are so popular.
So in my talk, I have screenshots of some of their books as well.
Is that what you were thinking of?
Michael: Yeah, I actually watched it earlier today, re-watched
it, the CitusCon version, and a couple of the ones that I noted
down as I don't always think of those are, for example, shining
a light on others work in the community.
I thought that was such a good reminder that part of, like It
is difficult when you're in open source to keep telling people
what you're working on.
And people can get tired of always hearing about your work from
yourself.
But if you spot someone else doing great work, sharing that and
champing that, you can say nicer things about it than they can
say about themselves.
So that was a thought of really good point like that, that I
don't think of doing as much as I should.
And the other 1 was like organizing meetups or offering a space
for a meetup to be in, like there's so many small things that
are difficult, But it's not that difficult to organize a small
meetup. You don't have to do a talk.
You could, like meetups I've been to, some of them are just gathered
around a table or just a drink or something like that.
It doesn't have to be serious.
So there are lots of these small ways that are really important,
but they're also quite difficult for a lot of the people that
are deep on the technical side of things to always contribute
to.
But having said all that, you're not just doing that, like that,
those contributions are all very important, but there are lots
of code contributions as well, Lots of extremely valuable things
on that side.
So yeah, I think you only covered the non-code ones in that talk.
So I'll link up that talk.
Claire: I also want to give a shout out to Josh Berkus.
When I first started working on the ways to contribute to Postgres
beyond code talk, I was partway through.
I think my talk had been accepted by this point, or maybe I was
still working on the proposal.
And I thought, you know, what if somebody's already given this
talk?
What if I think it's my idea, but it's not really my idea?
So, you know, after just a few Google searches, I discovered
that he had written a talk almost 10 years before the alternative
title for it, which is the 1 that I always remember with 50 ways
to love your project.
And he had this beautiful pie chart in it where he showed that,
you know, the code contribution is hugely important.
It's what everybody thinks of, but it's like the slice of pie.
And all the rest of it is the non-code contributions that are
really important part of a healthy open source project.
Because it takes all aspects.
People need to be able to learn the technology, people need tutorials,
and of course, people learn differently.
Some people learn by podcasts, for example, which is why you
do what you do.
Michael: Yeah, absolutely.
I personally love listening to podcasts.
I find that I learn a lot through them but it also helps me connect
dots that I hadn't connected previously.
Sometimes you read something and it hasn't completely sunk in
until you hear someone describe it or you see it in action.
And having those multiple touch points really helped me personally
learn.
So I'm curious on the motivations behind that talk as well, though.
Do you see a lot of people that want to contribute more to Postgres
but are struggling for ideas on how to do so?
Or do you see it more as trying to sell the benefits of doing
so.
Claire: I think it was probably twofold.
I think 1 of the things that I'm always thinking about is how
do I help grow the Postgres community?
And the talk I gave last year at PG Coffee U and subsequently
I also presented at Nordic was a beginner's guide to partitioning
and sharding in Postgres.
And it specifically was a beginner's guide because that's what
I thought I could help the most with is helping somebody who's
brand new, who's never used partitioning or never used sharding
or wasn't even sure what the difference was between the 2 of
them, that I could help them understand those concepts.
Just because I think if we're going to grow, that means we need
to help people who are new to the technology and new to the space
learn.
And so in some sense, this different ways to contribute to Postgres
talk was also motivated by this desire to just help people who
were new realize that, okay, maybe they're not a C programmer.
And so they're not going to be contributing to Postgres core,
but there are ways they can actually contribute to the project
that are just as valuable.
Actually coming soon is the pgconf.dev event happening in Vancouver,
Canada.
It's kind of like a rebrand or a next generation of what traditionally
was called PGCon.
It used to happen every year in Ottawa, Canada.
And on the last day of PGCon, now pgconf.dev, is an unconference.
And so I'm toying around with the idea of proposing an unconference
session where we talk about like, how can we recognize or better
recognize the different types of contributions beyond code?
Like, right now, it's impossible to track them.
So it's really about who you know or who your friends are and
things like that.
But when you merge transactions and code into GitHub or into the Postgres
source base you get this beautiful coin when the release comes
out.
And engineers absolutely love it.
And I feel like, well, people contributing in other ways would
probably also absolutely love it, but we don't have a really
good way to track those contributions right now.
So I don't know if it's a problem that'll get solved any time
in the next year or 2, but I'm hoping to facilitate a conversation
about it at pgconf.dev, which I'm so excited to go there.
It'll be my first time at the old event and the new event.
And so yeah, coming soon.
Michael: Wonderful.
Well, speaking of events, by the time, so this will come out
probably around the time of that Unconference, but shortly afterwards,
Pozet will be happening, which is your, or Microsoft's online
conference, would you call it, event?
How do you describe it?
Claire: I describe it as a free and virtual developer event.
And it's in its third year.
It's called Pozat, an event for Postgres, but it used to be called
CitusCon.
So if you're wondering, what's the difference between CitusCon
and Pozat?
Well, the difference is the name.
We renamed it.
I'm not on the organizing team this year, though.
Teresa Giacomini on my team is chairing the organizing committee
on her own, and she's put together a fabulous team.
And it's really exciting every year, you know, the event gets
better.
And sure enough, this year, the event is, is getting better.
My role was chairing the talk selection team.
So that was pretty exciting.
There were a lot more submissions than I expected, even when
we forecasted for growth.
And in fact, I published a blog post that was all about the talk
selection team process and shared some of the metrics and how
we went about making the decisions.
And I had, you know, there were 3 other amazing Postgres open
source people on the talk selection team with me.
So I obviously did it as part of a team.
But yeah, the speakers, the talks, it should be pretty fun.
And it's 4 separate live streams, June 11 through 13.
Michael: Yeah, I've watched a lot of the talks in the past.
I love that they're all online.
You can watch it from anywhere.
No travel involved.
It's extremely accessible globally.
Pretty much, I think, wherever you live in the world, you'll
be able to watch some of the talks live, which is amazing.
I don't know of an event like it from that perspective.
So I'd be keen to hear a bit more about how you came up with
it, what your goals are with it, why it needs to exist, that
kind of thing.
Claire: Let's see, it's in its third year, which means that Citus
Con, an event for Postgres, was conceived kind of near the tail
end of COVID, when a lot of things were happening virtually.
Right?
Michael: Makes sense.
Claire: And I love in-person events.
I mean, it's how you and I first met in person, right?
At PG Day in Paris.
You make friends, you build relationships, you get that face-to-face
hallway track experience at in-person events, which is pretty
wonderful.
But at the same time, people have young kids, elderly parents,
things they have to be doing in their community.
Maybe they don't have budget to travel to another location, paper,
hotels, food, planes, et cetera.
So there is, I think accessibility is like key.
These virtual talks are accessible to people, anybody with an
internet connection, right?
And we're hoping people come and attend the live streams because
then you can like be on the live text chat with the speaker while
their talk is being presented this year, which I think is kind
of cool because all the talks are pre-recorded.
But we also know that a lot of people are going to watch these
talks online on YouTube on their own schedule, right, at their
leisure, and that's fine too, right?
So I think Microsoft as a rule is very big into accessibility.
Like we also put a lot of thought into the captions of these
videos and making sure that Postgres is actually spelled like
Postgres.
You know, we wanna make it easy for people to consume this.
Michael: Nice.
Obviously during COVID, we had a lot of online events and that
was wonderful.
And it makes sense that most of them have gone back to in-person,
but it has left us with not as many online events as would be
nice.
So thanks for you and your team for continuing to run that.
While we're on names and spelling things correctly and all sorts
of things like that.
Whilst we did only meet in person recently, I did come across
you a long time ago via your funny videos on how to spell and
pronounce Postgres, but also the name of the conference, I think,
was what you were joking about.
Do you Remember those videos?
Claire: I do.
I think if you go to my Twitter feed, I still have pinned that
60-second video monologue that was inspired by a comedian named
Alexis Gay, who I think does wonderful monologues.
And yeah, I got to play around with CitusCon, an event for Postgres,
all the ways people misspell and misstate Citus, as well as all
the many different ways people will pronounce Postgres.
So people got a kick out of it.
It had a ton of views.
It's probably the most popular thing I've ever published in my
entire life.
And so that's why it's still pinned, even though I'm a couple
years old now.
Actually, maybe you can help me.
I have promised Teresa to create some kind of cool monologue
or trailer, something, some little short YouTube short type thing
before Pozet happens.
And I'm trying to find the hook with the story and the tell.
How can I possibly beat that, you know, different ways to pronounce
Postgres video?
And I don't, I haven't figured it out yet.
So I'm looking for inspiration, if you have any ideas.
Michael: Well, your videos are way funnier than anything I've
ever done in my life, so I don't think I'm going to be able to
help you.
But 1 thing we haven't talked about yet that maybe is an idea
is what POSET stands for, the letters, and maybe you could have
some fun with what it doesn't stand for.
Claire: It's interesting.
I'm going to segue to Taylor Swift for just a second.
There have been all these videos and reels lately exploring,
well, what's the process?
How do these songs get written?
And this is true for other musicians as well.
They're starting to like let people in to these kind of homemade
videos that show them during the creative process.
I don't know how many people that are listening know how naming
is done, but it's really kind of interesting.
And I don't know how everybody does it.
I've only done naming projects at 3 different companies.
1 was when I was at Amazon, 1 when I was at Sun Microsystems,
and now at Microsoft, So I will not claim to be the world's expert,
but part of the deal is you have to ideate a ton of options,
right?
A ton of options, like 150 different possible new names.
And they kind of all fall in different categories.
And sometimes you think of the category And then you just riff,
riff, riff, riff, riff.
And you let yourself write down bad ideas.
That's really important, is that permission to come up with a
stupid idea.
Because it's only among a field of stupid ideas that you can
find a brilliant 1.
So long story short, as we were exploring the names, 1 of the
things that struck me is that, huh, FOSDOM, a lot of people don't
really know what FOSDOM stands for.
Like It was an acronym, but now it's kind of a word.
It's kind of a name.
And you know it's free, open source, developer, blah, blah, blah.
Like what do the rest of the letters stand for?
So then I found out there was a whole story there.
It was originally OSDEM without the S.
And then I think Richard Stallman insisted that the F be added.
Not 100% sure the details of that story wasn't there at the time
but anyway so there was this whole category of okay what if we
were to create a name that was inspired by an acronym.
And that's exactly what Fossette is.
So the inspiring acronym stands for Postgres, open source, ecosystem,
talks, training, and education.
And separate from Postgres, I feel like the most important word
in there is actually ecosystem.
So we absolutely were trying to welcome and invite talks, not
just on the Postgres core, but also on extensions, also on tooling
that make the Postgres technology work.
Because there's this rich set of tooling that exists in that
world.
I mean, do you consider PG Mustard tooling or do you consider
it guidance?
Michael: Good question.
I consider it a tool.
Claire: Okay.
Michael: Yeah, But it's a great point because one of the best things
about Postgres is how extensible it is.
So making sure people feel included there is a great, great idea.
Claire: But we don't ever expect anybody to remember what Pozet
originally stood for or to ever spell it out in long form.
It's not an acronym in that sense.
Michael: While we're on the ecosystem and extensions, is this
a good time to segue into that side of contributing to Postgres?
Claire: Are you hinting that I should bring up Citus?
Is that what you're thinking?
Michael: Well, it's not just Citus.
I read your blog post and I knew already that there were contributions
to even the likes of pgBouncer and all sorts of extensions.
But yeah, Citus is, I think, the one you're probably personally
best well known for, and it is obviously a huge extension.
And yeah, well, maybe we could start with Citus is now fully
open source, right?
That wasn't always true.
That's a, that's a heck of a contribution in itself.
Do you see that like the open sourceness of contributing to Postgres
as being really important.
Claire: So the fact that Citus is open source was really big
news when we first made it fully open source a couple of years
ago.
Now it was mostly open source prior to that, but taking those
last few components and making them fully open source, I think
was really important for our users and for the community and
got a lot of positive feedback from people.
I have asked the question of guests on the podcast that I host,
as well as just friends within the Postgres world.
And to a person, everybody says that part of why they're so committed
to Postgres, part of why they chose to run their business on
Postgres, part of why they were first attracted to working on
this technology is because it's open source.
When I did the Postgres Person of the Week interview that Andrea
Sherban has been running for a couple of years now, which is
pretty awesome, I think I gave him a graphic that I called like
a virtuous circle or a flywheel, right?
And the fact that Postgres is open source, I think, and then
it's easy to get started and easy to kick the tires, which means
developers start flocking to it.
And then developers, you know, get all this positive feedback
from using it.
They contribute to the tooling, which makes it even better to
use, which makes it even easier to start with and like, it's
yes, I think the fact that it's open source matters.
You mentioned pgBouncer a second ago.
And yeah, Yelta Fenomenio on our team is now one of the maintainers
for pgBouncer.
And it's been really exciting to see his work and see some of
the improvements to pgBouncer that have happened in recent releases
that I can see his fingerprint on that work.
And so that is another aspect of our contributions to the ecosystem
that got flagged in that big blog post.
But the other thing in that big blog post that I think is so
interesting that I put a lot of thought into is there's a whole
section on the Postgres open source contributor team at Microsoft.
And I mean, the part that a lot of the technologists will be
most excited about are some of the Postgres 17 features.
No, Quick Postgres 17 isn't GA yet.
So I walked through some of the features that my teammates told
me about that they had worked on themselves, that they had authored
or co-authored.
But before that, I also went and tried to articulate why does
a company like Microsoft pay these open source committers to
work on Postgres open source nearly full time, right?
What's the motivation?
What's the strategy?
And why are we going after these big architectural changes like
asynchronous IO and direct IO?
And so If you're curious about why, hopefully you'll link to
that part of the blog post in the show notes.
Thomas Munro even gave me a really nice quote to add to that
section that was like his personal view, because he's one of the
authors of the streaming I-O work that has come into Postgres
17 that is part of our async IO path that people are pursuing.
Michael: It's so nice looking through that list of contributors.
There's a list on the postgresql.org site of all the core team
and the major contributors, contributors, and at least for the
first couple of categories, they include the company that people
work at.
And I don't think everybody realizes, but the vast majority of
people working on Postgres are employed by a company that's either
involved directly with Postgres or uses Postgres, but increasingly
by major cloud providers, but also a lot of the consulting companies.
So there's a, 1 of the things you did mention in that post was
By employing people full-time, you're able to work on these deep
architectural things.
People that contribute part-time, it's harder to take on the
bigger task because they're just going to take forever.
Claire: Well, even full-time, it's multi-year, multi-release.
And obviously, anything that you, like the streaming I-O
Work, for example, had to have users, right?
Had to have user code that was implemented to take advantage
of it you're not just gonna put some new capability on the shelf
that isn't getting used and tested and so yeah it's pretty it's
pretty exciting and then of course Melanie Plagman who is now
a committer to new Postgres committers added, which is pretty
exciting.
All this work is, any work that gets done in Postgres is almost
by definition, multi-company and global in nature.
Right?
So the reviewers, the authors, the committers might all be from
different companies and collaborating together.
So any of the work that I've flagged where my teammates at Microsoft
were authors, they're probably with somebody else involved from
some other company.
It is a global project.
And so shout out to all those folks too.
It was really funny, cause I got a note on Mastodon from Alvaro
Herrera, who was, did you see it?
He said, I can't help but feel slighted on Yeltsin's behalf that
you didn't include the include the lib PQ query cancellation,
but I have since rectified my mistake and has been added to the
blog post.
Michael: Nice.
And if anybody doesn't know Alvaro works for EDB.
So this is not a Microsoft person chiming in.
Anyway, it is so great.
And I did actually look through some of the commits.
I went down a bit of a rabbit hole in research for this 1.
But yeah, reviewers from AWS, reviewers from Neon, reviewers
from EDB.
Anyway, it's a great post.
I do recommend people checking it out partly just to see how
things work, but also to learn.
I want to make sure we do talk a bit more about your own podcast.
Claire: So it's a monthly podcast.
We record it live on Discord, which is kind of a whole social
audio thing because then there's a parallel live text chat that's
happening on Discord at the same time that we're doing the actual
recording.
And it can be a lot of fun to participate in.
And we typically explore what I call the human side of Postgres.
So it's all about, you know, how did you get your start?
What was your first job in Postgres?
What were the challenges you ran across in doing that?
Or even sometimes, even earlier, how did you get your start as
a developer?
And then in Postgres, which is not to say we'll only ever talk
about that, but the backstories that contributors have, they're
just fascinating to me and to a lot of our listeners.
So The podcast is called Path to Siduscon, but we're about to
rename it.
Its new name is going to be Talking Postgres.
So we will be making that available.
We'll be redirecting all the old episodes to the new name.
So it should be super easy.
If you've been subscribed to the RSS feed, everything should
still work.
If it doesn't just reach out to me on Twitter or Mastodon or
something, I'll work to get it fixed.
But yeah, talking Postgres.
Michael: Yeah, and I can vouch for this.
There's been about 15 episodes, I believe, and I've listened
to every one.
They're about an hour long conversations with 1 or 2 people about
all things Postgres, and it's really great.
I've learned a lot from it as well.
I wish there were more Postgres podcasts.
And actually, we chatted for ages.
A lot was comparing notes on how to run a podcast.
I like meeting other makers and other people in the weeds of
things because you just get to chat really nerdy but basic things.
So yeah, if anybody else out there is considering doing this
kind of thing, feel free to hit me up for comparing notes on
that kind of thing.
Claire: You've been very generous with your tips and your suggestions.
I really appreciate it.
Michael: Well, likewise.
On that note, what contributions do you think are most needed
at the moment in the community?
Or perhaps for folks out there who want to contribute more to
Postgres or want their organization to contribute more in some
way, any advice for them on how to get started with this?
Claire: 2 ideas come to mind on your first question.
And I think my brain started to go down those paths.
But 1 idea is something that the PGConf Dev team is already working
toward, which is they have a bunch of workshops planned that
are intended to help new contributors get feedback on their patches,
for example.
So there's an advanced patch feedback session that's invite only.
So, and it's probably full by now, but there's an intro to hacking
on Postgres, big, long session, you know, more than just the
length of a talk, right?
There's another 1 that's called a patch review workshop, again,
with special registration required.
And so I think as I talked to Melanie Plankman about it, the,
the goal, the intention is to help new contributors understand
how to get it done, how to make it happen, what skills do they
need?
Because it's not just about the quality of their work, but it's
about integrating into the processes that exist and how to be
most effective within the Postgres development processes.
So I think making it possible and easier for more developers
to begin contributing to this very complex database is an important
thing to do.
And I love the fact that there are people and committers focused
on this problem, right?
Focused on, because right now it can take a couple of years to
get your patch accepted, depending on other priorities and competing
priorities and things like that.
So people need tips and guidance as to how to navigate that process.
Michael: Nice.
Yeah.
As soon as you mentioned Melanie, went off in my head that she's
been doing a great job banging the drum of reviewing other people's
patches, being a big bottleneck as well.
I guess it's along the same, it's also helping new people, right?
But yeah, reviewing others patches is what it feels like a bottleneck
as well at the moment.
Lots like we've got probably in the last few commit fest, probably
more waiting on the viewer than in other other states.
So that's yeah.
Great.
Thank you.
Claire: Yeah.
And the second thing that came to mind is the unconfs I'm
hoping to facilitate at pgconf.dev, where it's focused on, well,
how do we recognize these non-code contributions?
And we do it already.
We do it already.
It happens already.
But how can we recognize more of them, right?
That are harder to see and harder to measure, you know, with
today's systems.
So I think recognition is really important, both to incent behavior,
because people like getting recognized, right?
Don't you?
Michael: I love it.
Claire: And so I think it's something that we can always do better
on.
Oh, and now the third thing I will just flag is I always, when
I look at, because I've worked in different technology spaces,
I'm always wondering what more can we learn from the Python community,
from the Django community, from the Kubernetes community.
And so in fact, one of the keynotes for PostgresFM, an event for Postgres,
is going to be delivered by Sarah Novotny, who spent a lot of
her years in open source working on the Kubernetes project.
And so I'm really curious.
I have not seen her slides.
I don't know what she's going to say.
But I'm really curious to see, are there things that happen in
the Kubernetes community that we in Postgres could steal from,
right?
That could benefit our community.
Michael: So.
Wonderful, thanks so much, Claire.
And just as a reminder for people, when is PostgresFM and how do
they tune in?
Claire: PostgresFM is happening June 11 through 13.
There are four live streams.
Two of them are in America's friendly time zones.
So like 8 a.m.
Pacific PDT to like 1.30 p.m.
On the Tuesday, the 11th and the Wednesday, the 12th.
And the other two are in your time zone.
So and we have Europe friendly time zones happening on the Wednesday
in Europe and the Thursday in Europe in the morning.
So we're trying to hit as many time zones as we could and the
way to tune in is to go to aka.ms slash post.
event the same way as I treat an in-person 1.
In an in-person 1, I block my calendar.
But why don't I do the same for an online 1?
I should do.
Anyway, good reminder.
I'll link up all of these things in the show notes so people
have got easy access.
Thank you so much for joining me and us today, Claire.
Thanks so much for everything you do in the community and see
you soon.
Claire: Thank you.
Appreciate it, Michael.
Ciao, ciao.