Skip to content

Commit deb598c

Browse files
bookrjbs
authored andcommitted
Rename RFC to PPC in the docs
1 parent eaefb19 commit deb598c

File tree

4 files changed

+30
-28
lines changed

4 files changed

+30
-28
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
This repository is for *Requests For Comments* - proposals to change the Perl language.
1+
This repository is for *Proposed Perl Changes* - proposals to change the Perl language.
22

33
Right now, we're [trialling the process](docs/process.md). If you would like to submit a feature request, please [email an *elevator pitch*](mailto:[email protected]) - a short message with 4 paragraphs:
44

@@ -12,7 +12,7 @@ and if a "paragraph" is 1 sentence, great.
1212
That will be enough to make it obvious whether the idea is
1313

1414
0) actually a **bug** - a change we'd also consider back porting to maintenance releases (so should be a opened as [*Report a Perl 5 bug*](https://github.com/Perl/perl5/issues/new/choose))
15-
0) worth drafting an RFC for
15+
0) worth drafting an PPC for
1616
0) better on CPAN first
1717
0) "nothing stops you putting it on CPAN, but it doesn't seem viable"
1818

@@ -24,12 +24,12 @@ These files describe the process we are trialling
2424

2525
* [motivation.md](docs/motivation.md) - why do we want to do something
2626
* [process.md](docs/process.md) - the initial version of the process
27-
* [template.md](docs/template.md) - the RFC template
27+
* [template.md](docs/template.md) - the PPC template
2828
* [future.md](docs/future.md) - how we see the process evolving
2929
* [others.md](docs/others.md) - what others do (or did), and what we can learn from them
3030

3131
## The Tracker
3232

