Zen of Postgres: How to be a happy hacker

Joshua Drake
23 May 201252:04

Summary

TLDRThis insightful talk delves into Zen practice within the context of contributing to open-source projects, with a focus on the PostgreSQL community. It addresses the challenges newcomers face, such as intimidation and the technical and cultural barriers to entry. The speaker, a seasoned contributor and core committer, shares personal experiences and offers practical advice on how to effectively engage with and contribute to the community. Key themes include the importance of quality, the open yet rigorous nature of the community, and strategies for navigating feedback and criticism. The talk also covers technical aspects of contributing, such as using version control systems and writing regression tests, while emphasizing the community's commitment to excellence and maintainability in code.

Takeaways

  • ๐Ÿ“ˆ Zen practice in coding can help address challenges in contributing to open-source projects, such as PostgreSQL.
  • ๐ŸŒ Open communities like PostgreSQL are inclusive, but entering can be intimidating due to direct and forthright communication.
  • ๐Ÿ”จ Technical excellence and high-quality code are paramount in PostgreSQL, leading to rigorous review processes.
  • ๐Ÿ’ก Beginners should start with small, manageable contributions and gradually take on more complex tasks.
  • ๐Ÿ‘ฅ 'Community' in open source projects is amorphous; gaining consensus for new features requires understanding community dynamics.
  • ๐Ÿง Thorough testing, including regression tests, is crucial for maintaining the high quality of code in PostgreSQL.
  • ๐Ÿ“š Documentation is as important as code contribution; it's expected to accompany patches and feature submissions.
  • ๐Ÿ” The development process is iterative, often requiring multiple revisions based on community feedback.
  • ๐Ÿ”„ Understanding PostgreSQL's release cycle and commit fests can help contributors align their efforts with the project's timeline.
  • ๐Ÿค Community participation isn't just about code; it includes helping others, reviewing code, and engaging in discussions.

Q & A

  • What motivated the talk on Zen practice and contributing to the PostgreSQL community?

    -The talk was motivated by the challenges and intimidation that some people face when trying to contribute to PostgreSQL, as highlighted by a job at the Portal conference.

  • Who is the speaker and what is their background in relation to PostgreSQL?

    -The speaker has been a contributor to PostgreSQL for several years, is a core committer, and works at an innovative consulting company that specializes in PostgreSQL.

  • What is emphasized as the cultural framework for participating in the PostgreSQL community?

    -The cultural framework emphasizes openness, merit-based treatment, forthright communication, and a strong commitment to code quality within the PostgreSQL community.

  • What are some reasons people contribute to PostgreSQL according to the speaker?

    -People contribute to PostgreSQL for various reasons, including contributing to the worldwide community, helping those who can't afford proprietary databases, and for personal satisfaction.

  • How does the speaker suggest newcomers start contributing to PostgreSQL?

    -Newcomers are advised to start by immersing themselves in the community through reading mailing lists, joining IRC channels, and helping other users before starting code contributions.

  • What is the importance of quality in PostgreSQL code contributions?

    -Quality is crucial because PostgreSQL aims to maintain high standards for its code, ensuring that features are robust and maintainable. Contributors are expected to submit high-quality, well-explained code.

  • How should one approach proposing a new feature to the PostgreSQL community?

    -Proposing a new feature requires ensuring community agreement on the feature's necessity and design before coding. Contributors should provide a high-level description and get buy-in from the community.

  • What tools are mentioned for PostgreSQL development and testing?

    -The speaker mentions using CVS for version control, regression tests for verifying code, and various tools for debugging and profiling PostgreSQL code.

  • What guidelines are provided for submitting patches to PostgreSQL?

    -Contributors are advised to ensure their patches do not break regression tests, to include documentation and regression tests with new features, and to adhere to PostgreSQL's coding and message style guidelines.

  • How does the PostgreSQL community handle feature freezes and release cycles?

    -The community aims for short feature freezes and efficient commit fests to minimize the beta and release candidate phases, prioritizing quality and readiness over strict timelines.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now