Skip to content

Commit 736121a

Browse files
committed
added discovery book triage RFC
1 parent 7551375 commit 736121a

File tree

1 file changed

+122
-0
lines changed

1 file changed

+122
-0
lines changed

rfcs/0000-discovery-book-triage.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
- Feature Name: Embedded Discovery Book Triage
2+
- Start Date: 2024-05-21
3+
- RFC PR: (leave this empty)
4+
- Rust Issue: (leave this empty)
5+
6+
# Summary
7+
[summary]: #summary
8+
9+
Triage the current Embedded Discovery Books; a single BBC micro:bit v2
10+
Embedded Discovery Book becomes the current active working version.
11+
12+
# Motivation
13+
[motivation]: #motivation
14+
15+
Right now there are two "official" versions of the Embedded
16+
Discovery Book (EDB). The older and slightly more complete
17+
version is the original STM32 Embedded Discovery Book
18+
(EDB-STM) for the STM 32F303VC Discovery Board. The newer
19+
version is the BBC micro:bit Embedded Discovery Book
20+
(EDB-MB), which covers both the micro:bit v1 (MB1) and the
21+
micro:bit v2 (MB2).
22+
23+
EDB-STM is not well-maintained. The underlying hardware was
24+
not easily available during the pandemic. Further, there are
25+
reports that the IMU used in current versions of the STM
26+
32F303VC Discovery Board has been upgraded, meaning work
27+
would be needed to distinguish the old and new boards and
28+
update EDB-STM for the new board. What would happen
29+
to the docs for the old board is questionable.
30+
31+
Having both MB1 and MB2 in EDB-MB is confusing. Futher, MB1
32+
is no longer readily available, and there appear to be very
33+
few of them in the wild.
34+
35+
Finally, the EDB-MB also needs both some maintenance and an
36+
ongoing maintenance plan and infrastructure.
37+
38+
Dealing with all of this is best suited to a multi-phase
39+
project. This RFC proposes a "triage" phase in which things
40+
are brought to a good current state. A later "development"
41+
RFC will cover EDB improvements and an ongoing maintenance
42+
plan.
43+
44+
# Detailed design
45+
[design]: #detailed-design
46+
47+
1. Deprecate EDB-STM.
48+
49+
* Close all open issues with either fixes or WONTFIX tags
50+
and an explanation.
51+
52+
* Close all open PRs by either accepting or rejecting
53+
them with an explanation.
54+
55+
* Clearly mark the repository as deprecated in the
56+
README; clearly mark the Book as deprecated on the
57+
first page; post a single open issue explaining the
58+
deprecation. Provide clear instructions on where to go
59+
for current information.
60+
61+
2. Do a minimum-effort split of EDB-MB into two books: one
62+
for MB1 and one for MB2.
63+
64+
* Fork the EDB-MB repo to create a separate MB1 repo. In
65+
this repo, remove all MB2 material and patch all
66+
example code to be MB1-specific.
67+
68+
* Go through the same steps with the new EDB-MB1 repo
69+
that were gone through with STM. Note that there will
70+
be no initial open issues or PRs in the EDB-MB1 repo
71+
because of the fork: this is as desired.
72+
73+
* The EDB-MB repo now becomes the EDB-MB2 repo. Remove
74+
all MB1 material and patch all example code to be
75+
MB2-specific. Try to close as many issues and PRs as
76+
are easily feasible.
77+
78+
3. Do as direct a port as possible of EDB-STM content
79+
"missing" from EDB-MB2. EDB-MB2 should cover all major
80+
topics covered by EDB-STM.
81+
82+
# How We Teach This
83+
[how-we-teach-this]: #how-we-teach-this
84+
85+
Once this work is substantially completed (at least phases 1
86+
and 2), we should publicize what we are doing widely. This
87+
will increase the chances of a good initial developer
88+
experience.
89+
90+
# Drawbacks
91+
[drawbacks]: #drawbacks
92+
93+
* People with STM32F3V303 and MB1 boards will feel
94+
disenfranchised by the deprecation.
95+
96+
* For a "triage" this is a reasonably high-effort
97+
approach. One can imagine some smaller cleanup that would
98+
be adequate.
99+
100+
# Alternatives
101+
[alternatives]: #alternatives
102+
103+
* Continue to maintain a Discovery Book for all three
104+
currently-documented boards. This could be done by
105+
continuing as-is, with a MB1/MB2 split, or with a merge to
106+
create a single EDB. A single EDB might be harder to
107+
navigate than a board-specific one.
108+
109+
This is a lot of effort to do and maintain: it would
110+
probably require sustained work by a large team.
111+
112+
* Do a new EDB or other beginner book "from scratch". This
113+
is a great long-term goal, but leaves things in a
114+
less-than-perfect state for the time being. It is also
115+
huge work.
116+
117+
# Unresolved questions
118+
[unresolved]: #unresolved-questions
119+
120+
The proposed upcoming "development" RFC will address larger
121+
issues with the EDB. This "triage" RFC is intended to put
122+
things in a good place for that discussion.

0 commit comments

Comments
 (0)