libmemalloc 0.0.0-alpha
The Magic of Memory Transmutation
Loading...
Searching...
No Matches
CODE_OF_CONDUCT
Contributor Covenant Reports Community Code of Conduct

libmemalloc code of conduct logo

> Our Commitment

The libmemalloc project is committed to providing a respectful, focused, and collaborative environment for everyone who participates in the project.

This project welcomes contributions through code, documentation, design discussion, reviews, bug reports, feature requests, tests, examples, security improvements, tooling, and maintenance work.

All participants are expected to help maintain a community that is open, technical, constructive, and safe for professional collaboration.


> Project Values

The libmemalloc community values:

  • technical accuracy;
  • respectful disagreement;
  • clear and actionable feedback;
  • maintainable and portable code;
  • secure and responsible engineering;
  • transparent decision-making;
  • proper attribution and licensing;
  • patience with new contributors;
  • responsibility for the impact of our words and actions.

Strong technical criticism is welcome when it is directed at code, design, documentation, tests, or processes.

Personal attacks are not welcome.


> Encouraged Behavior

Examples of behavior that contributes to a positive project environment include:

  • using welcoming and respectful language;
  • assuming good intent while still asking for clarification;
  • giving feedback that is specific, technical, and actionable;
  • accepting constructive criticism gracefully;
  • acknowledging mistakes and correcting them when possible;
  • crediting the work, ideas, reports, and references of others;
  • keeping discussions focused on the project and its goals;
  • helping newcomers understand project conventions;
  • being patient with review iterations;
  • escalating serious concerns through the proper reporting channels.

> Unacceptable Behavior

Examples of unacceptable behavior include:

  • harassment, intimidation, stalking, or repeated unwanted attention;
  • insults, name-calling, humiliation, or personal attacks;
  • trolling, flame wars, or deliberately derailing technical discussion;
  • discriminatory comments or behavior;
  • publishing private information without explicit permission;
  • impersonating another person or misrepresenting affiliation;
  • submitting plagiarized work or failing to credit sources;
  • knowingly introducing malicious code, hidden behavior, or deceptive changes;
  • pressuring maintainers or contributors to bypass review, security, or compliance requirements;
  • retaliating against someone who reports a concern in good faith;
  • any other conduct that would reasonably be considered inappropriate in a professional open-source project.

> Technical Disagreement Policy

Technical disagreement is normal and useful.

Participants may strongly disagree about architecture, naming, performance, portability, security, style, testing, or maintainability. However, discussion must remain focused on the work.

Acceptable examples:

  • This API makes ownership unclear.
  • This macro is unsafe because it evaluates the argument twice.
  • This change needs tests for overflow behavior.
  • This implementation is not portable to MSVC.

Unacceptable examples:

  • attacking the author instead of the patch;
  • mocking someone's experience level;
  • dismissing feedback without addressing the technical point;
  • repeatedly reopening the same argument after a decision has been made;
  • using aggressive or humiliating language in reviews.

Maintainers may pause, lock, or redirect discussions that become unproductive.


> Scope

This Code of Conduct applies in all official project spaces, including:

  • GitHub issues;
  • pull requests;
  • discussions;
  • code review comments;
  • commits and commit messages;
  • documentation;
  • release notes;
  • project-maintained communication channels;
  • public communication when representing the project.

This Code of Conduct also applies when a person is officially representing the project in public spaces, events, posts, talks, or related technical discussions.


> Maintainer Responsibilities

Project maintainers are responsible for clarifying and enforcing acceptable standards of behavior.

Maintainers may take appropriate and fair corrective action in response to behavior that they consider harmful, inappropriate, threatening, offensive, or disruptive to the project.

Maintainers may remove, edit, hide, reject, or moderate:

  • comments;
  • commits;
  • issues;
  • pull requests;
  • discussions;
  • documentation changes;
  • wiki edits;
  • other contributions.

When appropriate, maintainers should explain moderation decisions clearly.


> Reporting

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the project maintainer:

Rafael V. Volkmer <rafael.v.volkmer@gmail.com>

When reporting an incident, please include as much relevant context as possible:

  • where the incident occurred;
  • when it occurred;
  • who was involved;
  • what happened;
  • links, screenshots, logs, or references when available;
  • whether the situation is ongoing;
  • whether immediate maintainer action is needed.

Reports will be reviewed as promptly and fairly as possible.

Reports will be handled as confidentially as reasonably possible. Information about a report should only be shared with people who need it to review, investigate, or resolve the incident.

If a report involves a maintainer, that maintainer should not be solely responsible for reviewing or resolving the report.


> Enforcement Guidelines

Maintainers may use the following enforcement levels depending on the impact, severity, pattern, and context of the behavior.

1. Correction

Used for behavior that is inappropriate, unprofessional, or disruptive, but appears limited in severity.

Possible actions:

  • private clarification;
  • public or private correction;
  • request to edit or remove a comment;
  • request to adjust communication style;
  • reminder of project expectations.

2. Warning

Used for a clear violation or repeated low-level violations.

Possible actions:

  • formal warning;
  • temporary restriction from a specific discussion;
  • requirement to stop contacting affected people;
  • requirement to follow maintainer instructions before participating further.

3. Temporary Restriction

Used for serious violations or repeated behavior after warning.

Possible actions:

  • temporary ban from issues, pull requests, or discussions;
  • temporary block from project spaces;
  • temporary removal from maintainer or collaborator privileges;
  • cooling-off period before further participation.

4. Permanent Restriction

Used for severe violations, threats, harassment, repeated misconduct, or behavior that creates an unsafe or unworkable environment.

Possible actions:

  • permanent ban from project spaces;
  • permanent removal of project privileges;
  • rejection of future contributions;
  • escalation to platform moderation or other appropriate channels.

> Good-Faith Reports

Reports made in good faith will not be punished, even if the report cannot be fully verified.

Knowingly false, malicious, or retaliatory reports are themselves a violation of this Code of Conduct.


> Review and Updates

This Code of Conduct may be updated as the project evolves.

Changes should preserve the project's commitment to respectful collaboration, technical rigor, clear enforcement, and responsible open-source maintenance.

Substantial changes should be reviewed like any other repository governance change.


> Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 3.0.

Contributor Covenant is stewarded by the Organization for Ethical Source and licensed under CC BY-SA 4.0.