You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by "Xuanwo (via GitHub)" <gi...@apache.org> on 2023/04/29 16:46:48 UTC

[GitHub] [incubator-opendal] Xuanwo opened a new pull request, #2169: docs: Refactor `Contributing` and add `Developing`

Xuanwo opened a new pull request, #2169:
URL: https://github.com/apache/incubator-opendal/pull/2169

   This PR will refactor Contributing and add Developing for a start.


-- 
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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-opendal] suyanhanx commented on a diff in pull request #2169: docs: Refactor `Contributing` and add `Developing`

Posted by "suyanhanx (via GitHub)" <gi...@apache.org>.
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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-opendal] Xuanwo commented on a diff in pull request #2169: docs: Refactor `Contributing` and add `Developing`

Posted by "Xuanwo (via GitHub)" <gi...@apache.org>.
Xuanwo commented on code in PR #2169:
URL: https://github.com/apache/incubator-opendal/pull/2169#discussion_r1181104793


##########
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:
   No. Committers != 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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-opendal] Xuanwo commented on a diff in pull request #2169: docs: Refactor `Contributing` and add `Developing`

Posted by "Xuanwo (via GitHub)" <gi...@apache.org>.
Xuanwo commented on code in PR #2169:
URL: https://github.com/apache/incubator-opendal/pull/2169#discussion_r1181104779


##########
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:
   No, they should to know. So that they don't need to squash by themselves.



-- 
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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-opendal] Xuanwo commented on a diff in pull request #2169: docs: Refactor `Contributing` and add `Developing`

Posted by "Xuanwo (via GitHub)" <gi...@apache.org>.
Xuanwo commented on code in PR #2169:
URL: https://github.com/apache/incubator-opendal/pull/2169#discussion_r1181104641


##########
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:
   Not on `READMD.md`, we should show them in corresbonding components instead.



-- 
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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-opendal] Xuanwo commented on a diff in pull request #2169: docs: Refactor `Contributing` and add `Developing`

Posted by "Xuanwo (via GitHub)" <gi...@apache.org>.
Xuanwo commented on code in PR #2169:
URL: https://github.com/apache/incubator-opendal/pull/2169#discussion_r1181104719


##########
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:
   DONE.



-- 
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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-opendal] Xuanwo commented on a diff in pull request #2169: docs: Refactor `Contributing` and add `Developing`

Posted by "Xuanwo (via GitHub)" <gi...@apache.org>.
Xuanwo commented on code in PR #2169:
URL: https://github.com/apache/incubator-opendal/pull/2169#discussion_r1181104570


##########
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:
   Fixed.



-- 
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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-opendal] suyanhanx commented on a diff in pull request #2169: docs: Refactor `Contributing` and add `Developing`

Posted by "suyanhanx (via GitHub)" <gi...@apache.org>.
suyanhanx commented on code in PR #2169:
URL: https://github.com/apache/incubator-opendal/pull/2169#discussion_r1181157627


##########
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:
   Not everyone understands the role of ASF. The `maintainer` is more accessible. 🤔 
   
   But the committer does fit better.



-- 
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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-opendal] suyanhanx commented on a diff in pull request #2169: docs: Refactor `Contributing` and add `Developing`

Posted by "suyanhanx (via GitHub)" <gi...@apache.org>.
suyanhanx commented on code in PR #2169:
URL: https://github.com/apache/incubator-opendal/pull/2169#discussion_r1181157099


##########
CONTRIBUTING.md:
##########
@@ -1,34 +1,66 @@
 # 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
 
-## Communication
+*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.
 
-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.
+### GitHub Pull Requests
 
