Skip to content

Commit 3e6ce12

Browse files
authored
Merge pull request #180 from rust-embedded/readme-up
README: add what-we-do and how-you-can-help sections
2 parents 2a3a590 + bbf6408 commit 3e6ce12

File tree

1 file changed

+84
-6
lines changed

1 file changed

+84
-6
lines changed

README.md

Lines changed: 84 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,90 @@ What is it that we really want? At a broad level:
2121
- To make embedded systems programming more accessible for people that are not already embedded
2222
systems developers.
2323

24+
## What we do
25+
26+
At a high level we have two main tasks:
27+
28+
*We work with the community to improve the embedded ecosystem.*
29+
30+
- We maintain and develop core crates in the embedded ecosystem ensuring that the development
31+
roadmap aligns with the needs of its users. You can find all the crates we maintain in the
32+
[Organization](#organization) section.
33+
34+
- We develop and curate resources about embedded Rust development. For example, see the [books] we
35+
have [written] and the [curated list of embedded crates][awesome] we maintain.
36+
37+
[books]: https://rust-embedded.github.io/discovery
38+
[written]: https://rust-embedded.github.io/embedonomicon
39+
[awesome]: https://github.com/rust-embedded/awesome-embedded-rust
40+
41+
- We maintain and moderate the venues the embedded community uses to discuss. That includes this
42+
coordination repository and our IRC channel (#rust-embedded @ irc.mozilla.org).
43+
44+
*And, we serve as a bridge between the [Rust teams] and the embedded community.*
45+
46+
[Rust teams]: https://www.rust-lang.org/team.html
47+
48+
- If you need a language or a compiler feature to improve your embedded software let us know and
49+
we'll discuss your request with the appropriate Rust team. For example, see [this request] for
50+
making the compiler emit information about the stack usage of functions, which was later
51+
[implemented] as an experimental feature.
52+
53+
[this request]: https://github.com/rust-embedded/wg/issues/106
54+
[implemented]: https://github.com/rust-lang/rust/pull/51946
55+
56+
- Similarly, if you need some unstable API in the standard library to be stabilized to make your
57+
crate work on the stable we'll forward your request to the library team. For example, see [this
58+
proposal] to add ARM instructions to `core::arch::arm` to eliminate the need for the unstable
59+
inline assembly feature (`asm!`) in the most common scenarios.
60+
61+
[this proposal]: https://github.com/rust-embedded/wg/issues/63
62+
63+
## How you can help
64+
65+
Everyone can contribute to the embedded WG efforts! There are several ways to help out:
66+
67+
- [Let us know] where the gaps are. If you think the language, the compiler, the tooling, the
68+
documentation or the crate ecosystem is lacking some feature, information or library to build
69+
embedded software let us know and we'll bring it up to the Rust teams or organize the community to
70+
build the crates or tools to fill the gaps.
71+
72+
[Let us know]: https://github.com/rust-embedded/wg/issues
73+
74+
- Participate in [RFC (Request For Comments)][rfc] threads. We are always looking into ways to
75+
improve. This may involve things from changing how we run the WG to landing major breaking changes
76+
in core crates. To ensure we are *actually* making things better we need your input! That's why
77+
all these changes are preceded by an "RFC", a discussion thread (which may or may not be backed by
78+
a proper RFC document) where we evaluate the pros and cons of a proposal and explore alternatives.
79+
Only after there's consensus on accepting the proposal is the proposal made effective.
80+
81+
[rfc]: https://github.com/search?q=org%3Arust-embedded+is%3Aopen+label%3Arfc&type=Issues
82+
83+
- [Help wanted!]. There's always lots to do but the WG members only have so much free time. You can
84+
help us fixing bugs, implementing features, writing tests, trying out examples and tutorials,
85+
writing documentation, fixing typos, etc. We'll mentor you through these tasks and review your
86+
work. In some cases you may not even need previous embedded experience or access embedded hardware
87+
to help us out so don't let that discourage you from checking out our help wanted issues.
88+
89+
[Help wanted!]: https://github.com/search?q=org%3Arust-embedded+is%3Aopen+label%3A%22help+wanted%22&type=Issues
90+
91+
- Join our weekly meetings on IRC. We use these meetings as a faster, synchronous alternative to the
92+
RFC threads on GitHub. The agenda is [posted] in the issue tracker of this repository in advance
93+
to the meeting. Everyone is free to join the meeting and share their thoughts. You can also
94+
nominate an existing GH thread for discussion if you think it would benefit from a more
95+
synchronous discussion.
96+
97+
[posted]: https://github.com/rust-embedded/wg/issues?q=is%3Aissue+is%3Aopen+label%3Ameeting
98+
99+
- We have several teams focused on different areas: tooling, Cortex-M crates, etc. and each team
100+
maintains several projects (crates, docs and / or tools) that live under the [rust-embedded]
101+
organization. You can collaborate with the maintenance and development of these projects by
102+
becoming a project collaborator (consult with the team that owns the project) or by [joining] the
103+
team.
104+
105+
[rust-embedded]: https://github.com/rust-embedded
106+
[joining]: https://github.com/rust-embedded/wg/blob/master/rfcs/0136-teams.md#adding-new-members
107+
24108
## Organization
25109

26110
The WG is composed of a lead and several teams whose functions are defined in [RFC
@@ -307,12 +391,6 @@ this list by adding your crate via PR or by tackling any of our [help wanted][ae
307391

308392
[aer-hw]: https://github.com/rust-embedded/awesome-embedded-rust/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22
309393

310-
## Help wanted!
311-
312-
[These issues need your help!][hw]
313-
314-
[hw]: https://github.com/rust-lang-nursery/embedded-wg/issues?q=is%3Aissue+is%3Aopen+label%3Ahelp-wanted
315-
316394
## RFCs
317395

318396
When the team deems it necessary the RFC process may be used to make decisions or to design

0 commit comments

Comments
 (0)