diff --git a/website/community/committers/committer.md b/website/community/committers/committer.md
index ab7313394568..52b1991d7ef5 100644
--- a/website/community/committers/committer.md
+++ b/website/community/committers/committer.md
@@ -5,7 +5,8 @@ sidebar_position: 3
This document primarily serves as a guide for new committers to OpenDAL.
-Upon receiving an invitation email from OpenDAL's PPMC, a new committer should consider whether to accept. If they decide in favor, they should select "Reply All" and express their decision.
+Upon receiving an invitation email from OpenDAL's PPMC, a new committer should consider whether accepting.
+If they decide in favor, they should select "Reply All" and express their decision.
## Submit CLA
@@ -13,7 +14,7 @@ Upon receiving an invitation email from OpenDAL's PPMC, a new committer should c
2. Complete the ICLA based on your particulars. Please note:
- The address field should be filled out accurately and in detail.
- You need to choose a unique ApacheID that hasn't been taken. Check https://people.apache.org/committer-index.html to see which IDs are still available.
-3. Sign document by hand or by electronic signature
+3. Sign the document by hand or by electronic signature
- Manually sign a printed copy, then scan it to produce a pdf.
- Digitally draw a signature on the document: [Detail Instruction](https://www.apache.org/licenses/cla-faq.html#printer).
- Sign the document using PGP: [Detail Instruction](https://www.apache.org/licenses/contributor-agreements.html#submitting).
@@ -23,7 +24,7 @@ After waiting for some time, you will receive an email notifying you that your C
## Setup ASF Account
-When receive an email with the subject "Welcome to the Apache Software Foundation" from root@apache.org, we can begin setting up ASF account.
+When receiving an email with the subject "Welcome to the Apache Software Foundation" from root@apache.org, we can begin setting up an ASF account.
### Setup LDAP Password
@@ -36,7 +37,7 @@ When receive an email with the subject "Welcome to the Apache Software Foundatio
2. Click "Authenticate with GitHub" and follow the given instructions to link your ASF account to GitHub.
3. Check your email titled "[GitHub] @asfgit has invited you to join the @apache organization" and accept the invitation.
4. Wait momentarily, and the website will refresh on its own.
-5. (If you not enable 2FA on GitHub) Please follow the [instruction](https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication).
+5. (If you do not enable 2FA on GitHub) Please follow the [instruction](https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication).
Your ApacheID and GitHub ID will now both appear on https://gitbox.apache.org/boxer/. Congrats on successfully linking your ASF account to GitHub!
@@ -67,7 +68,7 @@ Here's an illustration for Gmail users:
![Gmail Settings](gmail-smtp-setting.jpg)
-### Subscribe Mailing List
+### Subscribe to Mailing List
1. Send email to [dev-subscribe@opendal.apache.org](mailto:dev-subscribe@opendal.apache.org)
2. You will receive an email with the subject "confirm subscribe to dev@opendal.apache.org"
@@ -77,7 +78,7 @@ If you receive an email with the subject "WELCOME to dev@opendal.apache.org", yo
## Setup 1password
-OpenDAL offers a 1password open source team license for conducting local integration tests (Thanks to 1Password!). Once you have been added to OpenDAL's committer list, one of the PPMC members will invite you to join the team.
+OpenDAL offers a 1Password open-source team license for conducting local integration tests (Thanks to 1Password!). Once you have been added to OpenDAL's committer list, one of the PPMC members will invite you to join the team.
Please download your preferred clients to begin using it. Here are some important notes regarding the use of 1Password:
diff --git a/website/community/index.md b/website/community/index.md
index a01e685f6190..16167594736c 100644
--- a/website/community/index.md
+++ b/website/community/index.md
@@ -8,7 +8,7 @@ Every volunteer project obtains its strength from the people involved in it. We
You can:
-* Use our project and provide a feedback.
+* Use our project and provide feedback.
* Provide us with the use-cases.
* Report bugs and submit patches.
* Contribute code, documentation.
@@ -37,14 +37,14 @@ If you email us with a code snippet, make sure that:
* you do not link to files in external services as such files can change, get deleted or the link might break and thus make an archived email thread useless
* you paste text instead of screenshots of text
-* you keep formatting when pasting code in order to keep the code readable
+* you keep formatting when pasting code to keep the code readable
* there are enough import statements to avoid ambiguities
## Issue tracker
We use GitHub Issues to track all code related issues: https://github.com/apache/incubator-opendal/issues
-You must have a [GitHub account](https://github.com/signup) in order to log cases and issues.
+You must have a [GitHub account](https://github.com/signup) to log cases and issues.
### Bug reports
@@ -63,3 +63,10 @@ Enhancements or new feature proposals are also welcome. The more concrete and ra
## Source code
* OpenDAL core repository: https://github.com/apache/incubator-opendal
+
+## People
+The list below could be outdated. Please find the most up-to-date list [here](https://people.apache.org/phonebook.html?podling=opendal).
+
+import Committers from "../src/components/Committers"
+
+
diff --git a/website/community/security.md b/website/community/security.md
new file mode 100644
index 000000000000..a545dd5e6a48
--- /dev/null
+++ b/website/community/security.md
@@ -0,0 +1,17 @@
+---
+title: Security
+---
+
+# Security
+
+The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. Likewise, Apache OpenDAL is also vigilant and takes security issues related to its features and functionality into the highest consideration.
+
+If you have any concerns regarding OpenDAL's security,
+or you discover a vulnerability or potential threat,
+please do not hesitate to get in touch with the Apache Security Team by dropping an email at private@opendal.apache.org.
+
+Please specify the project name as "OpenDAL" in the email, and provide a description of the relevant problem or potential threat. You are also urged to recommend how to reproduce and replicate the issue.
+
+The Apache Security Team and the OpenDAL community will get back to you after assessing and analyzing the findings.
+
+Please note that the security issue should be reported on the security email first, before disclosing it on any public domain.
diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js
index 16d2e7e12f22..0152a65666c2 100644
--- a/website/docusaurus.config.js
+++ b/website/docusaurus.config.js
@@ -236,6 +236,11 @@ const config = {
darkTheme: darkCodeTheme,
additionalLanguages: ['rust', 'java', 'groovy'],
},
+ zoom: {
+ selector: '.markdown img',
+ background: 'rgba(255, 255, 255, 0.8)',
+ config: {}
+ }
}),
};
diff --git a/website/maturity.md b/website/maturity.md
new file mode 100644
index 000000000000..6d9d754ca463
--- /dev/null
+++ b/website/maturity.md
@@ -0,0 +1,82 @@
+# Maturity Assessment for Apache OpenDAL
+
+The goals of this maturity model are to describe how Apache projects operate in a concise and high-level way, and to provide a basic framework that projects may choose to use to evaluate themselves.
+
+More details can be found [here](https://community.apache.org/apache-way/apache-project-maturity-model.html).
+
+## Status of this assessment
+
+This assessment is still working in progress.
+
+## Maturity model assessment
+
+The following table is filled according to the [Apache Maturity Model](https://community.apache.org/apache-way/apache-project-maturity-model.html). Mentors and community members are welcome to comment and modify it.
+
+### CODE
+
+| **ID** | **Description** | **Status** |
+|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| **CD10** | The project produces Open Source software for distribution to the public, at no charge. | **YES** The project source code is licensed under the `Apache License 2.0`. |
+| **CD20** | Anyone can easily discover and access the project's code.. | **YES** The [official website](https://opendal.apache.org/) includes `GitHub` link which can access the project's repository on GitHub directly. |
+| **CD30** | Anyone using standard, widely-available tools, can build the code in a reproducible way. | **YES** Apache OpenDAL provide `how-to-build` document for every component to tell user how to compile on bare metal, such as the [core's](../core/CONTRIBUTING.md). |
+| **CD40** | The full history of the project's code is available via a source code control system, in a way that allows anyone to recreate any released version. | **YES** It depends on git, and anyone can view the full history of the project via commit logs. |
+| **CD50** | The source code control system establishes the provenance of each line of code in a reliable way, based on strong authentication of the committer. When third parties contribute code, commit messages provide reliable information about the code provenance. | **YES** The project uses GitHub and managed by Apache Infra, it ensuring provenance of each line of code to a committer. And the third-party contributions are accepted in accordance with the contributing guides. |
+
+### LICENSE
+
+| **ID** | **Description** | **Status** |
+|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| **LC10** | The Apache License, version 2.0, covers the released code. | **YES** The [LICENSE](https://github.com/apache/incubator-opendal/blob/main/LICENSE) is in GitHub repository. And all source files are with APLv2 header, checked by `korandoru/hawkeye@v3.6.0`. |
+| **LC20** | Libraries that are mandatory dependencies of the project's code do not create more restrictions than the Apache License does. | **No** Waiting for this [issue](https://github.com/apache/incubator-opendal/issues/3615) addressed. |
+| **LC30** | The libraries mentioned in LC20 are available as Open Source software. | **No** Waiting for this [issue](https://github.com/apache/incubator-opendal/issues/3615) addressed. |
+| **LC40** | Committers are bound by an Individual Contributor Agreement (the "Apache iCLA") that defines which code they may commit and how they need to identify code that is not their own. | **YES** All committers have iCLAs. |
+| **LC50** | The project clearly defines and documents the copyright ownership of everything that the project produces. | **YES** And all source files are with APLv2 header, checked by `korandoru/hawkeye@v3.6.0`. |
+
+### Releases
+
+| **ID** | **Description** | **Status** |
+|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| **RE10** | Releases consist of source code, distributed using standard and open archive formats that are expected to stay readable in the long term. | **YES** Source release is distributed via [dist.apache.org](https://dist.apache.org/repos/dist/release/incubator/opendal/) and linked from [download page](https://opendal.apache.org/download/). |
+| **RE20** | The project's PPMC (Project Management Committee, see CS10) approves each software release in order to make the release an act of the Foundation. | **YES** All releases have been voted at dev@opendal.apache.org and general@incubator.apache.org, and have at least 3 PPMC member's votes. |
+| **RE30** | Releases are signed and/or distributed along with digests that anyone can reliably use to validate the downloaded archives. | **YES** All releases are signed, and the [KEYS](https://dist.apache.org/repos/dist/release/incubator/opendal/KEYS) are available. |
+| **RE40** | The project can distribute convenience binaries alongside source code, but they are not Apache Releases, they are provided with no guarantee. | **YES** User can easily build binaries from source code, and we do not provide binaries as Apache Releases. |
+| **RE50** | The project documents a repeatable release process so that someone new to the project can independently generate the complete set of artifacts required for a release. | **YES** We can follow the [Release guide](https://opendal.apache.org/community/committers/release) to make a new Apache OpenDAL release, and so far we had 6 different release managers. |
+
+### Quality
+
+| **ID** | **Description** | **Status** |
+|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| **QU10** | The project is open and honest about the quality of its code. Various levels of quality and maturity for various modules are natural and acceptable as long as they are clearly communicated. | **YES** We encourage user to [report issues](https://github.com/apache/incubator-opendal/issues). |
+| **QU20** | The project puts a very high priority on producing secure software. | **YES** All security issues will be addressed within 3 days. |
+| **QU30** | The project provides a well-documented, secure and private channel to report security issues, along with a documented way of responding to them. | **Yes** The official website provides a [security page](https://opendal.apache.org/community/security) |
+| **QU40** | The project puts a high priority on backwards compatibility and aims to document any incompatible changes and provide tools and documentation to help users transition to new features. | **Yes** We follow semantic versions. As long as it's within one major version, it's backward compatible. And when any breaking changes added, we provide corresponding upgrade guides. |
+| **QU50** | The project strives to respond to documented bug reports in a timely manner. | **YES** The project has resolved 1000+ issues and 2300+ pull requests so far, with very prompt response. |
+
+### Community
+
+| **ID** | **Description** | **Status** |
+|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| **CO10** | The project has a well-known homepage that points to all the information required to operate according to this maturity model. | **YES** The [official website](https://opendal.apache.org/) includes all information user need to run Apache OpenDAL. |
+| **CO20** | The community welcomes contributions from anyone who acts in good faith and in a respectful manner, and who adds value to the project. | **Yes** We provide contributing guides for every component. And we also have a [general contributing guide](../CONTRIBUTING.md) |
+| **CO30** | Contributions include source code, documentation, constructive bug reports, constructive discussions, marketing and generally anything that adds value to the project. | **YES** All good contributions including code and non-code are welcomed. |
+| **CO40** | The community strives to be meritocratic and gives more rights and responsibilities to contributors who, over time, add value to the project. | **YES** The community has elected 2 new PPMC members and 7 new committers so far. |
+| **CO50** | The project documents how contributors can earn more rights such as commit access or decision power, and applies these principles consistently. | **No** Waiting for this [issue](https://github.com/apache/incubator-opendal/issues/3705) addressed. |
+| **CO60** | The community operates based on consensus of its members (see CS10) who have decision power. Dictators, benevolent or not, are not welcome in Apache projects. | **YES** All decisions are made after vote by community members. |
+| **CO70** | The project strives to answer user questions in a timely manner. | **YES** We use dev@opendal.apache.org, [GitHub issue](https://github.com/apache/incubator-opendal/issues) and [GitHub discussion](https://github.com/apache/incubator-opendal/discussions) to do this in a timely manner. |
+
+### Consensus
+
+| **ID** | **Description** | **Status** |
+|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|
+| **CS10** | The project maintains a public list of its contributors who have decision power. The project's PPMC (Project Management Committee) consists of those contributors. | **Yes** See [members](https://opendal.apache.org/community/#people) with all PPMC members and committers. |
+| **CS20** | Decisions require a consensus among PPMC members and are documented on the project's main communications channel. The PPMC takes community opinions into account, but the PPMC has the final word. | **YES** All decisions are made by votes on dev@opendal.apache.org, and with at least 3 +1 votes from PPMC. |
+| **CS30** | The project uses documented voting rules to build consensus when discussion is not sufficient. | **YES** The project uses the standard ASF voting rules. |
+| **CS40** | In Apache projects, vetoes are only valid for code commits. The person exercising the veto must justify it with a technical explanation, as per the Apache voting rules defined in CS30. | **YES** Apache OpenDAL community has not used the veto power yet except for code commits. |
+| **CS50** | All "important" discussions happen asynchronously in written form on the project's main communications channel. Offline, face-to-face or private discussions that affect the project are also documented on that channel. | **YES** All important discussions and conclusions are recorded in written form. |
+
+### Independence
+
+| **ID** | **Description** | **Status** |
+|----------|------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| **IN10** | The project is independent from any corporate or organizational influence. | **YES** The PPMC members and committer of Apache OpenDAL are from several different companies, and majority of them are NOT From the company that donated this project. |
+| **IN20** | Contributors act as themselves, not as representatives of a corporation or organization. | **YES** The contributors act on their own initiative without representing a corporation or organization. |
diff --git a/website/src/components/committers/index.jsx b/website/src/components/committers/index.jsx
new file mode 100644
index 000000000000..3f48eeebd324
--- /dev/null
+++ b/website/src/components/committers/index.jsx
@@ -0,0 +1,53 @@
+import React from 'react'
+import styles from './index.module.css'
+
+// Sorted by apacheId
+const committers = [
+ { githubId: 'ClSlaid', apacheId: 'cailue', name: 'Cai Lue', inPPMC: true },
+ { githubId: 'Young-Flash', apacheId: 'dongyang', name: 'Dongyang Zheng', inPPMC: false },
+ { githubId: 'G-XD', apacheId: 'gxd', name: 'Xiangdong', inPPMC: false },
+ { githubId: 'Hexiaoqiao', apacheId: 'hexiaoqiao', name: 'Xiaoqiao He', inPPMC: true },
+ { githubId: 'oowl', apacheId: 'junouyang', name: 'Jun Ouyang', inPPMC: false },
+ { githubId: 'dqhl76', apacheId: 'liuqingyue', name: 'Liuqing Yue', inPPMC: false },
+ { githubId: 'Zheaoli', apacheId: 'manjusaka', name: 'Zheao Li', inPPMC: false },
+ { githubId: 'messense', apacheId: 'messense', name: 'Lusheng Lyu', inPPMC: false },
+ { githubId: 'morristai', apacheId: 'morristai', name: 'Morris Tai', inPPMC: false },
+ { githubId: 'WillemJiang', apacheId: 'ningjiang', name: 'Willem Ning Jiang', inPPMC: true },
+ { githubId: 'PsiACE', apacheId: 'psiace', name: 'Chojan Shang', inPPMC: true },
+ { githubId: 'silver-ymz', apacheId: 'silver', name: 'Mingzhuo Yin', inPPMC: true },
+ { githubId: 'sundy-li', apacheId: 'sundyli', name: 'Sundy Li', inPPMC: true },
+ { githubId: 'suyanhanx', apacheId: 'suyanhanx', name: 'Han Xu', inPPMC: true },
+ { githubId: 'tedliu1', apacheId: 'tedliu', name: 'Ted Liu', inPPMC: true },
+ { githubId: 'tisonkun', apacheId: 'tison', name: 'Zili Chen', inPPMC: true },
+ { githubId: 'wu-sheng', apacheId: 'wusheng', name: 'Sheng Wu', inPPMC: true },
+ { githubId: 'Xuanwo', apacheId: 'xuanwo', name: 'Hao Ding', inPPMC: true },
+ { githubId: 'Ji-Xinyou', apacheId: 'xyji', name: 'Xinyou Ji', inPPMC: false }
+]
+
+export default function Committers() {
+ return <>
+
+
+
+ Avatar |
+ Name |
+ Apache ID |
+ GitHub ID |
+
+
+
+ {committers
+ .sort((c0, c1) => c0.apacheId.localeCompare(c1.apacheId))
+ .map(v => (
+
+ |
+ {v.inPPMC ? {v.name} : v.name} |
+ {v.apacheId} |
+ {v.githubId} |
+
+ ))}
+
+
+ >
+}
diff --git a/website/src/components/committers/index.module.css b/website/src/components/committers/index.module.css
new file mode 100644
index 000000000000..80d8890edcc5
--- /dev/null
+++ b/website/src/components/committers/index.module.css
@@ -0,0 +1,4 @@
+.contributorAvatar {
+ width: 50px;
+ border-radius: 50%;
+}