33-
The status of proposals is tracked in "[the RFC
33+
The status of proposals is tracked in "[the PPC
3434
Tracker](https://docs.google.com/spreadsheets/d/1hVOS7ePuLbVkYcf5S-e_eAodj4izm9Cj7AVs25HvngI)",
3535
a Google Sheets spreadsheet. Keep up to date there!

docs/future.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,27 @@ so there's a deliberately a lot of hand holding and centralisation, so that we c
1212

1313
## If the process works, I'd like to progress to
1414

15-
* people submit draft RFCs, not just ideas
15+
* people submit draft PPCs, not just ideas
1616
* they've actually consulted other people *before* submitting
17-
* the person submitting the RFC knows that it they don't help, it dies
17+
* the person submitting the PPC knows that it they don't help, it dies
1818
* there's a clearer set of requirements needed to progress
1919

20-
## What does the Author do/Where do RFCs live?
20+
## What does the Author do/Where do PPCs live?
2121

22-
The Author is the champion for the RFC. Their motivation and enthusiasm to have the feature successfully implemented and shipped drives the process. Their task is to eliminate each "lowest hanging excuse" in turn to get to shipping code. They are responsible for
22+
The Author is the champion for the PPC. Their motivation and enthusiasm to have the feature successfully implemented and shipped drives the process. Their task is to eliminate each "lowest hanging excuse" in turn to get to shipping code. They are responsible for
2323

2424
* seeking input
2525
* shepherding discussion to some sort of consensus (or appealing to the PSC to resolve an impasse)
26-
* ensuring all sections in the RFC are complete (working with implementers and others as necessary)
26+
* ensuring all sections in the PPC are complete (working with implementers and others as necessary)
2727

28-
RFCs live in version control. Anyone can create an "Draft" RFC, self-assign it an ID, and start to flesh it out. "Exploratory" status gets you an official RFC ID, and from that point onward the RFC and history is mirrored/merged into the official repository.
28+
PPCs live in version control. Anyone can create an "Draft" PPC, self-assign it an ID, and start to flesh it out. "Exploratory" status gets you an official PPC ID, and from that point onward the PPC and history is mirrored/merged into the official repository.
2929

30-
To make this workable, the RFC should be in a source code repository that the *Author* can edit directly (GitHub, GitLab, Bitbucket, self-hosted git, etc). The minimal workable requirements are that
30+
To make this workable, the PPC should be in a source code repository that the *Author* can edit directly (GitHub, GitLab, Bitbucket, self-hosted git, etc). The minimal workable requirements are that
3131

3232
1. it gives a well-known stable URL for the rendered current version
3333
2. it can tag (or identify) specific previous revisions
3434
3. history can be mirrored into the official repo, and merged on status change
35-
4. discussion can be archived once RFC is "Accepted" and "Implemented"
35+
4. discussion can be archived once PPC is "Accepted" and "Implemented"
3636

3737
Hence GitHub PRs might not be the best forum for discussion, unless they can be archived. Basically we want to avoid the situation were we have a feature live, and some third party can delete the historical discussion related to it.
3838

@@ -41,15 +41,15 @@ As we get better at this, I think that the status transitions should aim for the
4141

4242
## Draft
4343

44-
* *Author* self-assigns RFC ID
44+
* *Author* self-assigns PPC ID
4545
* *Author* seeks input/feedback
4646

4747
## Exploratory
4848

4949
* MUST have *Sponsor* (on the core team, or PSC can delegate externally)
5050
* MUST have (at least minimal) Motivation, Rational and Examples
5151
* SHOULD have (at least a minimal) Specification
52-
* Gets an official RFC ID
52+
* Gets an official PPC ID
5353

5454
Means "we think this idea is worth exploring"
5555

@@ -85,9 +85,9 @@ Means "it's good to merge - we think we can support it in the future"
8585

8686
where (at least) "Provisional" and "Shipped" can be skipped.
8787

88-
## RFC IDs, and how to self-assign
88+
## PPC IDs, and how to self-assign
8989

90-
* Official RFC IDs are 4 digits
90+
* Official PPC IDs are 4 digits
9191
* Self-assigned IDs should be `CPANID-#### or` `githubid-####`
9292

9393
These are the obvious likely popular two, and done case sensitively will not clash. These two should be sufficient for a workable globally unique system.

docs/process.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# Bootstrapping an RFC process
1+
# Bootstrapping a PPC process
2+
3+
PPC is the acronym for "Perl Proposed Change".
24

35
80% of our feature requests are for changes to the language.
46

@@ -19,7 +21,7 @@ Hence we need a process that
1921
We'd like to record proposals to improve the language and their status as "Request For Comment" documents in their own repository under the Perl organisation on GitHub.
2022

2123

22-
We have a [template](template.md) for what an completed implemented RFC should end up as, but if all you have is an idea - don't worry, we'll help you get there. We're still figuring this process out, so for now we're doing it as mail messages sent to p5p, not as "pull requests" to the RFC repository (or "issues" on the source repository). This way we can see if the process works as hoped, and fix the parts that don't.
24+
We have a [template](template.md) for what an completed implemented PPC should end up as, but if all you have is an idea - don't worry, we'll help you get there. We're still figuring this process out, so for now we're doing it as mail messages sent to p5p, not as "pull requests" to the PPC repository (or "issues" on the source repository). This way we can see if the process works as hoped, and fix the parts that don't.
2325

2426

2527
## What makes a good idea?
@@ -40,22 +42,22 @@ Costs are
4042
* linearly more implementation to maintain
4143
* exponentially more combinations of features to define and debug
4244

43-
Not every good idea belongs in the Perl core. Some are better implemented on CPAN. For some ideas, the RFC process is overkill. And the other way - for some issues or PRs, the reviewer is going to realise that it's more complex than it seemed, and needs to become an RFC.
45+
Not every good idea belongs in the Perl core. Some are better implemented on CPAN. For some ideas, the PPC process is overkill. And the other way - for some issues or PRs, the reviewer is going to realise that it's more complex than it seemed, and needs to become a PPC.
4446

4547
## The Process
4648

4749
![a flowchart of the process described below](/images/flowchart.png)
4850

4951

50-
### Pre-RFC
52+
### Pre-PPC
5153

52-
The RFC process starts with a formal proposal to add or change a language feature in Perl. But you, the prospective author of an RFC, shouldn't start by writing that formal proposal. Start by posting to p5p that you have an idea. Explain what problem you're solving, how you think you can solve it, and what prior art you looked at. Be clear and concise. Make it easy for the rest of the list to see what you're suggesting without reading an enormous wall of text, but don't lose so much detail as to be meaningless.
54+
The PPC process starts with a formal proposal to add or change a language feature in Perl. But you, the prospective author of a PPC, shouldn't start by writing that formal proposal. Start by posting to p5p that you have an idea. Explain what problem you're solving, how you think you can solve it, and what prior art you looked at. Be clear and concise. Make it easy for the rest of the list to see what you're suggesting without reading an enormous wall of text, but don't lose so much detail as to be meaningless.
5355

5456
You are taking the temperature of the list. If there is a great outcry that this is a bad idea, or has been tried before, or was explicitly rejected before, you should probably stop. No hard feelings!
5557

5658
Otherwise, you're ready to move on to the next step. You should post a follow-up, requesting that the PSC approve producing a draft. If they do, move on to "Draft Proposal" below. If not, they'll provide more feedback like "this is definitely impossible" or "you need to provide more information" or so on.
5759

58-
During this "Pre-RFC" phase, your proposal isn't in the RFC tracker. It's not an RFC yet!
60+
During this "Pre-PPC" phase, your proposal isn't in the PPC tracker. It's not a PPC yet!
5961

6062
During this phase, you (the proposer) are responsible for moving things forward. If you contact the PSC for approval to file a draft, and the PSC does not respond, it's you who should be keeping track of that.
6163

@@ -102,13 +104,13 @@ If no progress is reported for three months, the document moves to **Expired**.
102104

103105
During the Testing phase, the PSC and the proposer (or implementor) will be working together and communicating regularly to keep track of what work remains to complete the testing phase.
104106

105-
## What needs an RFC? What can just be a PR?
107+
## What needs a PPC? What can just be a PR?
106108

107-
There's no obvious answer, because there's no clear cut off, and there never will be, even when the process is "out of beta". For now we think we should use RFCs for
109+
There's no obvious answer, because there's no clear cut off, and there never will be, even when the process is "out of beta". For now we think we should use PPCs for
108110

109111
1. Language changes (feature changes to the parser, tokeniser)
110112
2. Command line options
111113
3. Adding/removing warnings (entries in `perldiag.pod`)
112114
4. Significant changes to when an existing warning triggers
113115

114-
A case that came up recently was moving the reporting of an error from runtime to compile time (GH #18785). We think that this wouldn't warrant an RFC (just regular code review) because no correct code should be relying on when an error is reported. However, there is still a judgement call here, as it would **not** be correct for constant folding to report errors (such as divide by zero) as this might only happen on some platforms as a side effect of the values of constants, and those expressions were unreachable on those platforms.
116+
A case that came up recently was moving the reporting of an error from runtime to compile time (GH #18785). We think that this wouldn't warrant a PPC (just regular code review) because no correct code should be relying on when an error is reported. However, there is still a judgement call here, as it would **not** be correct for constant folding to report errors (such as divide by zero) as this might only happen on some platforms as a side effect of the values of constants, and those expressions were unreachable on those platforms.

docs/template.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Author, Sponsor and similar should be valid e-mail addresses, or CPAN IDs.
1212

1313
## Abstract
1414

15-
* 100 to 200 words summarising the entire RFC.
15+
* 100 to 200 words summarising the entire PPC.
1616
* The most important section is **Motivation**.
1717

1818
## Motivation
@@ -57,7 +57,7 @@ CVEs are not fun. Try to foresee problems.
5757

5858
PEPs have this as "How to Teach This". That's a valid goal, but there are different audiences (from newcomers, to experienced Perl programmers unfamiliar with your plan).
5959

60-
Most of us are not experienced teachers, but many folks reading your RFC are experienced programmers. So probably the best way to demonstrate the benefits of your proposal is to take some existing code in the core or on CPAN (and not your own code) and show how using your new feature can improve it (easier to read, less buggy, etc)
60+
Most of us are not experienced teachers, but many folks reading your PPC are experienced programmers. So probably the best way to demonstrate the benefits of your proposal is to take some existing code in the core or on CPAN (and not your own code) and show how using your new feature can improve it (easier to read, less buggy, etc)
6161

6262
## Prototype Implementation
6363

@@ -83,7 +83,7 @@ eg *Why not have different behaviour in void context?*
8383

8484
Likely the answer is in the previous discussion **somewhere**, but most people won't stop to read all the comments. It needs to be easy to find, and updated as it becomes clear which questions are common.
8585

86-
Hence it **needs** to be in the RFC itself. Without this, the RFC process as a whole won't scale.
86+
Hence it **needs** to be in the PPC itself. Without this, the PPC process as a whole won't scale.
8787

8888
## Open Issues
8989

0 commit comments

Comments
 (0)