xushiyan commented on a change in pull request #3725:
URL: https://github.com/apache/hudi/pull/3725#discussion_r717208114



##########
File path: 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 you 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 should 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 you initiate the RFC ?
+
+### Proposing the RFC
+1. First, start a discussion thread on the Apache Hudi dev mailing list. The 
subject of the discussion thread can be `DISCUSS <proposed idea>` to create an 
RFC. 

Review comment:
       ```suggestion
   1. First, start a discussion thread on the Apache Hudi dev mailing list by 
sending an email to `[email protected]`. The subject of the discussion 
thread can be `DISCUSS <proposed idea>` to create an RFC. 
   ```

##########
File path: 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 you 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 should 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 you initiate the RFC ?
+
+### Proposing the RFC
+1. First, start a discussion thread on the Apache Hudi dev mailing list. The 
subject of the discussion thread can be `DISCUSS <proposed idea>` to create an 
RFC. 
+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.
+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
+2. Copy the rfc template file `rfc/template.md` to `rfc/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.

Review comment:
       better to keep each RFC in its own folder? `rfc/rfc-99/README.md` so 
it'll be browsable on github. also good to keep images in its own RFC folder.

##########
File path: 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 you 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 should 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 you initiate the RFC ?
+
+### Proposing the RFC
+1. First, start a discussion thread on the Apache Hudi dev mailing list. The 
subject of the discussion thread can be `DISCUSS <proposed idea>` to create an 
RFC. 
+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.

Review comment:
       ```suggestion
   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
   ```

##########
File path: 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 you 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)

Review comment:
       ```suggestion
   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)
   ```

##########
File path: 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 you need an RFC ?

Review comment:
       ```suggestion
   ## When do I need an RFC ?
   ```

##########
File path: 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 you 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 should initiate the RFC ?

Review comment:
       ```suggestion
   ## Who can initiate an RFC ?
   ```

##########
File path: 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 you 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 should 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 you initiate the RFC ?

Review comment:
       ```suggestion
   ## How do I initiate an RFC ?
   ```

##########
File path: 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 you need an RFC ?

Review comment:
       This is optional..just felt first tense sounds more engaging.. maybe 
just me.

##########
File path: 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 you 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 should 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 you initiate the RFC ?
+
+### Proposing the RFC
+1. First, start a discussion thread on the Apache Hudi dev mailing list. The 
subject of the discussion thread can be `DISCUSS <proposed idea>` to create an 
RFC. 
+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.
+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
+2. Copy the rfc template file `rfc/template.md` to `rfc/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.

Review comment:
       ok sounds good.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to