Skip to content

Commit 0a79657

Browse files
committed
Merge pull request #1 from kamalmarhubi/bootstrap
Bootstrap the RFC process
2 parents 0eaf61f + 5e36119 commit 0a79657

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

text/0000-bootstrap.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
- Start Date: 2016-05-01
2+
- RFC PR: (leave this empty)
3+
- Nix Issue: (leave this empty)
4+
5+
# Summary
6+
[summary]: #summary
7+
8+
Implement a lightweight RFC process for the nix project.
9+
10+
# Motivation
11+
[motivation]: #motivation
12+
13+
Development on nix has been going well over the last few months. For the most
14+
part, adding APIs and working out how to adapt them to be more Rust-friendly
15+
has worked really well. However, there are some tougher design choices where
16+
there's been stagnation. Some examples:
17+
18+
- string handling in nix (https://github.com/nix-rust/nix/issues/221)
19+
- the future of nix, including crate organization
20+
(https://github.com/nix-rust/nix/issues/190)
21+
22+
The RFC process gives a place to discuss and document major design
23+
decisions. This provides readers with both the final decision in a clean form
24+
and the discussion that lead up to it.
25+
26+
We have already created a [conventions document][conventions] to help newcomers
27+
to the library understand how nix approaches its APIs. Larger additions to that
28+
document would also go through the RFC process.
29+
30+
[conventions]: https://github.com/nix-rust/nix/blob/master/CONVENTIONS.md
31+
32+
33+
# Detailed design
34+
[design]: #detailed-design
35+
36+
*The contents of this section will make up the bulk of the RFC repository's
37+
README after this RFC is accepted.*
38+
39+
The nix RFC process is modelled after [the one Rust uses][rust-rfc-process] but
40+
adjusted to be lighter weight. Credit for the lightness also goes to the
41+
[intermezzOS project's RFC process][intermezzos-rfcs].
42+
43+
[rust-rfc-process]: https://github.com/rust-lang/rfcs#what-the-process-is
44+
[intermezzos-rfcs]: https://github.com/intermezzOS/rfcs
45+
46+
To initially discuss a topic, open an issue on [the RFC repo][nix-rfcs]. We’ll
47+
discuss things in those issues.
48+
49+
[nix-rfcs]: https://github.com/nix-rust/rfcs
50+
51+
When a proposal is ready to be made, submit a pull request adding a new file in
52+
the `text` directory. More detailed steps:
53+
- Fork the RFC repo http://github.com/nix-rust/rfcs
54+
- Copy `0000-template.md` to `text/0000-my-rfc-name.md` (where `my-rfc-name`
55+
is descriptive. don't assign an RFC number yet).
56+
- Fill in the RFC, and open the pull request
57+
58+
We’ll discuss things in the PR, and then either merge or not. The RFC text will
59+
likely change as we discuss it; those changes should be added to the PR as
60+
additional commits without squashing or rebasing to keep a record of the them.
61+
62+
63+
# Drawbacks
64+
[drawbacks]: #drawbacks
65+
66+
It adds some process where there was none.
67+
68+
# Alternatives
69+
[alternatives]: #alternatives
70+
71+
## No process
72+
73+
We could continue as we have. This has already resulted in some stagnant areas
74+
where we need to make a decision to move forward.
75+
76+
## More process
77+
78+
We could instead opt for a heavier process. It is most likely not warranted for
79+
the size of the project.
80+
81+
# Unresolved questions
82+
[unresolved]: #unresolved-questions
83+
84+
How do we accept an RFC? Consensus among maintainers? A quorum of
85+
maintainers? If so, how many? Do we signal it in comments on the PR?

0 commit comments

Comments
 (0)