Contributing¶
Welcome!! And thank you for taking the first step to contributing to the KubeVirt project. On this page you should be able to find all the information required to get started on your contribution journey, as well as information on how to become a community member and grow into roles of responsibility.
If you think something might be missing from this page, please help us by raising a bug!
Prerequisites¶
Reviewing the following will prepare you for contributing:
- If this is your first step in the world of open source, consider reading the CNCF's Start Contributing to Open Source page for an introduction to key concepts.
- You should be comfortable with Git. Most contributions follow the GitHub workflow of fork, branch, commit, open pull request, review changes, and merge to work effectively in the KubeVirt community. If you're new to git, git-scm.com has a nice set of tutorials.
- Familiarize yourself with the various repositories of the KubeVirt GitHub organization.
- Try one of our quick start labs on killercoda, minikube, or kind.
- See the Other ways to contribute section below.
Other contributor guides for code contributors:
- You need to be familiar with writing code in golang. See the golang tour to familiarize yourself.
- To contribute to the core of the project, read the Developer contribution page and the getting started page in the kubevirt/kubevirt repo.
- Alternatively, to contribute to its storage management add-on, check out the kubevirt/containerized-data-importer (CDI) repo, and its contribution page.
Your first contribution¶
Not sure where to start? Here are some open issues in suggested repos. Look for any labeled 'good-first-issue', which are triaged to help new contributors:
Documentation and community repositories¶
These repositories have low barriers to entry and are great for first contributions. You don't need to be a Go developer to contribute here:
- user-guide: The documentation you're reading now. Fixes to typos, unclear explanations, or missing feature docs are always welcome.
- kubevirt.github.io: The KubeVirt website. You can contribute blog posts, case studies, or labs.
- community: Governance and community documents.
Code repositories¶
These are our two largest and most popular repos. Both require Go knowledge and familiarity with Kubernetes:
- kubevirt: The core KubeVirt project.
- containerized-data-importer (CDI): The storage management add-on.
Other ways to get started¶
- Review an open pull request for accuracy and language : useful feedback doesn't require deep code knowledge.
- Watch the New Contributor session recording for a walkthrough of how the project works and how to make your first contribution.
- Open an issue/bug if you see an error, typo, or area that could be improved for clarity.
Important community resources¶
You should familiarize yourself with the following documents, which are critical to being a member of the community:
- Code of Conduct: Everyone is expected to abide by the CoC to ensure an open and welcoming environment. Our CoC is based on the CNCF Code of Conduct which also has a variety of translations.
- Our community membership policy: How to become a member and grow into roles of responsibility.
- Project governance: Project Maintainer responsibilities.
- AI Contribution Policy
Other ways to contribute¶
- Visit the KubeVirt community page, participate on Slack or follow us on our socials (Blue Sky, Mastodon, and Twitter/X); learn about local meetups and events.
- Visit the KubeVirt website repository and submit a blog post, case study or lab.
- Visit the KubeVirt user-guide repository and find feature documentation that could use an update.