Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to Contribute to an Open Source Project Like Postgres | Claire Giordano | PGConf NYC 2022

How to Contribute to an Open Source Project Like Postgres | Claire Giordano | PGConf NYC 2022

At PG Conf NYC 2022, Claire Giordano of the Citus and Postgres team at Microsoft presented this talk to shine a light on the different ways can you contribute to the PostgreSQL open source project. From patches to docs to translations to advocacy to demos—as well as sharing what you’ve learned as a Postgres user story—there are many avenues to contribute. And just like sailboat racing—in which every single person in the crew influences the final score, no matter their role—all these different types of contributions to Postgres are valuable.

This talk explores the different ways to contribute to Postgres, with tips on how and where to get started, too. If you are new to Postgres and are trying to figure out how to participate, this talk is for you.

Claire Giordano

September 22, 2022
Tweet

More Decks by Claire Giordano

Other Decks in Technology

Transcript

  1. @clairegiordano Claire Giordano @clairegiordano • @citusdata • @AzureDBPostgres HOW TO

    CONTRIBUTE TO AN OPEN SOURCE PROJECT LIKE POSTGRES?
  2. @clairegiordano You use Postgres Who is this Postgres talk for?

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

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

    New job in a Postgres company! Job search, looking for a “side gig”
  5. @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”
  6. @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
  7. @clairegiordano Once Upon A Time... 5 years ago, I was

    in the “new job in a Postgres company” group
  8. @clairegiordano @clairegiordano A bit about me

  9. @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
  10. @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
  11. @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
  12. @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!)
  13. @clairegiordano Josh Berkus gave a similar talk in ~2013 Source:

    Josh Berkus on GitHub: https://jberkus.github.io/pdf_presos/50_ways.pdf
  14. @clairegiordano This is how Josh drew ”Contribution Pie” in 2013

  15. @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
  16. @clairegiordano Tell your user stories • Blog posts • Talks

    • Podcast interviews • Twitter threads • Official “case studies" 1
  17. @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
  18. @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
  19. @clairegiordano 2 Use Video to demo how you use Postgres

    Some people learn better via video Source: aka.ms/how-citus-distributes-postgres
  20. @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
  21. @clairegiordano 3 Promoting reaches more ppl, grows ecosystem

  22. @clairegiordano So many PG things to signal boost your learnings,

    user stories, meetups, talks attended, TIL, QOTD, OH, how-to, new releases 3
  23. @clairegiordano Where to promote & share? Twitter Slack LinkedIn Reddit

    Discord IRC 3
  24. @clairegiordano 24 Source: @PostgreSQLNL, @OptimaDataBV z Run, host, & support

    local meetups 4
  25. @clairegiordano 5 Answer questions & share your experience PostgreSQL Slack

    IRC Stack Overflow #postgresql Mailing Lists: share your real-world user experience: “yeah that works”
  26. @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
  27. @clairegiordano Docs feedback is a gift too! Clarify Fix ambiguities

    Help new people understand 6 @clairegiordano Source: postgresql.org
  28. @clairegiordano “Submit correction” link @ bottom of each docs page

    takes you here 6 Source: postgresql.org
  29. @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
  30. @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!
  31. @clairegiordano 7 Security issues are special

  32. @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!
  33. @clairegiordano Performance Regression Measuring performance on new releases of Postgres

    is super appreciated 9
  34. @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
  35. @clairegiordano Different types of Patch Review Usability Feature Performance Code

    Review Architecture (Design) Review 10 Source: commitfest.postgresql.org
  36. @clairegiordano Ways to Help with Patch Review from one of

    Melanie Plageman’s PUG talks 10
  37. @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
  38. @clairegiordano Help with message translations Mailing list: pgsql-translators More info:

    babel.postgresql.org Instructions in Postgres docs: “Native Language support” 11
  39. @clairegiordano Translations really need help! Especially Polish, Brazilian Portuguese, &

    Korean Without maintenance these translations will go away L 11
  40. @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
  41. @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
  42. @clairegiordano z Also at PGConf NYC, on Fri @ 10:50am

    EDT 13 James Coleman, Braintree Payments
  43. @clairegiordano Lots of drivers JDBC ODBC Python drivers e.g. psycopg

    Go driver ... 13
  44. @clairegiordano Contrib modules, ecosystem, & extensions 13 pg_buffercache pg_prewarm pg_stat_statements

    pg_hint_plan PgBouncer citus! ...
  45. @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
  46. @clairegiordano Get your socks if you asked a question!

  47. @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”
  48. @clairegiordano Thank you @citusdata | @AzureDBPostgres @clairegiordano github.com/citusdata/citus