suyanhanx commented on code in PR #2169:
URL: 
https://github.com/apache/incubator-opendal/pull/2169#discussion_r1181102050


##########
CONTRIBUTING.md:
##########
@@ -1,34 +1,70 @@
 # Contributing
 
-Hello, welcome to the OpenDAL Community! Thanks for your interest in the 
Apache OpenDAL project! This document will guide you on how to participate in 
our community and enjoy your time here. 
+First, thank you for contributing to OpenDAL! The goal of this document is to 
provide everything you need to start contributing to OpenDAL. The following TOC 
is sorted progressively, starting with the basics and expanding into more 
specifics.

Review Comment:
   ? The reader may hasn't done any contribution.



##########
DEVELOPING.md:
##########
@@ -0,0 +1,21 @@
+# Developing
+
+- [Setup](#setup)
+  - [Using a devcontainer environment](#using-a-devcontainer-environment)
+  - [Bring your own toolbox](#bring-your-own-toolbox)
+
+## Setup
+
+We're super excited to have you interested in working on OpenDAL! Before you 
start you should pick how you want to develop.
+
+For small or first-time contributions, we recommend the devcontainer method. 
Prefer to do it yourself? That's fine too!
+
+### Using a devcontainer environment
+
+OpenDAL provides a pre-configured [devcontainer](https://containers.dev/) that 
could be used in [Github Codespaces](https://github.com/features/codespaces), 
[VSCode](https://code.visualstudio.com/), 
[JetBrains](https://www.jetbrains.com/remote-development/gateway/), 
[JuptyerLab](https://jupyterlab.readthedocs.io/en/stable/). Please pick up your 
favourite runtime environment.
+
+The fastest way is [click here to create a new codespace for 
OpenDAL](https://github.com/codespaces/new?skip_quickstart=true&machine=standardLinux32gb&repo=459025965&ref=main).
+
+---
+
+*This document is highly inspired by 
[Vector](https://github.com/vectordotdev/vector/)*

Review Comment:
   ditto.



##########
CONTRIBUTING.md:
##########
@@ -1,34 +1,70 @@
 # Contributing
 
-Hello, welcome to the OpenDAL Community! Thanks for your interest in the 
Apache OpenDAL project! This document will guide you on how to participate in 
our community and enjoy your time here. 
+First, thank you for contributing to OpenDAL! The goal of this document is to 
provide everything you need to start contributing to OpenDAL. The following TOC 
is sorted progressively, starting with the basics and expanding into more 
specifics.
 
-## Code of Conduct
+- [Your First Contribution](#your-first-contribution)
+- [Workflow](#workflow)
+  - [Git Branches](#git-branches)
+  - [GitHub Pull Requests](#github-pull-requests)
+    - [Title](#title)
+    - [Reviews & Approvals](#reviews--approvals)
+    - [Merge Style](#merge-style)
+    - [CI](#ci)
+- [Next steps](#next-steps)
+- [Code of Conduct](#code-of-conduct)
 
-We expect all community members to follow our [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct.html).
+## Your First Contribution
+
+1. Ensure your change has an issue! Find an [existing 
issue](https://github.com/apache/incubator-opendal/issues) or [open a new 
issue](https://github.com/apache/incubator-opendal/issues/new).
+1. [Fork the OpenDAL 
repository](https://github.com/apache/incubator-opendal/fork) in your own 
GitHub account.
+1. [Create a new Git 
branch](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository).

Review Comment:
   I think you may add a step before this to help reader to clone their repo to 
local.
   
   And it's confused that some of links are actions, others are routes. We may 
just provide commands samples. And help pages can be references.



##########
README.md:
##########
@@ -1,102 +1,41 @@
+<p align="center">
 <picture>
   <source media="(prefers-color-scheme: dark)" 
srcset="website/static/img/logo_dark.svg">
   <img alt="Apache OpenDAL(incubating)" src="website/static/img/logo.svg" 
width="300px">
 </picture>
+</p>
 
-[![Build Status]][actions] [![chat]][discord]

Review Comment:
   We could keep this.



##########
README.md:
##########
@@ -1,102 +1,41 @@
+<p align="center">
 <picture>
   <source media="(prefers-color-scheme: dark)" 
srcset="website/static/img/logo_dark.svg">
   <img alt="Apache OpenDAL(incubating)" src="website/static/img/logo.svg" 
width="300px">
 </picture>
+</p>
 
-[![Build Status]][actions] [![chat]][discord]
+---
 
-[build status]: 
https://img.shields.io/github/actions/workflow/status/apache/incubator-opendal/ci.yml?branch=main
-[actions]: 
https://github.com/apache/incubator-opendal/actions?query=branch%3Amain
-[chat]: https://img.shields.io/discord/1081052318650339399
-[discord]: https://discord.gg/XQy8yGR2dg
-
-**Open** **D**ata **A**ccess **L**ayer: Access data freely, painlessly, and 
efficiently
+OpenDAL is a data access layer that allows users to easily and efficiently 
retrieve data from various storage services in an unified way.
 
 
![](https://user-images.githubusercontent.com/5351546/222356748-14276998-501b-4d2a-9b09-b8cff3018204.png)
 
-## Components
-
-- [core](core/README.md): OpenDAL Rust Core
-  - Documentation: [stable](https://docs.rs/opendal/) | 
[main](https://opendal.apache.org/docs/rust/opendal/)
-- [binding-c](bindings/c): OpenDAL C Binding (working on)
-- [binding-java](bindings/java): OpenDAL Java Binding (working on)
-- [binding-nodejs](bindings/nodejs/README.md): OpenDAL Node.js Binding
-  - Documentation: [main](https://opendal.apache.org/docs/nodejs/)
-- [binding-python](bindings/python/README.md): OpenDAL Python Binding
-  - Documentation: [main](https://opendal.apache.org/docs/python/)
-- [binding-ruby](bindings/ruby): OpenDAL Ruby Binding (working on)
-- bin
-  - [oli](bin/oli): OpenDAL Command Line Interface
-
-## Quickstart
-
-### Rust
-
-```rust
-use opendal::Result;
-use opendal::layers::LoggingLayer;
-use opendal::services;
-use opendal::Operator;
-
-#[tokio::main]
-async fn main() -> Result<()> {
-    // Pick a builder and configure it.
-    let mut builder = services::S3::default();
-    builder.bucket("test");
-
-    // Init an operator
-    let op = Operator::new(builder)?
-        // Init with logging layer enabled.
-        .layer(LoggingLayer::default())
-        .finish();
-
-    // Write data
-    op.write("hello.txt", "Hello, World!").await?;
 
-    // Read data
-    let bs = op.read("hello.txt").await?;
+Major components of the project include:
 
-    // Fetch metadata
-    let meta = op.stat("hello.txt").await?;
-    let mode = meta.mode();
-    let length = meta.content_length();
+**Libraries**
 
-    // Delete
-    op.delete("hello.txt").await?;
+- [Rust Core](core/README.md)
+- [Node.js Binding](bindings/nodejs/README.md)
+- [Python Binding](bindings/python/README.md)
+- [C Binding](bindings/c) *working on*
+- [Java Binding](bindings/java) *working on*
+- [Ruby Binding](bindings/ruby): *working on*

Review Comment:
   please remove the `:`



##########
CONTRIBUTING.md:
##########
@@ -1,34 +1,70 @@
 # Contributing
 
-Hello, welcome to the OpenDAL Community! Thanks for your interest in the 
Apache OpenDAL project! This document will guide you on how to participate in 
our community and enjoy your time here. 
+First, thank you for contributing to OpenDAL! The goal of this document is to 
provide everything you need to start contributing to OpenDAL. The following TOC 
is sorted progressively, starting with the basics and expanding into more 
specifics.
 
-## Code of Conduct
+- [Your First Contribution](#your-first-contribution)
+- [Workflow](#workflow)
+  - [Git Branches](#git-branches)
+  - [GitHub Pull Requests](#github-pull-requests)
+    - [Title](#title)
+    - [Reviews & Approvals](#reviews--approvals)
+    - [Merge Style](#merge-style)
+    - [CI](#ci)
+- [Next steps](#next-steps)
+- [Code of Conduct](#code-of-conduct)
 
-We expect all community members to follow our [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct.html).
+## Your First Contribution
+
+1. Ensure your change has an issue! Find an [existing 
issue](https://github.com/apache/incubator-opendal/issues) or [open a new 
issue](https://github.com/apache/incubator-opendal/issues/new).
+1. [Fork the OpenDAL 
repository](https://github.com/apache/incubator-opendal/fork) in your own 
GitHub account.
+1. [Create a new Git 
branch](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository).
+1. Make your changes.
+1. [Submit the branch as a pull 
request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork)
 to the main OpenDAL repo. An OpenDAL team member should comment and/or review 
your pull request within a few days. Although, depending on the circumstances, 
it may take longer.
+
+## Workflow
+
+### Git Branches
+
+*All* changes must be made in a branch and submitted as [pull 
requests](#github-pull-requests). OpenDAL does not adopt any type of branch 
naming style, but please use something descriptive of your changes.
 
-## Communication
+### GitHub Pull Requests
 
-We use [GitHub 
Discussions](https://github.com/apache/incubator-opendal/discussions) for 
general discussions and questions. Please use the `Q&A` category for questions 
and the `General` category for general discussions.
+Once your changes are ready you must submit your branch as a [pull 
request](https://github.com/apache/incubator-opendal/pulls).
 
-We also use [GitHub 
Issues](https://github.com/apache/incubator-opendal/issues) for bug reports and 
feature requests.
+#### Title
 
-Otherwise, you can join our [Discord Channel](https://discord.gg/XQy8yGR2dg) 
for real-time discussions.
+The pull request title must follow the format outlined in the [conventional 
commits spec](https://www.conventionalcommits.org). [Conventional 
commits](https://www.conventionalcommits.org) is a standardized format for 
commit messages. OpenDAL only requires this format for commits on the `main` 
branch. And because OpenDAL squashes commits before merging branches, this 
means that only the pull request title must conform to this format.
 
-## Taking Issues
+The following are all good examples of pull request titles:
 
-It is highly recommended to request an assignment before beginning work on any 
issues to avoid conflicts with other community members.
+```text
+feat(services/gcs): Add start-after support for list
+docs: add hdfs classpath related troubleshoot
+ci: Mark job as skipped if owner is not apache
+fix(services/s3): Ignore prefix if it's empty
+refactor: Polish the implementation of webhdfs
+```
 
-It is encouraged to post your work progress in the issues comment so that the 
community can stay informed about ongoing developments and offer any necessary 
assistance.
+#### Reviews & Approvals
 
-It is possible that your assignment has been removed after 14 days of no 
updates. Please note that this is not a punishment or dissatisfaction from the 
community. We understand that life can be challenging, and things may not 
always go as planned.
+All pull requests should be reviewed by at least one OpenDAL committers.
 
-By removing the assignment, we create space for other community members to 
take over. Additionally, we do not frequently check the assignment due date, so 
please communicate any stale issues through the issue tracker.
+#### Merge Style
 
-## Sending PRs
+All pull requests are squashed and merged. We generally discourage large pull 
requests that are over 300-500 lines of diff. If you would like to propose a 
change that is larger we suggest coming onto our 
[Discussions](https://github.com/apache/incubator-opendal/discussions) and 
discuss it with us. This way we can talk through the solution and discuss if a 
change that large is even needed! This will produce a quicker response to the 
change and likely produce code that aligns better with our process.
 
-If you find an issue you would like to fix, open a pull request. For code 
changes, please refer to the particular component's development guide.
+### CI
 
-We will try our best to review your PRs within 24 hours, and often within 8 
hours.
+Currently, Vector uses GitHub Actions to run tests. The workflows are defined 
in `.github/workflows`.
+
+## Next steps
+
+Visiting **[DEVELOPING.md](DEVELOPING.md)** to prepare Everything necessary to 
develop.
+
+## Code of Conduct
+
+We expect all community members to follow our [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct.html).
 
-If a PR does not receive a response within 24 hours, it will be converted to 
draft status. To indicate that you are ready for review, please mark the PR as 
`ready for review`.
+---
 
+*This document is highly inspired by 
[Vector](https://github.com/vectordotdev/vector/)*

Review Comment:
   It's great for the credit. But I think it's also really confused. Maybe 
better to remove this line.



##########
CONTRIBUTING.md:
##########
@@ -1,34 +1,70 @@
 # Contributing
 
-Hello, welcome to the OpenDAL Community! Thanks for your interest in the 
Apache OpenDAL project! This document will guide you on how to participate in 
our community and enjoy your time here. 
+First, thank you for contributing to OpenDAL! The goal of this document is to 
provide everything you need to start contributing to OpenDAL. The following TOC 
is sorted progressively, starting with the basics and expanding into more 
specifics.
 
-## Code of Conduct
+- [Your First Contribution](#your-first-contribution)
+- [Workflow](#workflow)
+  - [Git Branches](#git-branches)
+  - [GitHub Pull Requests](#github-pull-requests)
+    - [Title](#title)
+    - [Reviews & Approvals](#reviews--approvals)
+    - [Merge Style](#merge-style)
+    - [CI](#ci)
+- [Next steps](#next-steps)
+- [Code of Conduct](#code-of-conduct)
 
-We expect all community members to follow our [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct.html).
+## Your First Contribution
+
+1. Ensure your change has an issue! Find an [existing 
issue](https://github.com/apache/incubator-opendal/issues) or [open a new 
issue](https://github.com/apache/incubator-opendal/issues/new).
+1. [Fork the OpenDAL 
repository](https://github.com/apache/incubator-opendal/fork) in your own 
GitHub account.
+1. [Create a new Git 
branch](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository).
+1. Make your changes.
+1. [Submit the branch as a pull 
request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork)
 to the main OpenDAL repo. An OpenDAL team member should comment and/or review 
your pull request within a few days. Although, depending on the circumstances, 
it may take longer.
+
+## Workflow
+
+### Git Branches
+
+*All* changes must be made in a branch and submitted as [pull 
requests](#github-pull-requests). OpenDAL does not adopt any type of branch 
naming style, but please use something descriptive of your changes.
 
-## Communication
+### GitHub Pull Requests
 
-We use [GitHub 
Discussions](https://github.com/apache/incubator-opendal/discussions) for 
general discussions and questions. Please use the `Q&A` category for questions 
and the `General` category for general discussions.
+Once your changes are ready you must submit your branch as a [pull 
request](https://github.com/apache/incubator-opendal/pulls).
 
-We also use [GitHub 
Issues](https://github.com/apache/incubator-opendal/issues) for bug reports and 
feature requests.
+#### Title
 
-Otherwise, you can join our [Discord Channel](https://discord.gg/XQy8yGR2dg) 
for real-time discussions.
+The pull request title must follow the format outlined in the [conventional 
commits spec](https://www.conventionalcommits.org). [Conventional 
commits](https://www.conventionalcommits.org) is a standardized format for 
commit messages. OpenDAL only requires this format for commits on the `main` 
branch. And because OpenDAL squashes commits before merging branches, this 
means that only the pull request title must conform to this format.
 
-## Taking Issues
+The following are all good examples of pull request titles:
 
-It is highly recommended to request an assignment before beginning work on any 
issues to avoid conflicts with other community members.
+```text
+feat(services/gcs): Add start-after support for list
+docs: add hdfs classpath related troubleshoot
+ci: Mark job as skipped if owner is not apache
+fix(services/s3): Ignore prefix if it's empty
+refactor: Polish the implementation of webhdfs
+```
 
-It is encouraged to post your work progress in the issues comment so that the 
community can stay informed about ongoing developments and offer any necessary 
assistance.
+#### Reviews & Approvals
 
-It is possible that your assignment has been removed after 14 days of no 
updates. Please note that this is not a punishment or dissatisfaction from the 
community. We understand that life can be challenging, and things may not 
always go as planned.
+All pull requests should be reviewed by at least one OpenDAL committers.
 
-By removing the assignment, we create space for other community members to 
take over. Additionally, we do not frequently check the assignment due date, so 
please communicate any stale issues through the issue tracker.
+#### Merge Style
 
-## Sending PRs
+All pull requests are squashed and merged. We generally discourage large pull 
requests that are over 300-500 lines of diff. If you would like to propose a 
change that is larger we suggest coming onto our 
[Discussions](https://github.com/apache/incubator-opendal/discussions) and 
discuss it with us. This way we can talk through the solution and discuss if a 
change that large is even needed! This will produce a quicker response to the 
change and likely produce code that aligns better with our process.

Review Comment:
   The first sentence is no need. Contributor don't need to know. They may 
think they need to squash themselves.



##########
CONTRIBUTING.md:
##########
@@ -1,34 +1,70 @@
 # Contributing
 
-Hello, welcome to the OpenDAL Community! Thanks for your interest in the 
Apache OpenDAL project! This document will guide you on how to participate in 
our community and enjoy your time here. 
+First, thank you for contributing to OpenDAL! The goal of this document is to 
provide everything you need to start contributing to OpenDAL. The following TOC 
is sorted progressively, starting with the basics and expanding into more 
specifics.
 
-## Code of Conduct
+- [Your First Contribution](#your-first-contribution)
+- [Workflow](#workflow)
+  - [Git Branches](#git-branches)
+  - [GitHub Pull Requests](#github-pull-requests)
+    - [Title](#title)
+    - [Reviews & Approvals](#reviews--approvals)
+    - [Merge Style](#merge-style)
+    - [CI](#ci)
+- [Next steps](#next-steps)
+- [Code of Conduct](#code-of-conduct)
 
-We expect all community members to follow our [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct.html).
+## Your First Contribution
+
+1. Ensure your change has an issue! Find an [existing 
issue](https://github.com/apache/incubator-opendal/issues) or [open a new 
issue](https://github.com/apache/incubator-opendal/issues/new).
+1. [Fork the OpenDAL 
repository](https://github.com/apache/incubator-opendal/fork) in your own 
GitHub account.
+1. [Create a new Git 
branch](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository).
+1. Make your changes.
+1. [Submit the branch as a pull 
request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork)
 to the main OpenDAL repo. An OpenDAL team member should comment and/or review 
your pull request within a few days. Although, depending on the circumstances, 
it may take longer.
+
+## Workflow
+
+### Git Branches
+
+*All* changes must be made in a branch and submitted as [pull 
requests](#github-pull-requests). OpenDAL does not adopt any type of branch 
naming style, but please use something descriptive of your changes.
 
-## Communication
+### GitHub Pull Requests
 
-We use [GitHub 
Discussions](https://github.com/apache/incubator-opendal/discussions) for 
general discussions and questions. Please use the `Q&A` category for questions 
and the `General` category for general discussions.
+Once your changes are ready you must submit your branch as a [pull 
request](https://github.com/apache/incubator-opendal/pulls).
 
-We also use [GitHub 
Issues](https://github.com/apache/incubator-opendal/issues) for bug reports and 
feature requests.
+#### Title
 
-Otherwise, you can join our [Discord Channel](https://discord.gg/XQy8yGR2dg) 
for real-time discussions.
+The pull request title must follow the format outlined in the [conventional 
commits spec](https://www.conventionalcommits.org). [Conventional 
commits](https://www.conventionalcommits.org) is a standardized format for 
commit messages. OpenDAL only requires this format for commits on the `main` 
branch. And because OpenDAL squashes commits before merging branches, this 
means that only the pull request title must conform to this format.
 
-## Taking Issues
+The following are all good examples of pull request titles:
 
-It is highly recommended to request an assignment before beginning work on any 
issues to avoid conflicts with other community members.
+```text
+feat(services/gcs): Add start-after support for list
+docs: add hdfs classpath related troubleshoot
+ci: Mark job as skipped if owner is not apache
+fix(services/s3): Ignore prefix if it's empty
+refactor: Polish the implementation of webhdfs
+```
 
-It is encouraged to post your work progress in the issues comment so that the 
community can stay informed about ongoing developments and offer any necessary 
assistance.
+#### Reviews & Approvals
 
-It is possible that your assignment has been removed after 14 days of no 
updates. Please note that this is not a punishment or dissatisfaction from the 
community. We understand that life can be challenging, and things may not 
always go as planned.
+All pull requests should be reviewed by at least one OpenDAL committers.

Review Comment:
   ```suggestion
   All pull requests should be reviewed by at least one maintainer.
   ```
   



-- 
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