-We also use [GitHub Issues](https://github.com/apache/incubator-opendal/issues) for bug reports and feature requests.
+Once your changes are ready you must submit your branch as a [pull request](https://github.com/apache/incubator-opendal/pulls).
 
-Otherwise, you can join our [Discord Channel](https://discord.gg/XQy8yGR2dg) for real-time discussions.
+#### Title
 
-## Taking Issues
+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.
 
-It is highly recommended to request an assignment before beginning work on any issues to avoid conflicts with other community members.
+The following are all good examples of pull request titles:
 
-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.
+```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 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.
+#### Reviews & Approvals
 
-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.
+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 OpenDAL committer.
   ```



##########
DEVELOPING.md:
##########
@@ -0,0 +1,19 @@
+# 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.

Review Comment:
   ```suggestion
   OpenDAL provides a pre-configured [dev container](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.
   ```



##########
CONTRIBUTING.md:
##########
@@ -1,34 +1,66 @@
 # 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
 
-## Communication
+*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.
 
-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.
+### GitHub Pull Requests
 
-We also use [GitHub Issues](https://github.com/apache/incubator-opendal/issues) for bug reports and feature requests.
+Once your changes are ready you must submit your branch as a [pull request](https://github.com/apache/incubator-opendal/pulls).
 
-Otherwise, you can join our [Discord Channel](https://discord.gg/XQy8yGR2dg) for real-time discussions.
+#### Title
 
-## Taking Issues
+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.
 
-It is highly recommended to request an assignment before beginning work on any issues to avoid conflicts with other community members.
+The following are all good examples of pull request titles:
 
-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.
+```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 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.
+#### Reviews & Approvals
 
-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.
+All pull requests should be reviewed by at least one OpenDAL committers.
 
-## Sending PRs
+#### Merge Style
 
-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.
+All pull requests are squash 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.
 
-We will try our best to review your PRs within 24 hours, and often within 8 hours.
+### CI
 
-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`.
+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.

Review Comment:
   ```suggestion
   Visiting **[DEVELOPING.md](DEVELOPING.md)** to prepare everything necessary to develop.
   ```



##########
CONTRIBUTING.md:
##########
@@ -1,34 +1,66 @@
 # 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
 
-## Communication
+*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.
 
-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.
+### GitHub Pull Requests
 
-We also use [GitHub Issues](https://github.com/apache/incubator-opendal/issues) for bug reports and feature requests.
+Once your changes are ready you must submit your branch as a [pull request](https://github.com/apache/incubator-opendal/pulls).
 
-Otherwise, you can join our [Discord Channel](https://discord.gg/XQy8yGR2dg) for real-time discussions.
+#### Title
 
-## Taking Issues
+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.
 
-It is highly recommended to request an assignment before beginning work on any issues to avoid conflicts with other community members.
+The following are all good examples of pull request titles:
 
-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.
+```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 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.
+#### Reviews & Approvals
 
-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.
+All pull requests should be reviewed by at least one OpenDAL committers.
 
-## Sending PRs
+#### Merge Style
 
-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.
+All pull requests are squash 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.
 
-We will try our best to review your PRs within 24 hours, and often within 8 hours.
+### CI
 
-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`.
+Currently, Vector uses GitHub Actions to run tests. The workflows are defined in `.github/workflows`.

Review Comment:
   ```suggestion
   Currently, OpenDAL uses GitHub Actions to run tests. The workflows are defined in `.github/workflows`.
   ```



##########
DEVELOPING.md:
##########
@@ -0,0 +1,19 @@
+# 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!

Review Comment:
   ```suggestion
   For small or first-time contributions, we recommend the dev container method. Prefer to do it yourself? That's fine too!
   ```



-- 
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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-opendal] Xuanwo commented on a diff in pull request #2169: docs: Refactor `Contributing` and add `Developing`

Posted by "Xuanwo (via GitHub)" <gi...@apache.org>.
Xuanwo commented on code in PR #2169:
URL: https://github.com/apache/incubator-opendal/pull/2169#discussion_r1181104486


##########
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:
   Doesn't matter.



-- 
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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-opendal] suyanhanx commented on a diff in pull request #2169: docs: Refactor `Contributing` and add `Developing`

Posted by "suyanhanx (via GitHub)" <gi...@apache.org>.
suyanhanx commented on code in PR #2169:
URL: https://github.com/apache/incubator-opendal/pull/2169#discussion_r1181157627


##########
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:
   Not everyone understands the role of ASF. The `maintainer` is more accessible. 🤔 



-- 
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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-opendal] Xuanwo commented on a diff in pull request #2169: docs: Refactor `Contributing` and add `Developing`

Posted by "Xuanwo (via GitHub)" <gi...@apache.org>.
Xuanwo commented on code in PR #2169:
URL: https://github.com/apache/incubator-opendal/pull/2169#discussion_r1181104506


##########
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:
   Could polish later.



-- 
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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-opendal] Xuanwo merged pull request #2169: docs: Refactor `Contributing` and add `Developing`

Posted by "Xuanwo (via GitHub)" <gi...@apache.org>.
Xuanwo merged PR #2169:
URL: https://github.com/apache/incubator-opendal/pull/2169


-- 
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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org