Slide 1

Slide 1 text

@clairegiordano Claire Giordano @clairegiordano • @citusdata • @AzureDBPostgres HOW TO CONTRIBUTE TO AN OPEN SOURCE PROJECT LIKE POSTGRES?

Slide 2

Slide 2 text

@clairegiordano You use Postgres Who is this Postgres talk for?

Slide 3

Slide 3 text

@clairegiordano You use Postgres Who is this Postgres talk for? New job in a Postgres company!

Slide 4

Slide 4 text

@clairegiordano You use Postgres Who is this Postgres talk for? New job in a Postgres company! Job search, looking for a “side gig”

Slide 5

Slide 5 text

@clairegiordano You use Postgres Who is this Postgres talk for? New job in a Postgres company! Job search, looking for a “side gig” You have a PG problem to solve, some kind of “itch”

Slide 6

Slide 6 text

@clairegiordano You use Postgres Who is this Postgres talk for? New job in a Postgres company! Job search, looking for a “side gig” You have a PG problem to solve, some kind of “itch” You find databases interesting, want to hack on Postgres to learn

Slide 7

Slide 7 text

@clairegiordano Once Upon A Time... 5 years ago, I was in the “new job in a Postgres company” group

Slide 8

Slide 8 text

@clairegiordano @clairegiordano A bit about me

Slide 9

Slide 9 text

@clairegiordano Before diving in, things about Postgres culture Code of conduct !! postgresql.org/about /policies/coc/ Mailing list culture postgresql.org/list/ pgsql-hackers pgsql-general pgsql-docs pgsql-performance pgsql-bugs pgsql-novice

Slide 10

Slide 10 text

@clairegiordano Also: “Mailing List etiquette” is a thing Mailing list etiquette is a thing Be respectful, avoid personal attacks Remove confidentiality notices (all emails are public*) Reply-all No HTML-enriched email Bottom post and inline-reply Take extra time to communicate clearly Source: wiki.postgresql.org/wiki/Mailing_Lists

Slide 11

Slide 11 text

@clairegiordano Ways to Contribute to Postgres—in today’s talk 11. Translations 12. Update docs 13. Contribute code Code 6. Doc feedback 7. Report bugs 8. User Test new releases 9. Performance testing 10. Patch review Feedback is Gold 1. User stories 2. Video Demos 3. Promote 4. Meetups 5. Answer questions & share your experience Sharing is Caring @clairegiordano

Slide 12

Slide 12 text

@clairegiordano Just like racing sailboats All these different ways of contributing to Postgres add value Source: Livestream of Rolex Big Boats Racing Series, Sep 2021 (my son was on the crew!)

Slide 13

Slide 13 text

@clairegiordano Josh Berkus gave a similar talk in ~2013 Source: Josh Berkus on GitHub: https://jberkus.github.io/pdf_presos/50_ways.pdf

Slide 14

Slide 14 text

@clairegiordano This is how Josh drew ”Contribution Pie” in 2013

Slide 15

Slide 15 text

@clairegiordano Ways to Contribute to Postgres—in today’s talk 11. Translations 12. Update docs 13. Contribute code Code 6. Doc feedback 7. Report bugs 8. User Test new releases 9. Performance testing 10. Patch review Feedback is Gold 1. User stories 2. Video Demos 3. Promote 4. Meetups 5. Answer questions & share your experience Sharing is Caring @clairegiordano

Slide 16

Slide 16 text

@clairegiordano Tell your user stories • Blog posts • Talks • Podcast interviews • Twitter threads • Official “case studies" 1

Slide 17

Slide 17 text

@clairegiordano TIPS for telling user stories • Blog posts • Talks • Podcast interviews • Twitter threads • Official “case studies” 1. Headlines 2. Scannability 3. Diagrams 4. Tables 5. Bullets 6. Code blocks 7. Planet Postgres REMEMBER: 1

Slide 18

Slide 18 text

@clairegiordano Interview your users & tell their stories Example: Pouria Hadjibagheri of UKHSA co-authored this on implementation of UK COVID-19 dashboard ~80.2 K views Source: aka.ms/blog-ukcovid19-dashboard-citus 1

Slide 19

Slide 19 text

@clairegiordano 2 Use Video to demo how you use Postgres Some people learn better via video Source: aka.ms/how-citus-distributes-postgres

Slide 20

Slide 20 text

@clairegiordano 2 Good video metadata will help your video get discovered • titles should be compelling • frontload w/ most important words (YouTube truncates titles @ 70 chars) Thumbnail Description 3 hashtags Bookmarks Links Chapters Title

Slide 21

Slide 21 text

@clairegiordano 3 Promoting reaches more ppl, grows ecosystem

Slide 22

Slide 22 text

@clairegiordano So many PG things to signal boost your learnings, user stories, meetups, talks attended, TIL, QOTD, OH, how-to, new releases 3

Slide 23

Slide 23 text

@clairegiordano Where to promote & share? Twitter Slack LinkedIn Reddit Discord IRC 3

Slide 24

Slide 24 text

@clairegiordano 24 Source: @PostgreSQLNL, @OptimaDataBV z Run, host, & support local meetups 4

Slide 25

Slide 25 text

