Skip to content

Commit 4ac4ff5

Browse files
committed
Add evaluation guidelines and instructions on how to submit a project
closes #3 closes #4
1 parent dcd281e commit 4ac4ff5

File tree

2 files changed

+68
-1
lines changed

2 files changed

+68
-1
lines changed

EVAL.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Evaluation guidelines
2+
3+
These are the guidelines used by the Resources team to evaluate project
4+
submissions.
5+
6+
## Hard requirements
7+
8+
The project must fulfill these requirements or it will be rejected.
9+
10+
- The main logic of the application must be written in Rust.
11+
12+
- The source code must be public. Licensing terms are unimportant.
13+
14+
## Bonus points
15+
16+
> N.B. A project repository may contain more than one crate. In those cases, one
17+
> (binary) crate will be the application, and the other crates will be libraries
18+
> and / or tools. In the review consider only the crates that are compiled for
19+
> the target device. One of these crates will be the application ("application
20+
> code") and the rest will be libraries ("support code").
21+
22+
Award points if
23+
24+
- The project is unlike the projects currently on display.
25+
26+
- The documentation includes instructions on how to build the program, or the
27+
firmware can be built with just `cargo build`.
28+
29+
- The repository has a CI setup.
30+
31+
- The application compiles on stable.
32+
33+
- The application code is free from `unsafe` code and all `unsafe` code has been
34+
pushed to libraries that only expose a safe API.
35+
36+
- Code that's not target specific, if any, has unit tests.
37+
38+
- Support code, if any, is documented.
39+
40+
## Penalties
41+
42+
Subtract points if
43+
44+
- The application contains potential soundness issues. For example, using
45+
`mem::transmute`, unchecked creation of singletons and unchecked use of
46+
`static mut` variables are huge red flags.
47+
48+
- Explicit panicking (e.g. `unwrap`) is used instead of proper error handling.
49+
However, note that `unreachable!` is OK if properly used.

README.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,25 @@ Awesome embedded projects by the Rust community!
44

55
This project is developed and maintained by the [Resources team][team].
66

7+
## Submit your project
8+
9+
First, read the [evaluation guidelines](./EVAL.md). The resources team will use
10+
these guidelines to evaluate your project, but you can also use the guidelines
11+
to improve your code and the structure of your project!
12+
13+
When you are ready send a pull-request that
14+
15+
- Adds information about your project at the end of `data.yml`. The file
16+
contains comments that will help you fill in the information; and
17+
18+
- Adds an image or videos of your project, if not using URLs, to the `assets`
19+
folder.
20+
21+
The resources team will review your submission and let you know if it has been
22+
accepted or not. If it doesn't get accepted this time but meets the hard
23+
requirements, we'll let you know how it can be improved so you can resubmit at a
24+
later date.
25+
726
## License
827

928
This project is distributed under the following licenses:
@@ -40,7 +59,6 @@ Copies of the licenses used by this project may also be found here:
4059
[Apache License v2.0 Hosted]: http://www.apache.org/licenses/LICENSE-2.0
4160
[CC-BY-SA v4.0 Hosted]: https://creativecommons.org/licenses/by-sa/4.0/legalcode
4261

43-
4462
### Contribution
4563

4664
Unless you explicitly state otherwise, any contribution intentionally submitted

0 commit comments

Comments
 (0)