# Code of Conduct
## Our Commitment
We are committed to fostering an open, welcoming, and productive environment for all contributors to *SIMD-Kernels*. We value collaboration, respect, and constructive discourse that advances the project's goals, which is to contribute positively and openly to the high-performance Rust data ecosystem.
## Our Standards
### Positive Behaviour
We encourage:
- **Respectful communication** - Engage with others courteously and professionally
- **Constructive feedback** - Provide specific, actionable suggestions for improvement
- **Technical focus** - Keep discussions centred on code, design, and implementation
- **Collaborative problem-solving** - Work together to find optimal solutions
- **Knowledge sharing** - Help others learn and contribute effectively
- **Good faith participation** - Assume positive intent in interactions
### Professional Conduct
- Use clear, professional language in all communications
- Focus on technical merit when evaluating contributions
- Provide specific examples and reasoning when giving feedback
- Acknowledge good work and helpful contributions
- Be patient with newcomers and those learning
### Unacceptable Behaviour
The following behaviour is not tolerated:
- Personal attacks, harassment, or discriminatory language
- Trolling, inflammatory comments, or deliberate disruption
- Publishing private information without permission
- Behaviour that creates an intimidating or hostile environment
- Spam, off-topic discussions, or promotional content
- Deliberately introducing bugs or malicious code
## Project-Specific Guidelines
### Technical Discussions
- **Stay focused** - Keep discussions relevant to *SIMD-Kernels*'s goals and implementation
- **Be specific** - Provide concrete examples and clear reasoning
- **Respect design decisions** - Understand that *SIMD-Kernels* has specific design principles
- **Constructive criticism** - Critique ideas and implementations, not individuals
### Code Reviews
- **Review the code, not the person** - Focus on technical aspects
- **Please explain your reasoning** - Help contributors understand feedback
- **Suggest alternatives** - Offer concrete improvements where possible
- **Be thorough but timely** - Provide comprehensive feedback promptly
### Issue Reporting
- **Be clear and concise** - Provide reproducible examples
- **Search existing issues** - Avoid duplicates
- **Follow templates** - Use provided issue templates when available
- **Stay on topic** - Keep discussions focused on the reported issue
## Scope
This Code of Conduct applies to:
- All project repositories and related spaces
- Issue discussions and pull request comments
- Code review conversations
- Project documentation and wikis
- Community forums and chat channels
- Public representation of the project
## Reporting bad behaviour
If you experience or witness bad behaviour:
1. **Document the incident** - Save relevant communications
2. **Report to maintainers** - Contact project maintainers directly
3. **Provide context** - Include relevant details and timeline
4. **Follow up if needed** - Ensure your report has been acknowledged
### Response Process
Project maintainers will:
1. **Acknowledge reports** - Confirm receipt within 24 hours
2. **Investigate thoroughly** - Review all relevant information
3. **Take appropriate action** - Respond proportionally to the situation
4. **Communicate outcomes** - Inform relevant parties of decisions
### Enforcement Actions
Depending on the severity and frequency of violations:
- **Warning** - Private communication about inappropriate behaviour
- **Temporary suspension** - Time-limited restriction from project participation
- **Permanent ban** - Complete removal from project spaces
- **Public acknowledgment** - Recognition of serious violations
## Maintainer Responsibilities
Project maintainers are responsible for:
- Clarifying standards of acceptable behaviour
- Taking fair and consistent enforcement action
- Removing, editing, or rejecting contributions that violate this code
- Communicating reasons for moderation decisions when appropriate
- Leading by example in all project interactions
## Attribution and Adaptation
This Code of Conduct prioritises:
- **Technical excellence** - Maintaining focus on code quality and design
- **Productive collaboration** - Enabling effective teamwork
- **Professional discourse** - Ensuring respectful, constructive communication
- **Project goals** - Supporting *SIMD-Kernels*'s specific objectives and principles
## Questions and Clarifications
If you have questions about this Code of Conduct or need clarification on specific situations, please contact the project maintainers. We're committed to ensuring a welcoming environment for all contributors whilst maintaining our focus on building excellent software.
## Updates
This Code of Conduct may be updated periodically to reflect the evolving needs of the project. Contributors will be notified of significant changes, and the latest version will always be available in this repository.
---
**Remember**: We're all here because we care about building better data processing tools. Let's work together respectfully and professionally to achieve that goal.