Skip to content

Contribution Guide

This project is more than a personal project. It's a community resource, built for the community. And you can be part of it.

This Is an Open-Source Project

Ultimate Rust is publicly available on GitHub, and that means it can evolve with the help of people like you. It doesn't matter if you found a typo, have a suggestion for improvement, want to propose a clearer example, or want to add a new exercise. Every contribution is welcome.

I need to be honest with you: this is my first book. That means that no matter how much care I put into writing it, there are bound to be writing mistakes, explanations that could be clearer, or even concepts that deserve to be expanded on. And that's okay. It's part of the process.

That's exactly why I chose to make this book open-source. So that it doesn't stagnate, but keeps improving over time, with the help of readers who care.

Ways to Contribute

You can contribute in several ways, and all of them are equally valuable:

  1. Fixing typos or grammar mistakes. If you find a typo, a grammatical error, or any writing issue, please open an issue or send a pull request with the fix. Don't be shy about pointing out small mistakes. They matter.

  2. Suggesting improvements to explanations. If a concept wasn't clear to you, chances are it wasn't clear to other people either. Open an issue explaining what confused you and, if you have a suggestion for how to improve it, share it. That helps the book become easier to learn from.

  3. Proposing new examples or exercises. If you came up with an example that illustrates a concept well, or if you have an idea for an exercise that would help readers practice, share it. The more varied the examples, the better the understanding.

  4. Reporting technical problems. If any code in the book doesn't work, if something is out of date relative to the latest version of Rust, or if you ran into a compatibility issue, please report it. That keeps the book accurate and up to date.

  5. Adding new content. If you feel a topic is missing, or that a chapter could benefit from an additional section, you can propose adding it. We'll discuss together how to best integrate it.

How to Make Your Contribution

The process is simple and follows the standard open-source contribution flow on GitHub. You'll find the book's repository at github.com/ultimate-rust/content.

The rule is clear and uncomplicated: if you found something that needs fixing or improving, you have two options.

  1. If you identified the problem but don't know how to fix it, or you'd simply rather have someone else implement the solution, open an issue describing what you found. Be specific about which page or section the problem is in, what's wrong, and, if you have any ideas about how it could be better, share those too. I or another contributor will see it and take care of it down the road.

  2. If you identified the problem and know how to fix it, or you have an improvement in mind and want to implement it yourself, fork the repository, create a branch for your changes, make the necessary edits, and open a pull request. In the pull request, explain what you changed and why. I'll review your contribution carefully and, if everything is aligned with the book's vision, it will be merged.

No contribution is too small. A fixed typo is just as valuable as a fully revised chapter. What matters is that you care enough to want to make this book better.

Recognizing Contributors

Every accepted contribution will be acknowledged. When you open a pull request, you can add your name or nickname to the contributors list at the end of the book. It's a small but sincere way of saying thank you for making this project better.

An Invitation

This book only gets better if you get involved. So as you read, keep a sharp eye out. If something doesn't make sense, if something could be better, or if you simply spot a silly little mistake, don't keep it to yourself. Open an issue. Send a pull request. Be part of building this book.

Together, we can create the best Rust resource that has ever existed.

Thank you for being here. Thank you for contributing.