@clairegiordano 5 Answer questions & share your experience PostgreSQL Slack IRC Stack Overflow #postgresql Mailing Lists: share your real-world user experience: “yeah that works”

Slide 26

Slide 26 text

@clairegiordano Ways to Contribute to Postgres—in today’s talk 11. Translations 12. Update docs 13. Contribute code Code 6. Doc feedback 7. Report bugs 8. User Test new releases 9. Performance testing 10. Patch review Feedback is Gold 1. User stories 2. Video Demos 3. Promote 4. Meetups 5. Answer questions & share your experience Sharing is Caring @clairegiordano

Slide 27

Slide 27 text

@clairegiordano Docs feedback is a gift too! Clarify Fix ambiguities Help new people understand 6 @clairegiordano Source: postgresql.org

Slide 28

Slide 28 text

@clairegiordano “Submit correction” link @ bottom of each docs page takes you here 6 Source: postgresql.org

Slide 29

Slide 29 text

@clairegiordano 7 Report bugs with Postgres When you find a bug with Postgres we want to hear about it.” “ “ Your bug reports play an important part in making PostgreSQL more reliable.” Source: postgresql.org

Slide 30

Slide 30 text

@clairegiordano 7 Source: postgresql.org WHERE to report bugs 1. Mailing list, or 2. Bug report web-form here: postgresql.org/account/submitbug/ 3. Unless it’s a security issue!

Slide 31

Slide 31 text

@clairegiordano 7 Security issues are special

Slide 32

Slide 32 text

@clairegiordano User testing your own applications new PG Beta, RC releases new features –––also, tell the PG community when things work 8 Imaginary email.... To: pgsql-hackers Lists: pgsql-hackers Just tested our application FOOBAR with the beta 4 release candidate for PG 15 and wanted to let y’all that it worked!

Slide 33

Slide 33 text

@clairegiordano Performance Regression Measuring performance on new releases of Postgres is super appreciated 9

Slide 34

Slide 34 text

@clairegiordano Patch Review as part of a “Commitfest” Commitfest = “A periodic break in PostgreSQL development that focuses on review and committing rather than on new development.” 10 Source: commitfest.postgresql.org

Slide 35

Slide 35 text

@clairegiordano Different types of Patch Review Usability Feature Performance Code Review Architecture (Design) Review 10 Source: commitfest.postgresql.org

Slide 36

Slide 36 text

@clairegiordano Ways to Help with Patch Review from one of Melanie Plageman’s PUG talks 10

Slide 37

Slide 37 text

@clairegiordano Ways to Contribute to Postgres—in today’s talk 11. Translations 12. Update docs 13. Contribute code Code 6. Doc feedback 7. Report bugs 8. User Test new releases 9. Performance testing 10. Patch review Feedback is Gold 1. User stories 2. Video Demos 3. Promote 4. Meetups 5. Answer questions & share your experience Sharing is Caring @clairegiordano

Slide 38

Slide 38 text

@clairegiordano Help with message translations Mailing list: pgsql-translators More info: babel.postgresql.org Instructions in Postgres docs: “Native Language support” 11

Slide 39

Slide 39 text

@clairegiordano Translations really need help! Especially Polish, Brazilian Portuguese, & Korean Without maintenance these translations will go away L 11

Slide 40

Slide 40 text

@clairegiordano • pgsql-docs@ • /docs top level directory • SGML/XML, Docbook • Lætitia Avrot’s talk from 2018: “De-mystifying contributing to Postgres” www.postgresql.eu/events/pgdayparis2018/sch edule/session/1704-de-mystifying-contributing- to-postgresql/ 12 Update Docs

Slide 41

Slide 41 text

@clairegiordano Contribute code 13 LOTS of places to contribute—not just to core. Cycles to get patch review & contribute to Postgres core are really, really, really long. Be prepared & don’t get discouraged

Slide 42

Slide 42 text

@clairegiordano z Also at PGConf NYC, on Fri @ 10:50am EDT 13 James Coleman, Braintree Payments

Slide 43

Slide 43 text

@clairegiordano Lots of drivers JDBC ODBC Python drivers e.g. psycopg Go driver ... 13

Slide 44

Slide 44 text

@clairegiordano Contrib modules, ecosystem, & extensions 13 pg_buffercache pg_prewarm pg_stat_statements pg_hint_plan PgBouncer citus! ...

Slide 45

Slide 45 text

@clairegiordano So many ways to contribute to Postgres 11. Translations 12. Update docs 13. Contribute code Code 6. Doc feedback 7. Report bugs 8. User Test new releases 9. Performance testing 10. Patch review Feedback is Gold 1. User stories 2. Video Demos 3. Promote 4. Meetups 5. Answer questions & share your experience Sharing is Caring @clairegiordano

Slide 46

Slide 46 text

@clairegiordano Get your socks if you asked a question!

Slide 47

Slide 47 text

@clairegiordano Thanks & credits & inspiration go to • Josh Berkus • Samay Sharma • Thomas Munro • Rob Treat • Melanie Plageman • James Coleman • Lætitia Avrot • Isaac Alves • Selena Deckelmann’s great wiki post: “So you want to be a developer”

Slide 48

Slide 48 text

@clairegiordano Thank you @citusdata | @AzureDBPostgres @clairegiordano github.com/citusdata/citus