Contributing to uringio¶
Welcome! And thank you a lot for your interest in contributing to uringio! \ Main goal of project is to bring production ready library for interaction with io_uring in Python, with support of NoGIL activity in Python.
Special thanks for saving personal time of creating contribution docs to https://github.com/diggsweden/open-source-project-template
Getting in touch¶
Join the Discord chat and lets create this community together!
Ways to Contribute¶
As a new contributor, you're in an excellent position to provide valuable feedback. Here are some ways you can help:
- Fix or report a bug.
- Suggest enhancements to code, tests, and documentation.
- Help to adapt development process for different linux distros family
- Report or fix problems found during installation or in developer environments.
- Propose new features or improvements.
Community Guideline¶
Be nice and respectful to each other.
We follow the Contributor Covenant Code of Conduct.
File an Issue¶
Before creating a new issue, check if a similar one already exists.
If it does, add your information as a comment to the existing issue.
Report a Bug¶
Reporting bugs is a valuable way to contribute:
- Open an issue that summarizes the bug.
- Set the label to "bug".
Suggest a Feature¶
To request a new feature:
- Open an issue summarizing the desired functionality and its use case.
- Set the label to "enhancement" or "feature".
Contribute Code, Documentation, and More¶
To contribute code, documentation, or other improvements:
- Discuss your plans beforehand to ensure alignment with project goals.
- Check the list of open issues. Assign yourself an existing issue or create a new one.
- Follow project conventions for tests, code style, documentation, and commit messages.
- Understand that contributions may be declined if they don't align with project guidelines or goals.
- Familiarize yourself with the Pull Request Lifecycle.
- Agree to the "inbound=outbound" norm: your contributions will be under the same license as the project.
- Sign your commits.
Issues and Pull Request Feedback¶
Project maintainers aim to review and respond to issues within 5 business days.
The quality of information in your issue or pull request affects the speed of feedback.
For non-trivial contributions, discuss with the project team first.
If the project is not listed as archived, it is maintained.
Pull Request Lifecycle¶
We use the Fork-and-Pull Model:
- Fork the repository.
- Create a topic branch from your fork's main branch.
- Make your changes and run quality checks locally (if applicable).
- Push your changes to the topic branch in your fork.
- Open a new pull request to the main project.
- Respond to any feedback from project maintainers.
Commit Guidelines¶
DCO - Signoff and Signing a Commit¶
Signoff (DCO agree)¶
A Signoff assures the project that you have the right to contribute your content
Add a signoff to your commit using the -s or --signoff flag:
Sign¶
A Sign assures that the commit came from you
Sign your commit with -S or --gpg-sign:
Commit Standard¶
- Use the Conventional Commit standard.
- Group relevant changes in commits.
- Write clear, human-readable commit messages.
Reporting Security Issues¶
For security vulnerabilities, follow the guidelines in our Security information.
Development Guidelines¶
For development guidance, see the DEVELOPMENT Guide.
Writing Style and Translations¶
- Keep documentation easy to read.
- Use bullet points for clarity.
- Be concise and link to external resources when needed.
- Use British English (e.g., "colour" instead of "color").
- Follow the one-sentence-per-line principle in Markdown or AsciiDoc.
English is the primary language, with translations on a best-effort basis.
FOSS Standards¶
We follow these standards and best practices:
-
- Ensures clear and standardized license compliance across the project.
-
- Provides a clear and structured project history through standardized commit messages.
-
- Maintains a clear and user-friendly release history.
-
- Provides consistent version numbering for releases.
-
Contributor Covenant guidelines
- Establishes a social contract for respectful and inclusive collaboration.
-
- Helps assess and improve the security health of our project.
-
- Facilitates easy metadata indexing for better discoverability of our project.
-
- Ensures our project meets criteria for public code quality and sustainability.
Please familiarize yourself with these guidelines and help us maintain these standards in your contributions.
Happy contributing!