You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/process.md
+13-17Lines changed: 13 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -34,14 +34,14 @@ It is used to explore the feasibility of RFCs for Typst as a whole and "substant
34
34
## Glossary
35
35
[Glossary]: #glossary
36
36
37
-
- Typst:
38
-
The open source Typst compiler ([typst/typst][typst]).
37
+
- Typst Compiler:
38
+
The open source Typst compiler ([typst/typst][typst]) maintained by Typst GmbH.
39
39
40
40
- Typst Community:
41
-
The community around the aforementioned compiler at large, as well as the unofficial [typst-community][self] organization.
41
+
The community around the aforementioned compiler at large.
42
42
43
43
- Community Forge:
44
-
A forum thread found under `#forge` > `Community` on the [official Typst community Discord][discord].
44
+
A Discord thread found under `#forge` > `Community` on the [official Typst Discord][discord].
45
45
46
46
- Typst Forum:
47
47
The [official Typst forum (forum.typst.app)][forum].
@@ -56,7 +56,7 @@ It is used to explore the feasibility of RFCs for Typst as a whole and "substant
56
56
57
57
- RFC:
58
58
A **r**equest **f**or **c**omments is a public document with the intent to gather input regarding a feature or change of substantial impact.
59
-
In the context of the Typst community this impact is mostly restricted to community project, but may also impact the Typst compiler itself.
59
+
In the context of the Typst community this impact is mostly restricted to community project, but may also impact the [Typst compiler][typst] itself.
60
60
61
61
- FCP:
62
62
The **f**inal **c**omment **p**eriod of an RFC is a period of 10 calendar days after the final decision to merge, close or postpone an RFC in which final concerns can be brought up.
@@ -68,16 +68,16 @@ It is used to explore the feasibility of RFCs for Typst as a whole and "substant
68
68
You need to follow this process if you intend to make "substantial" changes to interfaces or standards used by multiple community projects, or the RFC process itself.
69
69
What constitutes a "substantial" change is evolving based on community norms and varies depending on what part of the ecosystem you are proposing to change, but may include the following.
70
70
71
-
-Any semantic or syntactic change to the community defined standards or conventions that is not a bug fix.
72
-
-Removing language features widely used by community projects.
73
-
-Changes to the interface between the Typst compiler and community projects.
71
+
-Proposing a standard to be implemented by multiple community projects.
72
+
-Any semantic or syntactic change to already accepted standards or conventions that is not a bug fix.
73
+
-Deprecating or removing an accepted standard used by multiple community projects.
74
74
75
75
Some changes do not require an RFC:
76
76
77
77
- Rephrasing, reorganizing, refactoring, or otherwise "changing shape does not change meaning".
78
78
- Additions that strictly improve objective, numerical quality criteria (warning removal, speedup, better platform coverage, more parallelism, trap more errors, etc.)
79
79
- Additions only likely to be _noticed by_ other developers-of-typst, invisible to users-of-typst.
80
-
- Changes to Typst which have been discussed at length on the [Typst issue tracker][typst] and/or [community discord][discord].
80
+
- Changes to the Typst compiler which have been discussed at length on the [Typst issue tracker][typst] and/or [community discord][discord].
81
81
82
82
If you submit a pull request to implement a new feature without going through the RFC process, it may be closed with a polite request to submit an RFC first.
83
83
@@ -92,8 +92,8 @@ Laying some groundwork ahead of the RFC can make the process smoother.
92
92
Although there is no single way to prepare for submitting an RFC, it is generally a good idea to pursue feedback from community project developers beforehand, to ascertain that the RFC may be desirable;
93
93
having a consistent positive impact on community projects requires concerted effort toward consensus-building.
94
94
95
-
The most common preparations for writing and submitting an RFC is discussing the topic in the [Community Forge][discord] or on the [Typst Forum][forum].
96
-
You may file issues on this repository for discussion too, but using the [official community Discord][discord] is generally the best way to get immediate feedback by the maintainers and community members.
95
+
The most common preparations for writing and submitting an RFC is discussing the topic in the Community Forge or on the [Typst Forum][forum].
96
+
You may file issues on this repository for discussion too, but using the [Typst Discord][discord] is generally the best way to get immediate feedback by the maintainers and community members.
97
97
98
98
As a rule of thumb, receiving encouraging feedback from long-standing community developers, and particularly members of the relevant projects is a good indication that the RFC is worth pursuing.
99
99
@@ -133,11 +133,7 @@ At that point the RFC is "active" and may be implemented with the goal of eventu
133
133
- Before actually entering FCP, *all* members of the ecosystem team must sign off;
134
134
this is often the point at which many ecosystem team members first review the RFC in full depth.
135
135
- The FCP lasts ten calendar days, so that it is open for at least 5 business days.
136
-
<!--
137
-
TODO: We don't have this yet, or rather, there is an unmaintained repository for this.
138
-
We could potentially ask these to be posted on the discord and post them on the forum.
139
-
-->
140
-
It is also advertised widely, e.g. in [This Week in Rust](https://this-week-in-rust.org/).
136
+
It is also advertised widely, e.g. on the [Typst Forum][forum] and [Typst Discord][discord].
141
137
This way all stakeholders have a chance to lodge any final objections before a decision is reached.
142
138
- In most cases, the FCP period is quiet, and the RFC is either merged or closed.
143
139
However, sometimes substantial new arguments or ideas are raised, the FCP is canceled, and the RFC goes back into development mode.
@@ -157,7 +153,7 @@ While it is not *necessary* that the author of the RFC also write the implementa
157
153
Modifications to "active" RFCs can be done in follow-up pull requests.
158
154
Such PRs should update the RFC to include the new PR link.
159
155
We strive to write each RFC in a manner that it will reflect the final design of the feature;
160
-
but the nature of the process means that we cannot expect every merged RFC to actually reflect what the end result will be at the time of the next major release of community projects or the Typst compiler itself.
156
+
but the nature of the process means that we cannot expect every merged RFC to actually reflect what the end result will be at the time of the next major release of community projects or the [Typst compiler][typst] itself.
161
157
162
158
In general, once accepted, RFCs should not be substantially changed.
163
159
Only very minor changes should be submitted as amendments.
0 commit comments