4.6 KiB
Contributing to Redox
Thank you for your interest in contributing to Redox! This document will outline the basics of where to start if you wish to contribute to the project. There are many ways to help us out and and we appreciate all of them. We look forward to your contribution!
Index
- Code Of Conduct
- License
- Communication
- Chat
- GitLab Issues
- Pull Requests
- Low-Hanging Fruit - Easy Targets for Newbies
- Best Practices/Guidelines
- General
- Testing Practices
- Style Guidelines
- Rust
- Git
- Other Ways to Contribute
- Design
- Donate to Redox
Other External Links
Code Of Conduct
We follow the Rust Code Of Conduct.
License
All contributions are under the MIT license.
Communication
Chat
Join us on Matrix Chat to discuss issues or ask questions.
GitLab Issues
You will need to have a Redox GitLab account to file an issue, and registration can take a few days.
Pull Requests
Please follow our process for creating proper pull requests.
Low-Hanging Fruit - Easy Targets for Newbies
If you're not fluent in Rust:
- Writing documentation
- Using/testing Redox, filing issues for bugs and needed features
- Web development (Redox website, separate repo)
- Writing unit tests (may require minimal knowledge of rust)
If you are fluent in Rust, but not OS Development:
- Port applications written in Rust to Redox
- Rewritten-in-Rust libc (relibc)
- Shell (Ion)
- Package manager (pkgutils)
If you are fluent in Rust, and have experience with OS Dev:
- Familiarize yourself with the repository and codebase
- Grep for
TODO
,FIXME
,BUG
,UNOPTIMIZED
,REWRITEME
,DOCME
, andPRETTYFYME
and fix the code you find. - Update older code to remove warnings.
- Improve and optimize code, especially in the kernel
For those who want to contribute to the Redox GUI, our GUI strategy has recently changed.
- OrbTk is now sunsetting, and its developers have moved to other projects such as the ones below. There is currently no Redox-specific GUI development underway.
- Redox is in the process of adopting other Rust-lang GUIs such as Iced and Slint. Please check out those projects if this is your area of interest.
Book ToDos
Best Practices and Guidelines
Testing Practices
Style Guidelines
Rust
Since Rust is a relatively small and new language compared to others like C, there's really only one standard. Just follow the official Rust standards for formatting, and maybe run rustfmt
on your changes, until we setup the CI system to do it automatically.
Git
Please follow how to create a proper pull request.
Other Ways to Contribute
If you're not big on coding, but you still want to help keep the project going, you can still contribute/support in a variety of ways! We'll try to find a way to use anything you have to offer.
Design
If you're a good designer, whether it's 2D graphics, 3D graphics, interfaces, web design, you can help. We need logos, UI design, UI skins, app icons, desktop backgrounds, etc. More information to come on this in the future, for now just join the Chat and ask about graphic design.
Donate to Redox
If you are interested in donating to the Redox OS nonprofit, you can find instructions here.