Code of Conduct

Last updated: October 4, 2024. View change history.

Introduction

The PostgreSQL Project prides itself on the quality of our code and our work, and the technical and professional accomplishments of our community. We expect everyone who participates to conduct themselves in a professional manner, acting with common courtesy and in the common interest, with respect for all users and developers.

To that end, we have established this Code of Conduct for community interaction and participation in the project’s work and the community at large. This Code is meant to cover all interaction between community members, whether or not it takes place within postgresql.org infrastructure, so long as there is not another Code of Conduct that takes precedence (such as a conference's Code of Conduct).

Inclusivity and Appropriate Conduct

The PostgreSQL Project is open to participation by anyone with an interest in working with PostgreSQL, regardless of their level of experience with the software, or with technology in general. We encourage development and contributions from all users, whatever their background may be.

We encourage thoughtful, constructive discussion of the software and this community, their current state, and possible directions for development. The focus of our discussions should be the code and related technology, community projects, and infrastructure.

Personal attacks and negative comments on personal characteristics are unacceptable, and will not be permitted. Examples of personal characteristics include, but are not limited to age, race, national origin or ancestry, religion, gender, or sexual orientation.

Additional behaviors which are also violations of this code of conduct include, but are not limited to, threats of violence against an individual or group, threats of professional, community, and/or project sabotage, unwelcome sexual attentions in any form, engaging in behavior that may bring the PostgreSQL project into disrepute, and refusing to cease inappropriate conduct when requested to do so.

Retaliation

It is also expressly forbidden for anyone to retaliate against a person who brings a complaint under this Code of Conduct, or who assists in investigating such a complaint. Retaliation may take the form of, among other actions:

  • further personal attacks (public or private);
  • actions which undermine an individual's professional status and/or status with their employer, coworkers, clients, or community;
  • actions which threaten the individual's privacy, physical person, well-being, home, and/or family.

Acts of retaliation will be treated in the same manner as any other violation of this Code of Conduct.

Code of Conduct Committee

The Core Team will appoint a Code of Conduct Committee to receive and investigate all complaints, and a Chair for that Committee. Any member of the community may volunteer to be on the Committee, with the exception of Core Team members. As the Core Team oversees the Committee, Core Team members will not serve on the Committee to prevent conflicts of interest. The membership list of the Committee will be publicly available at all times and can be viewed here.

The Committee membership will be refreshed on an annual basis. The Core Team or the Committee Chair will announce the opening and closing dates of the annual membership selection process through the usual community channels of communication.

Any community member who would like to serve on the Committee will complete an initial questionnaire for review by the Core Team and the current Committee. The current Committee members will review the candidates, and conduct interviews if needed. The current Committee will make recommendations, and the Core Team will choose the new members for the Committee.

The Committee may have a transition period of up to one month to allow transfer of knowledge and responsibilities between the retiring members and the new members.

While there is no specified number of Committee members who may serve at any one time, the Committee will consist of at least four individuals at all times. A term for a Committee member is one (1) year. A Committee member may serve no more than three (3) terms consecutively.

Committee members serve at the pleasure of the Core Team, and the Core Team may relieve a Committee member of their duties if the Core Team believes that member is not meeting the responsibilities of their position.

The Committee may also approach the Core Team to coordinate removal of a member on their own initiative if such person is unable or unwilling to fulfill the responsibilities of their position.

Reporting

If you are the recipient of inappropriate behavior, or witness such behavior, please report it promptly to the Code of Conduct Committee at coc@postgresql.org. In the unfortunate event that you wish to make a complaint against some member of the Committee, you may instead contact any of the other Committee member(s) individually.

In your report, please include as much detail as possible:

  • a description of the incident;
  • the timing of events;
  • screen shots of any electronic discussions;
  • names, and if possible, contact information for any witnesses; and,
  • any other information which you think would be helpful in the investigation.

Handling of Complaints

The Committee will promptly acknowledge and investigate each reported incident. With the cooperation of all parties, the Committee will aim to complete the investigation in a period of two weeks from the receipt of the complaint.

Incident reports and investigation activities will be kept confidential to the extent possible, consistent with the need to conduct an adequate investigation.

The Committee will inform the complainant and the alleged violator of their decision at that time. If the investigation is still ongoing, the Committee will give the parties a status report and an estimated completion date.

A lack of cooperation could prolong the investigation. The Committee will make every effort to complete the investigation and deliver the results to the complainant and the alleged violator as soon as practicable, notifying them of its decision when the investigation is completed.

In the event of a complaint by or against a CoC Committee member or Core Team member, the complaint handling will proceed as usual, with the exception that the person who is involved in the complaint will be excluded from the proceedings in their role on the Committee or Core Team.

Possible results include, but are not limited to:

  • A determination of no violation of the Code of Conduct;
  • A private reprimand with specific guidance on acceptable behavior to the individual(s) involved;
  • A public reprimand with specific guidance on acceptable behavior to the individual(s);
  • A temporary or permanent ban from some or all community-managed spaces, including, but not limited to, community mailing lists, forums, IRC, and loss of commit privileges;
  • A determination for a public and/or private apology.

Because of the seriousness of a determination involving a temporary or permanent ban, and the associated technical and infrastructure actions required by such a result, such a finding would be subject to review by the Core Team before the involved parties are informed of the decision. If the Core Team disagrees with the Committee's finding, the Core Team would present its reasoning to the Committee. The Committee would consider the Core Team's recommendations, and engage in further discussion if needed. If the Core Team and Committee cannot agree on a determination, the Core Team's decision would prevail.

The Committee may determine that a violation of this policy was inadvertent, perhaps arising from cultural differences (for example, use of a slang term which is harmless in one language and offensive in another) or a misguided attempt at humor. Such cases will be treated as opportunities for education rather than reprimand. If the Committee determines that a reported incident falls into the category of inadvertent violation, the Committee will decide whether the incident is likely to be repeated by others, and, if so, share the information in a general way with the community to prevent further incidents.

If either party feels the determination is incorrect, an appeal may be filed with the Committee within one week of its decision. The appeal should include new information, sources, witnesses, etc. to provide the Committee with additional information to re-consider the incident.

Records of incident reports, investigations, Committee decisions, and all related matters will be retained for a period of three calendar years from the date of the last item in the incident file. The Committee will take suitable measures to ensure the confidentiality of all reports and discussions.

The Committee will produce an annual report summarizing the types of complaints received and the actions taken to address the complaints by the end of the first quarter of each year for the prior year, and share that report with the community. The complaints and actions will be anonymized to protect the identities of all involved parties.

Acting in Good Faith

Anyone filing a complaint concerning an incident is expected to be acting in good faith and have reasonable grounds for believing the information disclosed indicates a violation of this policy. Any allegations that prove not to be substantiated, and which prove to have been made maliciously or knowingly to be false, will be viewed as a serious community offense and a violation of this Code of Conduct.

Updates to the Code of Conduct

The Committee and/or the Core Team will consider updates to this Code of Conduct as needed, and at least once per year, based on incidents reported, recommendations from legal professionals, suggestions from community members, community cultural developments, or other events which create a need for revision.

Community members who have a suggestion for a revision to the Code of Conduct may submit their ideas to the Committee via email to coc@postgresql.org.

Conferences and Events

The project encourages each event organizer to create and maintain a Code of Conduct for their event. Those Codes of Conduct may or may not be identical to this Code of Conduct. Each event organizer is responsible for handling inappropriate conduct at their event in a prompt and objective manner.

Conclusion

We encourage appropriate and collegial relationships among community members; however, members must be sensitive to conduct that may be considered offensive by fellow members and must refrain from engaging in such conduct.

In all interactions with the community, use your professional judgment, and keep the discussion focused on moving our project and our community forward in a positive direction for all.

Licence

The PostgreSQL Code of Conduct is released under the PostgreSQL Licence.