|
@@ -20,11 +20,11 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
- [Option: Google Docs-centric flow](#option-google-docs-centric-flow)
|
|
- [Option: Google Docs-centric flow](#option-google-docs-centric-flow)
|
|
|
- [Overview](#overview-1)
|
|
- [Overview](#overview-1)
|
|
|
- [Flow summary](#flow-summary)
|
|
- [Flow summary](#flow-summary)
|
|
|
- - [Pros/Cons](#proscons)
|
|
|
|
|
|
|
+ - [Advantages/Disadvantages](#advantagesdisadvantages)
|
|
|
- [Option: GitHub Markdown-centric flow](#option-github-markdown-centric-flow)
|
|
- [Option: GitHub Markdown-centric flow](#option-github-markdown-centric-flow)
|
|
|
- [Overview](#overview-2)
|
|
- [Overview](#overview-2)
|
|
|
- [Flow summary](#flow-summary-1)
|
|
- [Flow summary](#flow-summary-1)
|
|
|
- - [Pros/Cons](#proscons-1)
|
|
|
|
|
|
|
+ - [Advantages/Disadvantages](#advantagesdisadvantages-1)
|
|
|
- [Details](#details)
|
|
- [Details](#details)
|
|
|
- [Carbon language shared drive](#carbon-language-shared-drive)
|
|
- [Carbon language shared drive](#carbon-language-shared-drive)
|
|
|
- [Main shared drive](#main-shared-drive)
|
|
- [Main shared drive](#main-shared-drive)
|
|
@@ -33,7 +33,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
- [Google Docs proposal ACLs](#google-docs-proposal-acls)
|
|
- [Google Docs proposal ACLs](#google-docs-proposal-acls)
|
|
|
- [Markdown-specific questions](#markdown-specific-questions)
|
|
- [Markdown-specific questions](#markdown-specific-questions)
|
|
|
- [Open question: Where should proposals be stored in GitHub?](#open-question-where-should-proposals-be-stored-in-github)
|
|
- [Open question: Where should proposals be stored in GitHub?](#open-question-where-should-proposals-be-stored-in-github)
|
|
|
- - [Option: Proposal archive GitHub repo (carbon-proposals)](#option-proposal-archive-github-repo-carbon-proposals)
|
|
|
|
|
|
|
+ - [Option: Proposal archive GitHub repository (carbon-proposals)](#option-proposal-archive-github-repository-carbon-proposals)
|
|
|
- [Option: Store proposals in the repository they affect](#option-store-proposals-in-the-repository-they-affect)
|
|
- [Option: Store proposals in the repository they affect](#option-store-proposals-in-the-repository-they-affect)
|
|
|
- [Open question: Should we push comments to focus on GitHub?](#open-question-should-we-push-comments-to-focus-on-github)
|
|
- [Open question: Should we push comments to focus on GitHub?](#open-question-should-we-push-comments-to-focus-on-github)
|
|
|
- [Common principles](#common-principles)
|
|
- [Common principles](#common-principles)
|
|
@@ -114,7 +114,7 @@ This proposal presents two possible flows: one Google Docs-centric, one
|
|
|
Markdown-centric. This is an open question.
|
|
Markdown-centric. This is an open question.
|
|
|
|
|
|
|
|
In either case, it's assumed that we will want a Carbon language shared drive
|
|
In either case, it's assumed that we will want a Carbon language shared drive
|
|
|
-for any Google Docs we may create, and a Proposal archive GitHub repo.
|
|
|
|
|
|
|
+for any Google Docs we may create, and a Proposal archive GitHub repository.
|
|
|
|
|
|
|
|
### Open question: Do we use a Google Docs-centric or GitHub Markdown-centric flow?
|
|
### Open question: Do we use a Google Docs-centric or GitHub Markdown-centric flow?
|
|
|
|
|
|
|
@@ -146,7 +146,7 @@ For reviewing a proposal:
|
|
|
- The review manager trims down all access to comment access.
|
|
- The review manager trims down all access to comment access.
|
|
|
- When a decision is reached, the review manager updates the doc and moves it
|
|
- When a decision is reached, the review manager updates the doc and moves it
|
|
|
to the Proposal Archive folder in the Carbon language shared drive.
|
|
to the Proposal Archive folder in the Carbon language shared drive.
|
|
|
-- A PDF is saved to the carbon-proposals GitHub repo.
|
|
|
|
|
|
|
+- A PDF is saved to the carbon-proposals GitHub repository.
|
|
|
- The author converts any long-term documentation portions of the doc to
|
|
- The author converts any long-term documentation portions of the doc to
|
|
|
Markdown.
|
|
Markdown.
|
|
|
|
|
|
|
@@ -160,9 +160,9 @@ If the proposal needs to be checked later to figure out why a decision was made:
|
|
|
Since most people will have comment-only or view-only access to reviewed
|
|
Since most people will have comment-only or view-only access to reviewed
|
|
|
docs, we should treat edit history as not accessible.
|
|
docs, we should treat edit history as not accessible.
|
|
|
|
|
|
|
|
-##### Pros/Cons
|
|
|
|
|
|
|
+##### Advantages/Disadvantages
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- Supports collaborative editing.
|
|
- Supports collaborative editing.
|
|
|
- Commenting in Docs is a slightly better UI, even though the commenting
|
|
- Commenting in Docs is a slightly better UI, even though the commenting
|
|
@@ -178,7 +178,8 @@ Neutral:
|
|
|
- For the author, this is a mixed bag:
|
|
- For the author, this is a mixed bag:
|
|
|
- When a suggestion is for multiple, fragmented edits, it's harder to
|
|
- When a suggestion is for multiple, fragmented edits, it's harder to
|
|
|
read.
|
|
read.
|
|
|
- - e.g., "foo ~~bar ~~baaz bang~~wiz ~~bing" -> "foo baaz bangbing"
|
|
|
|
|
|
|
+ - for example, "foo ~~bar ~~baaz bang~~wiz ~~bing" -> "foo baaz
|
|
|
|
|
+ bangbing"
|
|
|
- It's easier to accept changes.
|
|
- It's easier to accept changes.
|
|
|
- It's harder to comment on changes, as the change is still visible
|
|
- It's harder to comment on changes, as the change is still visible
|
|
|
and hiding the original state of the doc.
|
|
and hiding the original state of the doc.
|
|
@@ -192,7 +193,7 @@ Neutral:
|
|
|
original state of the doc that's been suggested on, and it's not clear
|
|
original state of the doc that's been suggested on, and it's not clear
|
|
|
how the author will respond.
|
|
how the author will respond.
|
|
|
|
|
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
- Documents will go through at least three different file formats (Docs, PDF,
|
|
- Documents will go through at least three different file formats (Docs, PDF,
|
|
|
Markdown).
|
|
Markdown).
|
|
@@ -216,8 +217,8 @@ Cons:
|
|
|
- Difficult to archive documents as read-only.
|
|
- Difficult to archive documents as read-only.
|
|
|
- If we set archived documents to be view-only, users won't be able to
|
|
- If we set archived documents to be view-only, users won't be able to
|
|
|
read comments. At that point, the PDF version that we plan to commit to
|
|
read comments. At that point, the PDF version that we plan to commit to
|
|
|
- the Proposal archive GitHub repo is sufficient, and we could delete the
|
|
|
|
|
- proposal.
|
|
|
|
|
|
|
+ the Proposal archive GitHub repository is sufficient, and we could
|
|
|
|
|
+ delete the proposal.
|
|
|
- If we set archived documents to allow commenting, then users can comment
|
|
- If we set archived documents to allow commenting, then users can comment
|
|
|
on and add suggested edits to archived documents. Only review managers
|
|
on and add suggested edits to archived documents. Only review managers
|
|
|
could close suggested edits. This could confuse the history of the doc,
|
|
could close suggested edits. This could confuse the history of the doc,
|
|
@@ -241,10 +242,10 @@ Cons:
|
|
|
on the part of a doc editor to set up markers in the version history.
|
|
on the part of a doc editor to set up markers in the version history.
|
|
|
- Restricted support for extensibility.
|
|
- Restricted support for extensibility.
|
|
|
- Proposals frequently have duplicated/boilerplate text that the authors
|
|
- Proposals frequently have duplicated/boilerplate text that the authors
|
|
|
- may need to rewrite in bulk, e.g. when renaming something. Google Docs
|
|
|
|
|
- has built-in regex search. However, regex replace with capture groups
|
|
|
|
|
- isn't directly supported, so users would need to learn and use Google
|
|
|
|
|
- Apps Script to do the replacement.
|
|
|
|
|
|
|
+ may need to rewrite in bulk, for example when renaming something. Google
|
|
|
|
|
+ Docs has built-in regex search. However, regex replace with capture
|
|
|
|
|
+ groups isn't directly supported, so users would need to learn and use
|
|
|
|
|
+ Google Apps Script to do the replacement.
|
|
|
- When URLs need to be replaced, Google Docs has _no_ support. Authors
|
|
- When URLs need to be replaced, Google Docs has _no_ support. Authors
|
|
|
must audit every URL.
|
|
must audit every URL.
|
|
|
- No low-friction support for formatted code blocks and inline code snippets.
|
|
- No low-friction support for formatted code blocks and inline code snippets.
|
|
@@ -280,7 +281,7 @@ Cons:
|
|
|
##### Overview
|
|
##### Overview
|
|
|
|
|
|
|
|
- Draft proposals: Markdown, possibly in Google Docs (but not required)
|
|
- Draft proposals: Markdown, possibly in Google Docs (but not required)
|
|
|
-- Under review proposals: Markdown with review comments via GitHub
|
|
|
|
|
|
|
+- Under review proposals: Markdown with review comments by way of GitHub
|
|
|
- Archive proposals: Markdown
|
|
- Archive proposals: Markdown
|
|
|
- Final format: Markdown
|
|
- Final format: Markdown
|
|
|
|
|
|
|
@@ -292,7 +293,7 @@ For reviewing a proposal:
|
|
|
- This could be [a WYSIWYG markdown editor](#markdown-editing), or Google
|
|
- This could be [a WYSIWYG markdown editor](#markdown-editing), or Google
|
|
|
docs for collaboration.
|
|
docs for collaboration.
|
|
|
- Authors create a pull request with the markdown doc, to the carbon-proposals
|
|
- Authors create a pull request with the markdown doc, to the carbon-proposals
|
|
|
- GitHub repo.
|
|
|
|
|
|
|
+ GitHub repository.
|
|
|
- Community comments on the pull request.
|
|
- Community comments on the pull request.
|
|
|
- To move for a decision, no special action is taken.
|
|
- To move for a decision, no special action is taken.
|
|
|
- When a decision is reached, the review manager ensures the markdown doc is
|
|
- When a decision is reached, the review manager ensures the markdown doc is
|
|
@@ -306,9 +307,9 @@ If the proposal needs to be checked later to figure out why a decision was made:
|
|
|
- The pull request will have edit history publicly visible.
|
|
- The pull request will have edit history publicly visible.
|
|
|
- GitHub has a nice renderer for markdown diffs.
|
|
- GitHub has a nice renderer for markdown diffs.
|
|
|
|
|
|
|
|
-##### Pros/Cons
|
|
|
|
|
|
|
+##### Advantages/Disadvantages
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- No need to convert file formats.
|
|
- No need to convert file formats.
|
|
|
- Markdown reviews can be committed directly, putting all history in one
|
|
- Markdown reviews can be committed directly, putting all history in one
|
|
@@ -352,7 +353,7 @@ Neutral:
|
|
|
- For other readers, this is likely a pro: the current state of the doc
|
|
- For other readers, this is likely a pro: the current state of the doc
|
|
|
remains visible.
|
|
remains visible.
|
|
|
|
|
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
- GitHub comments on pull requests can be difficult to find in certain
|
|
- GitHub comments on pull requests can be difficult to find in certain
|
|
|
situations.
|
|
situations.
|
|
@@ -363,7 +364,7 @@ Cons:
|
|
|
- Can't comment on the rendered Markdown, only the raw Markdown.
|
|
- Can't comment on the rendered Markdown, only the raw Markdown.
|
|
|
- Images need to be stored separately from the main Markdown file.
|
|
- Images need to be stored separately from the main Markdown file.
|
|
|
- Final documentation may or may not need the images; they may only be
|
|
- Final documentation may or may not need the images; they may only be
|
|
|
- added to explain the proposal. i.e., this may be extra work without
|
|
|
|
|
|
|
+ added to explain the proposal. that is, this may be extra work without
|
|
|
later benefit.
|
|
later benefit.
|
|
|
|
|
|
|
|
## Details
|
|
## Details
|
|
@@ -447,7 +448,7 @@ Access controls:
|
|
|
|
|
|
|
|
**Decision**: Store proposals in the repository they affect
|
|
**Decision**: Store proposals in the repository they affect
|
|
|
|
|
|
|
|
-#### Option: Proposal archive GitHub repo (carbon-proposals)
|
|
|
|
|
|
|
+#### Option: Proposal archive GitHub repository (carbon-proposals)
|
|
|
|
|
|
|
|
In this approach, the review managers are presumed to be responsible for commits
|
|
In this approach, the review managers are presumed to be responsible for commits
|
|
|
to the proposal archive.
|
|
to the proposal archive.
|
|
@@ -456,25 +457,26 @@ Access controls:
|
|
|
|
|
|
|
|
- Commit privileges: review managers
|
|
- Commit privileges: review managers
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- Easy to find pending proposals; just look at the carbon-proposals issue
|
|
- Easy to find pending proposals; just look at the carbon-proposals issue
|
|
|
tracker.
|
|
tracker.
|
|
|
- All proposals will be uniquely numbered.
|
|
- All proposals will be uniquely numbered.
|
|
|
- No need for a proposal label: everything's a proposal.
|
|
- No need for a proposal label: everything's a proposal.
|
|
|
|
|
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
-- Proposals affect other repos; may miss opportunities to combine changes.
|
|
|
|
|
|
|
+- Proposals affect other repositories; may miss opportunities to combine
|
|
|
|
|
+ changes.
|
|
|
- Harder to filter for proposals that are relevant to a specific repository.
|
|
- Harder to filter for proposals that are relevant to a specific repository.
|
|
|
|
|
|
|
|
#### Option: Store proposals in the repository they affect
|
|
#### Option: Store proposals in the repository they affect
|
|
|
|
|
|
|
|
In this approach, we would store proposals in the same repository as they
|
|
In this approach, we would store proposals in the same repository as they
|
|
|
-affect. e.g., a proposal about the spec would be stored in carbon-lang, while a
|
|
|
|
|
-proposal specific to the compiler would be in carbon-toolchains. If a proposal
|
|
|
|
|
-affected multiple repositories, we'd probably choose a single primary repository
|
|
|
|
|
-for the proposal.
|
|
|
|
|
|
|
+affect. for example, a proposal about the spec would be stored in carbon-lang,
|
|
|
|
|
+while a proposal specific to the compiler would be in carbon-toolchains. If a
|
|
|
|
|
+proposal affected multiple repositories, we'd probably choose a single primary
|
|
|
|
|
+repository for the proposal.
|
|
|
|
|
|
|
|
Specific to a GitHub Markdown-centric flow, we could additionally allow the
|
|
Specific to a GitHub Markdown-centric flow, we could additionally allow the
|
|
|
proposal's pull request to include the specific proposed changes to
|
|
proposal's pull request to include the specific proposed changes to
|
|
@@ -497,7 +499,7 @@ Access controls:
|
|
|
- Commit privileges: normal repository access, possibly with review managers
|
|
- Commit privileges: normal repository access, possibly with review managers
|
|
|
getting broad access in order to finalize proposals.
|
|
getting broad access in order to finalize proposals.
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- Makes it easier to demonstrate the actual changes a proposal suggests
|
|
- Makes it easier to demonstrate the actual changes a proposal suggests
|
|
|
making.
|
|
making.
|
|
@@ -507,17 +509,19 @@ Pros:
|
|
|
changes_ on a single review thread, for most cases.
|
|
changes_ on a single review thread, for most cases.
|
|
|
- Makes it easy to find most/all proposals relevant to a given repository.
|
|
- Makes it easy to find most/all proposals relevant to a given repository.
|
|
|
|
|
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
-- Proposals would need to be tracked separately per-repo.
|
|
|
|
|
- - This could also end up being a pro if we get a bunch of different repos,
|
|
|
|
|
- as it may become easier to find relevant proposals for a given repo.
|
|
|
|
|
- It's only really a con for as long as we have few repos (which may last
|
|
|
|
|
- long-term, as having many repos may lead to other scaling problems).
|
|
|
|
|
-- Access controls are part of the parent repo, and so will be less restricted
|
|
|
|
|
- than if we had a separate proposals repo.
|
|
|
|
|
|
|
+- Proposals would need to be tracked separately per-repository.
|
|
|
|
|
+ - This could also end up being a pro if we get a bunch of different
|
|
|
|
|
+ repositories, as it may become easier to find relevant proposals for a
|
|
|
|
|
+ given repository. It's only really a con for as long as we have few
|
|
|
|
|
+ repositories (which may last long-term, as having many repositories may
|
|
|
|
|
+ lead to other scaling problems).
|
|
|
|
|
+- Access controls are part of the parent repository, and so will be less
|
|
|
|
|
+ restricted than if we had a separate proposals repository.
|
|
|
- Proposals won't be uniquely numbered.
|
|
- Proposals won't be uniquely numbered.
|
|
|
- - We'll need to refer to proposals with the repo, e.g., `carbon-lang/456`.
|
|
|
|
|
|
|
+ - We'll need to refer to proposals with the repository, for example,
|
|
|
|
|
+ `carbon-lang/456`.
|
|
|
- Need to make sure we have a proposal label, to separate from non-proposal
|
|
- Need to make sure we have a proposal label, to separate from non-proposal
|
|
|
traffic.
|
|
traffic.
|
|
|
|
|
|
|
@@ -527,8 +531,8 @@ Cons:
|
|
|
|
|
|
|
|
#### Common principles
|
|
#### Common principles
|
|
|
|
|
|
|
|
-- Proposals will be declared on Discourse Forums at important stages; e.g.,
|
|
|
|
|
- asking for input on ideas, RFC, decisions, etc.
|
|
|
|
|
|
|
+- Proposals will be declared on Discourse Forums at important stages; for
|
|
|
|
|
+ example, asking for input on ideas, RFC, decisions, etc.
|
|
|
- Some discussion is expected to occur on the GitHub PR.
|
|
- Some discussion is expected to occur on the GitHub PR.
|
|
|
|
|
|
|
|
#### Option: Push high-level comments to Discourse Forums
|
|
#### Option: Push high-level comments to Discourse Forums
|
|
@@ -536,7 +540,7 @@ Cons:
|
|
|
We could push for high-level comments to be added on the same thread as the
|
|
We could push for high-level comments to be added on the same thread as the
|
|
|
Discourse Forums RFC.
|
|
Discourse Forums RFC.
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- Discourse Forums offer better interfaces for pure, non-code-comment
|
|
- Discourse Forums offer better interfaces for pure, non-code-comment
|
|
|
discussion.
|
|
discussion.
|
|
@@ -547,7 +551,7 @@ Pros:
|
|
|
- May also be better for people used to using email lists to discuss
|
|
- May also be better for people used to using email lists to discuss
|
|
|
proposed changes.
|
|
proposed changes.
|
|
|
|
|
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
- Leads contributors to two different places for comments - some high-level
|
|
- Leads contributors to two different places for comments - some high-level
|
|
|
discussion will inevitably be in GitHub.
|
|
discussion will inevitably be in GitHub.
|
|
@@ -558,12 +562,12 @@ Cons:
|
|
|
We could push for high-level comments to be added to the proposal PR, with other
|
|
We could push for high-level comments to be added to the proposal PR, with other
|
|
|
discussion.
|
|
discussion.
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- The GitHub PR becomes a single hub for conversation.
|
|
- The GitHub PR becomes a single hub for conversation.
|
|
|
- More familiar for people familiar with GitHub-only workflows.
|
|
- More familiar for people familiar with GitHub-only workflows.
|
|
|
|
|
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
- Discourse Forum topics cannot have "create" without "reply" permissions, so
|
|
- Discourse Forum topics cannot have "create" without "reply" permissions, so
|
|
|
some high-level discussion will inevitably be in Discourse Forums.
|
|
some high-level discussion will inevitably be in Discourse Forums.
|
|
@@ -572,7 +576,8 @@ Cons:
|
|
|
- Email notifications include only the lines of code affected, not what is
|
|
- Email notifications include only the lines of code affected, not what is
|
|
|
being replied to. This will generally make it infeasible to get context from
|
|
being replied to. This will generally make it infeasible to get context from
|
|
|
emails.
|
|
emails.
|
|
|
-- Comment threads sometimes make it unclear what's being replied to. e.g.,
|
|
|
|
|
|
|
+- Comment threads sometimes make it unclear what's being replied to. for
|
|
|
|
|
+ example,
|
|
|
https://github.com/carbon-language/carbon-proposals/pull/5#discussion_r423401993
|
|
https://github.com/carbon-language/carbon-proposals/pull/5#discussion_r423401993
|
|
|
and
|
|
and
|
|
|
ttps://github.com/carbon-language/carbon-proposals/pull/5/files/a51ff951561accfb4aee403d7add6e8e69009ce1#r423401993
|
|
ttps://github.com/carbon-language/carbon-proposals/pull/5/files/a51ff951561accfb4aee403d7add6e8e69009ce1#r423401993
|
|
@@ -593,16 +598,16 @@ Cons:
|
|
|
Rather than trying to guide high-level discussion to a particular medium, we
|
|
Rather than trying to guide high-level discussion to a particular medium, we
|
|
|
could offer no guidance.
|
|
could offer no guidance.
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- Less policies, more freedom.
|
|
- Less policies, more freedom.
|
|
|
- Discover what happens, switch back and forth over time based on
|
|
- Discover what happens, switch back and forth over time based on
|
|
|
individual contributor preferences.
|
|
individual contributor preferences.
|
|
|
|
|
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
-- Pros of a primary hub are discarded. Cons of multiple hubs should be assumed
|
|
|
|
|
- to remain.
|
|
|
|
|
|
|
+- Advantages of a primary hub are discarded. Disadvantages of multiple hubs
|
|
|
|
|
+ should be assumed to remain.
|
|
|
|
|
|
|
|
### Open question: Should there be a tracking issue?
|
|
### Open question: Should there be a tracking issue?
|
|
|
|
|
|
|
@@ -618,27 +623,27 @@ Cons:
|
|
|
|
|
|
|
|
In a workflow where there's always a tracking issue:
|
|
In a workflow where there's always a tracking issue:
|
|
|
|
|
|
|
|
-1. Create the tracking issue, e.g. #123.
|
|
|
|
|
-2. Create the PR, e.g. #456, naming the proposal p0123.md after the tracking
|
|
|
|
|
- issue.
|
|
|
|
|
|
|
+1. Create the tracking issue, for example #123.
|
|
|
|
|
+2. Create the PR, for example #456, naming the proposal p0123.md after the
|
|
|
|
|
+ tracking issue.
|
|
|
1. Use GitHub features to link #123 and #456.
|
|
1. Use GitHub features to link #123 and #456.
|
|
|
3. Update the status in p0123.md and labels of #123 when progressing a
|
|
3. Update the status in p0123.md and labels of #123 when progressing a
|
|
|
proposal.
|
|
proposal.
|
|
|
-4. When a decision is made, create a new PR, e.g. #789, containing the decision
|
|
|
|
|
- p0123-decision.md.
|
|
|
|
|
|
|
+4. When a decision is made, create a new PR, for example #789, containing the
|
|
|
|
|
+ decision p0123-decision.md.
|
|
|
1. This does not replace the Discourse Forum topic announcing a decision.
|
|
1. This does not replace the Discourse Forum topic announcing a decision.
|
|
|
2. Use GitHub features to link #123 and #789.
|
|
2. Use GitHub features to link #123 and #789.
|
|
|
3. Comments on the decision may go on the decision PR, similar to the
|
|
3. Comments on the decision may go on the decision PR, similar to the
|
|
|
proposal PR discussion.
|
|
proposal PR discussion.
|
|
|
5. Declined/deferred proposals may be committed or not; it doesn't matter.
|
|
5. Declined/deferred proposals may be committed or not; it doesn't matter.
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- Easy to find the full decision in p0123-decision.md.
|
|
- Easy to find the full decision in p0123-decision.md.
|
|
|
- The PR to create the decision is clearly visible in the associated tracking
|
|
- The PR to create the decision is clearly visible in the associated tracking
|
|
|
issue.
|
|
issue.
|
|
|
|
|
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
- The tracking issue separates more state.
|
|
- The tracking issue separates more state.
|
|
|
|
|
|
|
@@ -647,7 +652,7 @@ Cons:
|
|
|
In a workflow where there's no need for a tracking issue (although contributors
|
|
In a workflow where there's no need for a tracking issue (although contributors
|
|
|
may create them for bucketing work, they are non-essential):
|
|
may create them for bucketing work, they are non-essential):
|
|
|
|
|
|
|
|
-1. Create the PR, e.g. #456, naming the proposal p0456.md.
|
|
|
|
|
|
|
+1. Create the PR, for example #456, naming the proposal p0456.md.
|
|
|
2. Update the labels of #456 when progressing a proposal.
|
|
2. Update the labels of #456 when progressing a proposal.
|
|
|
1. Don't bother putting the status in p0456.md: people should rely on the PR
|
|
1. Don't bother putting the status in p0456.md: people should rely on the PR
|
|
|
labels since it's in the same place.
|
|
labels since it's in the same place.
|
|
@@ -659,12 +664,12 @@ may create them for bucketing work, they are non-essential):
|
|
|
4. If declined/deferred proposals are committed, it would be best to add a
|
|
4. If declined/deferred proposals are committed, it would be best to add a
|
|
|
status in p0456.md before committing.
|
|
status in p0456.md before committing.
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- Lighter weight process: no tracking issue, and no need to update status in
|
|
- Lighter weight process: no tracking issue, and no need to update status in
|
|
|
p0456.md.
|
|
p0456.md.
|
|
|
|
|
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
- Harder to store the decision in a way that clearly links it to the original
|
|
- Harder to store the decision in a way that clearly links it to the original
|
|
|
proposal.
|
|
proposal.
|
|
@@ -698,13 +703,13 @@ the PR is abandoned and we at most save a link to it.
|
|
|
Note that GitHub does (at least to some extent) retain closed PRs, even those
|
|
Note that GitHub does (at least to some extent) retain closed PRs, even those
|
|
|
coming from a fork.
|
|
coming from a fork.
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- The proposals directory remains a list of only accepted proposals.
|
|
- The proposals directory remains a list of only accepted proposals.
|
|
|
- No need to spend effort saving declined/deferred proposals.
|
|
- No need to spend effort saving declined/deferred proposals.
|
|
|
|
|
|
|
|
\
|
|
\
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
- Lose an easy way to check declined/deferred proposals for history.
|
|
- Lose an easy way to check declined/deferred proposals for history.
|
|
|
- More reliance on searching forums for history.
|
|
- More reliance on searching forums for history.
|
|
@@ -713,11 +718,11 @@ Cons:
|
|
|
|
|
|
|
|
Under this approach, declined/deferred proposals are committed.
|
|
Under this approach, declined/deferred proposals are committed.
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- Easy to skim through declined/deferred proposals.
|
|
- Easy to skim through declined/deferred proposals.
|
|
|
|
|
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
- Finding accepted proposals may become more difficult.
|
|
- Finding accepted proposals may become more difficult.
|
|
|
- Could put declined/deferred proposals in a different directory.
|
|
- Could put declined/deferred proposals in a different directory.
|
|
@@ -744,8 +749,9 @@ which is for anybody in the community to easily create proposals.
|
|
|
### General concern about multiple Markdown flavors
|
|
### General concern about multiple Markdown flavors
|
|
|
|
|
|
|
|
Different markdown implementations have subtly different rendering rules for the
|
|
Different markdown implementations have subtly different rendering rules for the
|
|
|
-same input. e.g., per [CommonMark Spec](https://spec.commonmark.org/0.29/#),
|
|
|
|
|
-table syntax is not specified, although
|
|
|
|
|
|
|
+same input. for example, per
|
|
|
|
|
+[CommonMark Spec](https://spec.commonmark.org/0.29/#), table syntax is not
|
|
|
|
|
+specified, although
|
|
|
[GitHub uses a table extension](https://guides.github.com/features/mastering-markdown/).
|
|
[GitHub uses a table extension](https://guides.github.com/features/mastering-markdown/).
|
|
|
However, we do plan on using GitHub consistently; this only stands to confuse
|
|
However, we do plan on using GitHub consistently; this only stands to confuse
|
|
|
users of other Markdown systems.
|
|
users of other Markdown systems.
|
|
@@ -805,11 +811,11 @@ https://gsuite.google.com/marketplace/app/docs_to_markdown/700168918607
|
|
|
This plugin actually looks pretty good, and may actually work better than
|
|
This plugin actually looks pretty good, and may actually work better than
|
|
|
Google's internal-only equivalent. I'm not seeing obvious downsides.
|
|
Google's internal-only equivalent. I'm not seeing obvious downsides.
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- Provides easy conversion of Google Docs to Markdown.
|
|
- Provides easy conversion of Google Docs to Markdown.
|
|
|
|
|
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
- ?
|
|
- ?
|
|
|
|
|
|
|
@@ -821,12 +827,12 @@ This is another code formatting tool, but doesn't seem to work as well as
|
|
|
Google's internal-only equivalent. Google's internal-only equivalent happens to
|
|
Google's internal-only equivalent. Google's internal-only equivalent happens to
|
|
|
do some syntax highlighting, whereas Code blocks does none.
|
|
do some syntax highlighting, whereas Code blocks does none.
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- Public code formatting.
|
|
- Public code formatting.
|
|
|
- Works with "Docs to Markdown" plugin to get ```-block escaping.
|
|
- Works with "Docs to Markdown" plugin to get ```-block escaping.
|
|
|
|
|
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
- Mediocre syntax highlighting for Carbon.
|
|
- Mediocre syntax highlighting for Carbon.
|
|
|
- No inline `foo` highlighting, unlike Google's internal-only equivalent.
|
|
- No inline `foo` highlighting, unlike Google's internal-only equivalent.
|
|
@@ -839,11 +845,11 @@ https://gsuite.google.com/marketplace/app/advanced_find_replace/11210842879
|
|
|
Advanced Find & Replace offers more advanced functionality than the built-in
|
|
Advanced Find & Replace offers more advanced functionality than the built-in
|
|
|
features, particularly around URL and regexp support.
|
|
features, particularly around URL and regexp support.
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- Offers improved functionality around key Google Docs friction problems.
|
|
- Offers improved functionality around key Google Docs friction problems.
|
|
|
|
|
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
- 2 of 5 stars: we should not expect quality.
|
|
- 2 of 5 stars: we should not expect quality.
|
|
|
- \$6 purchase price may turn off contributors.
|
|
- \$6 purchase price may turn off contributors.
|
|
@@ -861,12 +867,12 @@ StackEdit may look good on the surface, but we may effectively be restricted to
|
|
|
using it as a WYSYWIG markdown editor, not for collaboration. For that, it's
|
|
using it as a WYSYWIG markdown editor, not for collaboration. For that, it's
|
|
|
simply one option amongst many, and not necessarily the best.
|
|
simply one option amongst many, and not necessarily the best.
|
|
|
|
|
|
|
|
-Pros:
|
|
|
|
|
|
|
+Advantages:
|
|
|
|
|
|
|
|
- Provides preview when editing Markdown files.
|
|
- Provides preview when editing Markdown files.
|
|
|
- Provides application-specific comment support.
|
|
- Provides application-specific comment support.
|
|
|
|
|
|
|
|
-Cons:
|
|
|
|
|
|
|
+Disadvantages:
|
|
|
|
|
|
|
|
- Cannot use shared Google workspaces with Google corp accounts, due to
|
|
- Cannot use shared Google workspaces with Google corp accounts, due to
|
|
|
security restrictions. Will likely cause issues for others, too.
|
|
security restrictions. Will likely cause issues for others, too.
|