Skip to content

Latest commit

 

History

History
57 lines (36 loc) · 3.84 KB

CONTRIBUTING.md

File metadata and controls

57 lines (36 loc) · 3.84 KB

Contributing

There are three phases to the Not Yet Awesome Embedded Rust List:

  • Adding an item to the list
  • Marking an item as a work in progress
  • Removing an item from the list

Adding an item to the list

Anyone can submit an item that they think is not yet awesome to the list. To do this, just edit the README for this repo, and add your item to the list.

In order to help people make this thing awesome, your item should meet all of the following criteria:

  1. Your request is using the template provided in the README
  2. Your request is clearly stated, linking to relevant documentation, such as a whitepaper, protocol definition, datasheet, etc.
    • This lets someone know how to implement this request, and make Embedded Rust more awesome.
  3. "Success Criteria" for your request are defined, such as "Add PWM support to the iMXRT1050 HAL"
    • This lets the reviewer know when the work is done, so they can remove this item from the list
  4. Possible using today's Rust (not blocked by LLVM impl, rustc impl, etc.)
    • For now, we can't accept anything in this list that is not possible with today's (preferrably stable) version of Rust. This keeps items from staying on the list for too long.
  5. Your request should be broken into reasonable work packages, such as "Create HAL for XYZ chip", not "support all boards from ABC vendor"
    • This also keeps items from staying on the list for too long

Once you've submitted a PR by editing the README, someone from the WG will review your suggestion to make sure that it meets the criteria above. They'll help you fix any issues with your request. Once the review checklist is complete, and any fixes are made, the item will be added to the list!

Marking an item as WIP

If you've started addressing one of the items on the Not Yet Awesome Embedded Rust list, you can add your project here, even if you aren't finished yet! This is to help you find contributors who are willing to help you make things awesome.

You can let people know you are working on something by editing the readme, and adding a link to your project. Before adding your project, you should make sure that it meets all the following criteria:

  1. You should link to the source project on GitHub/GitLab/etc. The source of your project must be publically available.
  2. You should state whether outside contributions are welcome
  3. Your project must be relevant to the TODO item it addresses
  4. Your project must be more than just an empty repo or a placeholder (e.g. just a "hello world" bin.rs/lib.rs is not enough!)

Once you've submitted a PR by editing the README, someone from the WG will review your suggestion to make sure that it meets the criteria above. They'll help you fix any issues with your request. Once the review checklist is complete, and any fixes are made, the item will be added to the list!

Removing the item from the TODO list

Once you have made something on the list awesome, we can remove the item from this list! You can do this by editing the README, and removing the item.

When you remove a list from the item, you should let us know what project "fixes" this in your pull request. We'll make sure all of the following criteria are true:

  1. Your project addresses the original request fully
  2. The crate that addresses the request has been added to the Awesome Embedded Rust list
  3. The crate has been published on crates.io (or somewhere else where other people can consume it)

Once the above items are complete, the Not Yet Awesome item and all WIP crates are removed from the list. 🎊 🎉