Skip to content

Latest commit

 

History

History
135 lines (98 loc) · 4.86 KB

CONTRIBUTING.md

File metadata and controls

135 lines (98 loc) · 4.86 KB

Thinking of contributing to the QVM (QEMU Virtual Machine Manager) open-source hypervisor project?

I am thrilled that you're interested in contributing to my project! This document provides guidelines for contributing to the QVM - QEMU Virtual Machine Manager project. By following these guidelines, you help maintain the quality and consistency of its codebase.

Table of Contents

  1. Code of Conduct
  2. Getting Started
  3. How to Contribute
  4. Development Roadmap
  5. Reporting Issues
  6. Suggesting Improvements
  7. Submitting Pull Requests
  8. Coding Standards
  9. Commit Message Guidelines
  10. License

Code of Conduct

This project adheres to a Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [[email protected]].

Getting Started

  1. Fork the repository on GitHub.
  2. Clone your fork locally: git clone https://github.com/RoyalHighgrass/QVM-Manager.git
  3. Create a branch for your changes: git checkout -b your-branch-name
  4. Make your changes and commit them with a clear commit message.
  5. Push your changes to your fork: git push origin your-branch-name

How to Contribute

There are many ways to contribute to this project:

  • Environment testing
  • Reporting bugs
  • Suggesting enhancements
  • Writing documentation
  • Submitting code improvements
  • Reviewing pull requests

Development Roadmap

Phase 1: Development and Initial Release (Complete!)

  1. Functional Prototype (v1.0.1 - v1.0.2)

    • Implement core hypervisor functionality
    • Develop basic VM management features
    • Conduct internal testing and implement functional bug fixes
  2. Code Publication (v1.0.3)

    • Implement non-functional bug fixes
    • Upload source code with proper documentation
    • Create README and contribution guidelines
    • Establish open-source license

Phase 2: Refinement and Distribution (In Process...)

  1. Code Cleanup (v1.0.4)

    • Refactor codebase for improved readability
    • Optimize performance without introducing new bugs
    • Conduct further internal testing
    • Test the software in untested host OS evironments
    • Implement functional and non-functional bug fixes
    • Enhance documentation and comments
  2. Debian Package Submission

    • Package software in .deb format
    • Prepare necessary documentation for Debian repositories
    • Submit package to Debian-based repositories

Phase 3: Feature Enhancement and Release (Pending...)

  1. Code Improvement and New Features (v1.0.5)

    • Further refine and optimize codebase
    • Implement new or improved features based on community feedback
    • Conduct thorough testing of new implementations
  2. Latest Version Publication

    • Update GitHub repository with latest code
    • Release new version with detailed changelog
    • Update documentation and README
    • Announce release to the community
  3. Assess Project Direction and Trajectory

    • A new roadmap will be drown up that reflects both the goals and ideals of the QVM community, and the projects immence protential.

Reporting Issues

When reporting issues, please include:

  • A clear and descriptive title
  • A detailed description of the issue
  • Steps to reproduce the problem
  • Expected behavior
  • Actual behavior
  • Your environment (OS, QEMU version, etc.)

Use the issue tracker on GitHub to submit new issues.

Suggesting Improvements

We welcome suggestions for improvements. When suggesting an enhancement:

  • Use a clear and descriptive title
  • Provide a detailed description of the proposed enhancement
  • Explain why this enhancement would be useful to most users
  • List some examples of how this enhancement would be used

Submitting Pull Requests

  1. Ensure your code adheres to the project's coding standards.
  2. Include appropriate test cases if applicable.
  3. Update the documentation if necessary.
  4. Ensure your commits follow the commit message guidelines.
  5. Submit a pull request with a clear title and description.

Coding Standards

  • Follow the existing code style in the project.
  • Use meaningful variable and function names.
  • Comment your code where necessary.
  • Write unit tests for new functionality.

Commit Message Guidelines

  • Use the present tense ("Add feature" not "Added feature")
  • Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
  • Limit the first line to 72 characters or less
  • Reference issues and pull requests liberally after the first line

License

By contributing to this project, you agree that your contributions will be licensed under the project's GNU General Public License v3.0.

Thank you for contributing to the QVM - QEMU Virtual Machine Manager project!