This is an automated email from the ASF dual-hosted git repository.

vinoth pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hudi.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 7129c5a  [DOCS] New RFC Process (#3725)
7129c5a is described below

commit 7129c5a9bceb32621f1efe61bdc7b000f1333f21
Author: vinoth chandar <vinothchan...@users.noreply.github.com>
AuthorDate: Tue Sep 28 10:26:43 2021 -0600

    [DOCS] New RFC Process (#3725)
    
    - Nested under the "Contribute" menu
     - Largely same text as we had in cwiki
     - Broke it up into three phases
     - Reordered the side bar to make it nicer to read
---
 website/contribute/get-involved.md           |  2 +-
 website/contribute/how-to-contribute.md      |  2 +-
 website/contribute/report-security-issues.md |  2 +-
 website/contribute/rfc-process.md            | 56 ++++++++++++++++++++++++++++
 website/contribute/team.md                   |  2 +-
 website/docusaurus.config.js                 |  4 ++
 6 files changed, 64 insertions(+), 4 deletions(-)

diff --git a/website/contribute/get-involved.md 
b/website/contribute/get-involved.md
index c455539..2f9cb23 100644
--- a/website/contribute/get-involved.md
+++ b/website/contribute/get-involved.md
@@ -15,7 +15,7 @@ There are several ways to get in touch with the Hudi 
community.
 | For any general questions, user support | Users Mailing list 
([Subscribe](mailto:users-subscr...@hudi.apache.org), 
[Unsubscribe](mailto:users-unsubscr...@hudi.apache.org), 
[Archives](https://lists.apache.org/list?us...@hudi.apache.org)). Empty email 
works for subscribe/unsubscribe. Please use [gists](https://gist.github.com) to 
share code/stacktraces on the email. |
 | For reporting bugs or issues or discover known issues | Please use [ASF Hudi 
JIRA](https://issues.apache.org/jira/projects/HUDI/summary). See 
[#here](#accounts) for access |
 | For quick pings & 1-1 chats | Join our [slack 
group](https://join.slack.com/t/apache-hudi/shared_invite/enQtODYyNDAxNzc5MTg2LTE5OTBlYmVhYjM0N2ZhOTJjOWM4YzBmMWU2MjZjMGE4NDc5ZDFiOGQ2N2VkYTVkNzU3ZDQ4OTI1NmFmYWQ0NzE).
 In case this does not work, please leave a comment on this [github 
issue](https://github.com/apache/hudi/issues/143) |
-| For proposing large features, changes | Start a RFC. Instructions 
[here](https://cwiki.apache.org/confluence/display/HUDI/RFC+Process).
+| For proposing large features, changes | Start a RFC. Instructions 
[here](/contribute/rfc-process).
 | Join weekly sync-up meeting | Follow instructions 
[here](https://cwiki.apache.org/confluence/display/HUDI/Apache+Hudi+Community+Weekly+Sync).
 |
  See [#here](#accounts) for wiki access |
 | For stream of commits, pull requests etc | Commits Mailing list 
([Subscribe](mailto:commits-subscr...@hudi.apache.org), 
[Unsubscribe](mailto:commits-unsubscr...@hudi.apache.org), 
[Archives](https://lists.apache.org/list?commits@hudi.apache.org)) |
diff --git a/website/contribute/how-to-contribute.md 
b/website/contribute/how-to-contribute.md
index 137e5b2..56fdc99 100644
--- a/website/contribute/how-to-contribute.md
+++ b/website/contribute/how-to-contribute.md
@@ -1,5 +1,5 @@
 ---
-sidebar_position: 3
+sidebar_position: 2
 title: "How to Contribute"
 toc: true
 last_modified_at: 2020-09-01T15:59:57-04:00
diff --git a/website/contribute/report-security-issues.md 
b/website/contribute/report-security-issues.md
index ccefc16..0fc463a 100644
--- a/website/contribute/report-security-issues.md
+++ b/website/contribute/report-security-issues.md
@@ -1,6 +1,6 @@
 ---
 title: Report Security Issues
-sidebar_position: 5
+sidebar_position: 6
 keywords: [ hudi, security]
 toc: true
 last_modified_at: 2019-12-30T15:59:57-04:00
diff --git a/website/contribute/rfc-process.md 
b/website/contribute/rfc-process.md
new file mode 100644
index 0000000..17afb98
--- /dev/null
+++ b/website/contribute/rfc-process.md
@@ -0,0 +1,56 @@
+---
+sidebar_position: 3
+title: "RFC Process"
+toc: true
+last_modified_at: 2020-09-01T15:59:57-04:00
+---
+
+This page describes a Request For Comments (RFC) process for proposing any 
major change to Hudi or even just sharing designs/vision for the project to get 
early feedback.
+
+## When do I need an RFC ?
+
+Whenever a feature is considered to be causing a “major change” in the 
project, such a feature requires an RFC. 
+Any of the following can be considered a major change:
+
+ - Any new component, module or code that introduces a new concept into the 
project or alters the behavior of an existing one
+ - Any large code refactor to address general code re-usability and structure. 
There is no strong definition for “Large” and whether or not the refactor 
requires an RFC can be discussed on the @dev mailing list.
+ - Any change that impacts the underlying storage layout/format. e.g changes 
to the HoodieLogFormat, timeline layout version.
+ - New indexing schemes, New deltastreamer sources, New platform services.
+ - Any change that impacts the public interfaces of the project.
+
+It can also be used to describe large direction shifts to the project (e.g. 
Flink support) or new green field ideas (e.g. Hudi for ML flows)
+Not all RFCs require the same effort and detail. For critical changes such as 
the File Format and Index, we need to deeply discuss the trade-offs of 
+making such a change and how it impacts current and new users. Any changes to 
such components affect the correctness of a dataset (backwards and forward 
versions supported). 
+Other changes such as code refactor might require more details around 
abstractions but as long as there is good test coverage, a migration plan 
section can be avoided. 
+It may happen that you are making a bunch of changes across many components to 
enable an already existing feature. For example, introducing a new config along 
with reporting metrics, 
+enhancing a tool and also improving documentation and the on-boarding 
experience. If all of these changes are linked to a general feature/idea, these 
can be grouped together under a single RFC.
+
+## Who can initiate the RFC ?
+Anyone can initiate an RFC. Please note that if you are unsure of whether a 
feature already exists or if there is a plan already to implement a similar 
one, always start a discussion thread on the dev mailing list before initiating 
a RFC. This will help everyone get the right context and optimize everyone’s 
usage of time.
+
+## How do I author an RFC ?
+
+### Proposing the RFC
+1. First, start a discussion thread on the Apache Hudi dev mailing list, by 
sending an email to `d...@hudi.apache.org` with subject line `DISCUSS <proposed 
idea>`. 
+Use this discussion thread to get an agreement from people on the mailing list 
that your proposed idea necessitates an RFC.
+2. File an umbrella JIRA for the RFC with the label `hudi-umbrellas` added to 
it. See an [example JIRA](https://issues.apache.org/jira/browse/HUDI-1292).
+3. Raise a PR, adding an entry to the table at `rfc/README.md`, picking the 
next available RFC number. Hudi committers will help land that.
+
+### Writing the RFC
+1. Create a folder `rfc-<number>` under `rfc` folder, where `<number>` is 
replaced by the actual RFC number used.
+2. Copy the rfc template file `rfc/template.md` to 
`rfc/rfc-<number>/rfc-<number>.md` and proceed to draft your design document.
+3. [Optional] Place any images used by the same directory using the `![alt 
text](./image.png)` markdown syntax.
+4. Add at least 2 PMC members as approvers (you can find their github 
usernames [here](/contribute/team)). You are free to add any number of dev 
members to your reviewers list.
+5. Raise a PR against the master branch with `[RFC-<number>]` in the title and 
work through feedback, until the RFC approved (by approving the Github PR 
itself)
+6. Before landing the PR, please change the status to "IN PROGRESS" under 
`rfc/README.md` and keep it maintained as you go about implementing, completing 
or even abandoning.
+
+### Keeping it upto date
+
+RFC process is by no-means is an attempt at the "waterfall" software 
development process. 
+We recognize that design can be an iterative process as well, often evolving 
together with implementation. 
+
+1. Please ensure your code PRs are labelled with a `[RFC-<number>]` title, in 
addition to the JIRA number.
+2. As your implementation changes over time, you will update the RFCs and keep 
them in-sync. Project maintainers could point out these opportunities during 
code reviews.
+3. During the final landing of all goals of the RFC, the status changes to 
"COMPLETED"
+
+
diff --git a/website/contribute/team.md b/website/contribute/team.md
index f630544..3e5cea4 100644
--- a/website/contribute/team.md
+++ b/website/contribute/team.md
@@ -1,5 +1,5 @@
 ---
-sidebar_position: 2
+sidebar_position: 5
 title: "Team"
 toc: true
 last_modified_at: 2020-09-01T15:59:57-04:00
diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js
index 1cf403d..02248b5 100644
--- a/website/docusaurus.config.js
+++ b/website/docusaurus.config.js
@@ -156,6 +156,10 @@ module.exports = {
               to: '/contribute/developer-setup',
             },
             {
+              label: 'RFC Process',
+              to: '/contribute/rfc-process',
+            },
+            {
               label: 'Report Security Issues',
               to: '/contribute/report-security-issues',
             },

Reply via email to