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

zfc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 77e39b2f7 site: reorg display and add more community pages.
77e39b2f7 is described below

commit 77e39b2f7bf0abeafaac2ce4603490268d87c29c
Author: Zhaofeng Chen <[email protected]>
AuthorDate: Fri Jul 18 03:48:22 2025 +0000

    site: reorg display and add more community pages.
---
 .gitignore                          |  4 +-
 site/Makefile                       | 12 +++--
 site/docusaurus.config.js           | 19 +++++---
 site/sidebars.js                    |  8 +++-
 site/src/pages/becoming-a-member.md | 61 +++++++++++++++++++++++++
 site/src/pages/contributors.md      |  3 +-
 site/src/pages/index.js             |  2 +-
 site/src/pages/maturity.md          | 90 +++++++++++++++++++++++++++++++++++++
 8 files changed, 183 insertions(+), 16 deletions(-)

diff --git a/.gitignore b/.gitignore
index ae5975ffa..97cb6630f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,4 +5,6 @@ teaclave-trustzone-sdk
 node_modules
 target
 sgx-sdk-docs/Cargo.lock
-.docusaurus
\ No newline at end of file
+.docusaurus
+Cargo.lock
+docs
\ No newline at end of file
diff --git a/site/Makefile b/site/Makefile
index 6a902684d..e28cef307 100644
--- a/site/Makefile
+++ b/site/Makefile
@@ -7,19 +7,22 @@ site: build
        ghp-import --no-history --force build -b asf-site
 
 init-repo:
-       git clone https://github.com/apache/incubator-teaclave.git 
docs/teaclave --depth 1
+       git clone -b main https://github.com/apache/incubator-teaclave.git 
docs/teaclave-docs --depth 1
+       git clone -b legacy https://github.com/apache/incubator-teaclave.git 
docs/teaclave-faas-legacy --depth 1
+
        # v2.0.0-preview branch does not have documents folder, we use master 
branch instead
        git clone -b master 
https://github.com/apache/incubator-teaclave-sgx-sdk.git docs/teaclave-sgx-sdk 
--depth 1
        git clone 
https://github.com/apache/incubator-teaclave-trustzone-sdk.git 
docs/teaclave-trustzone-sdk --depth 1
 
 check-repo:
-       @if [ ! -d "docs/teaclave" ] || [ ! -d "docs/teaclave-sgx-sdk" ] || [ ! 
-d "docs/teaclave-trustzone-sdk" ]; then \
+       @if [ ! -d "docs/teaclave-docs" ] || [ ! -d "docs/teaclave-faas-legacy" 
] || [ ! -d "docs/teaclave-sgx-sdk" ] || [ ! -d "docs/teaclave-trustzone-sdk" 
]; then \
                echo "Repositories not found. Running init-repo..."; \
                $(MAKE) init-repo; \
        fi
 
 update-repo: check-repo
-       cd docs/teaclave && git pull --depth 1
+       cd docs/teaclave-docs && git pull --depth 1
+       cd docs/teaclave-faas-legacy && git pull --depth 1
        cd docs/teaclave-sgx-sdk && git pull --depth 1
        cd docs/teaclave-trustzone-sdk && git pull --depth 1 --rebase
 
@@ -48,7 +51,8 @@ build: sgx-sdk-api-docs trustzone-sdk-api-docs
        find build -name '*.lock' -exec chmod 655 {} \;
 
 clean-repo:
-       rm -rf docs/teaclave
+       rm -rf docs/teaclave-docs
+       rm -rf docs/teaclave-faas-legacy
        rm -rf docs/teaclave-sgx-sdk
        rm -rf docs/teaclave-trustzone-sdk
 
diff --git a/site/docusaurus.config.js b/site/docusaurus.config.js
index 2d4d57eb6..1571f1407 100644
--- a/site/docusaurus.config.js
+++ b/site/docusaurus.config.js
@@ -81,12 +81,14 @@ const config = {
             '*.md',
             'api-docs/*.md',
             'blog/*.md',
-            'teaclave/**/*.md',
+            'teaclave-docs/**/*.md',
+            'teaclave-faas-legacy/**/*.md',
             'teaclave-sgx-sdk/documents/*.md',
-            'teaclave-trustzone-sdk/docs'
+            'teaclave-trustzone-sdk/docs/*.md',
           ],
           exclude: [
             'teaclave/sdk/rust/target/*',
+            'teaclave-faas-legacy/target/*',
             'teaclave-trustzone-sdk/optee-utee/target/*',
             'teaclave-trustzone-sdk/optee-teec/target/*',
           ]
@@ -139,6 +141,8 @@ const config = {
             items: [
               { label: 'Contributing', to: '/contributing' },
               { label: 'Contributors', to: '/contributors' },
+              { label: 'Becoming a Member', to: '/becoming-a-member' },
+              { label: 'Maturity Assessment', to: '/maturity' },
             ],
             position: 'right',
           },
@@ -147,12 +151,13 @@ const config = {
             to: '/docs',
             label: 'Docs',
             items: [
-              { label: 'Teaclave', to: '/docs/' },
-              { label: 'Teaclave SGX SDK', to: '/sgx-sdk-docs/' },
+              { label: 'Teaclave', to: '/teaclave-docs/' },
               { label: 'Teaclave TrustZone SDK', to: '/trustzone-sdk-docs/' },
-              { label: 'Teaclave SGX SDK', href: 
'https://teaclave.apache.org/api-docs/sgx-sdk/', target: '_self', rel: '' },
-              { label: 'Teaclave TrustZone SDK (Host)', href: 
'https://teaclave.apache.org/api-docs/trustzone-sdk/optee-teec', target: 
'_self', rel: '' },
-              { label: 'Teaclave TrustZone SDK (TA)', href: 
'https://teaclave.apache.org/api-docs/trustzone-sdk/optee-utee', target: 
'_self', rel: '' },
+              { label: 'API Docs: Teaclave TrustZone SDK (Host)', href: 
'https://teaclave.apache.org/api-docs/trustzone-sdk/optee_teec', target: 
'_self', rel: '' },
+              { label: 'API Docs: Teaclave TrustZone SDK (TA)', href: 
'https://teaclave.apache.org/api-docs/trustzone-sdk/optee_utee', target: 
'_self', rel: '' },
+              { label: 'Teaclave SGX SDK', to: '/sgx-sdk-docs/' },
+              { label: 'API Docs: Teaclave SGX SDK', href: 
'https://teaclave.apache.org/api-docs/sgx-sdk/', target: '_self', rel: '' },
+              { label: 'Teaclave FaaS (legacy)', to: '/docs/' },
             ],
             position: 'right',
           },
diff --git a/site/sidebars.js b/site/sidebars.js
index 185a920f5..c1ed42c99 100644
--- a/site/sidebars.js
+++ b/site/sidebars.js
@@ -75,9 +75,9 @@ function sidebarItemFromTOCItem(item, relpath) {
 }
 
 const repos = {
-  'teaclave': parseTOC(fs.readFileSync('./docs/teaclave/docs/README.md', 
'utf-8')).map(i => [
+  'teaclave': parseTOC(fs.readFileSync('./docs/teaclave-docs/website-toc.md', 
'utf-8')).map(i => [
     i.title,
-    i.items.map(item => sidebarItemFromTOCItem(item, 
'teaclave/docs')).filter(Boolean)
+    i.items.map(item => sidebarItemFromTOCItem(item, 
'teaclave-docs')).filter(Boolean)
   ]),
   'teaclave-sgx-sdk': 
parseTOC(fs.readFileSync('./docs/teaclave-sgx-sdk/documents/README.md', 
'utf-8')).map(i => [
     i.title,
@@ -87,6 +87,10 @@ const repos = {
     i.title,
     i.items.map(item => sidebarItemFromTOCItem(item, 
'teaclave-trustzone-sdk/docs')).filter(Boolean)
   ]),
+  'teaclave-faas-legacy': 
parseTOC(fs.readFileSync('./docs/teaclave-faas-legacy/docs/README.md', 
'utf-8')).map(i => [
+    i.title,
+    i.items.map(item => sidebarItemFromTOCItem(item, 
'teaclave-faas-legacy/docs')).filter(Boolean)
+  ]),
 };
 
 const sidebars = Object.fromEntries(
diff --git a/site/src/pages/becoming-a-member.md 
b/site/src/pages/becoming-a-member.md
new file mode 100644
index 000000000..54e7acfe8
--- /dev/null
+++ b/site/src/pages/becoming-a-member.md
@@ -0,0 +1,61 @@
+---
+permalink: /becoming-a-member
+sidebar: false
+---
+
+# Becoming a Committer or PPMC Member of Apache Teaclave
+
+Apache Teaclave is an open and inclusive community that welcomes all forms of 
+contributions—from code and documentation to design discussions and community 
+support. We follow the Apache Way and recognize sustained and meaningful 
+contributions with committership or PPMC membership. These roles reflect 
trust, 
+responsibility, and a deeper commitment to the project's long-term success.
+
+---
+
+## Become a Committer of Apache Teaclave
+
+Anyone actively supporting the Teaclave community across any CoPDoC area, 
+**Community, Project, Documentation, and Code**, can become a committer. The 
+CoPDoC model recognizes diverse contributions beyond just code.
+
+Teaclave operates as a meritocracy. Consistent, high-quality contributions and 
+positive community engagement make you a strong candidate for committership. 
+Becoming a committer means you are trusted with the project's direction and 
+growth, not just commit access.
+
+**What we look for in a Committer:**
+- **Consistent contributions** over time in any form (code, documentation, 
+  design discussions, issue triage, etc.).
+- **Technical quality**: Clean, tested code or clear, user-oriented 
+  documentation.
+- **Community spirit**: Respectful collaboration, mentoring, and participation 
+  in discussions.
+- **Typical engagement levels**:
+  - ~3 months of light activity  
+  - ~2 months of medium activity  
+  - ~1 month of solid activity
+
+---
+
+## Become a PPMC Member of Apache Teaclave
+
+Project Management Committee (PMC) members help guide the project's vision and 
+governance. PPMC members are usually experienced committers who've shown 
+leadership, deep engagement, and a long-term commitment to Teaclave. We value 
+contributions across CoPDoC areas, with an emphasis on community maturity and 
+project stewardship.
+
+**What we look for in a PPMC Member:**
+- **Sustained contributions** and active presence (e.g., roadmap discussions, 
+  mentoring, organizing releases).
+- **Strong understanding** of the project's goals and governance.
+- **Community leadership**: Active on mailing lists, respectful in 
+  collaboration, and helping shape the project direction.
+- **Typical engagement levels**:
+  - ~5 months of light activity  
+  - ~4 months of medium activity  
+  - ~3 months of solid activity
+
+Both roles are voted on by the current PPMC and reflect the Apache Way: 
+**merit, transparency, and community-driven growth**.
diff --git a/site/src/pages/contributors.md b/site/src/pages/contributors.md
index 9acadbd68..80c3673f2 100644
--- a/site/src/pages/contributors.md
+++ b/site/src/pages/contributors.md
@@ -26,6 +26,7 @@ following mentors.
 | Gordon King   | garyw       | 
[bigdata-memory](https://github.com/bigdata-memory) |
 | Matt Sicker   | mattsicker  | jvz                                            
     |
 | Zhijie Shen   | zjshen      | zjshen14                                       
     |
+| Xuanwo        | xuanwo      | xuanwo                                         
     |
 
 ## Podling Project Management Committee
 
@@ -47,7 +48,7 @@ oversight of Teaclave.
 | Yu Ding         | dingelish       | 
[dingelish](https://github.com/dingelish)           | `sgx-sdk`           |
 | Yuan Zhuang     | yuanz           | 
[DemesneGH](https://github.com/DemesneGH)           | `trustzone-sdk`     |
 | Yulong Zhang    | yulongzhang     | 
[yulongzhang](https://github.com/yulongzhang)       | -                   |
-| Zhaofeng Chen   | zfc             | 
[m4sterchain](https://github.com/m4sterchain)       | -                   |
+| Zhaofeng Chen   | zfc             | 
[m4sterchain](https://github.com/m4sterchain)       | `all`               |
 
 
 ## Committers
diff --git a/site/src/pages/index.js b/site/src/pages/index.js
index be675e2bc..0e412fef0 100644
--- a/site/src/pages/index.js
+++ b/site/src/pages/index.js
@@ -19,7 +19,7 @@ function HomepageHeader() {
         <div className={styles.buttons}>
           <Link
             className="button button--secondary button--lg"
-            to="/docs/my-first-function/">
+            to="/teaclave-docs/">
             GET STARTED →
           </Link>
         </div>
diff --git a/site/src/pages/maturity.md b/site/src/pages/maturity.md
new file mode 100644
index 000000000..63e07aafc
--- /dev/null
+++ b/site/src/pages/maturity.md
@@ -0,0 +1,90 @@
+---
+permalink: /maturity
+sidebar: false
+---
+
+# Maturity Assessment For The Teaclave Ecosystem
+
+This is a maturity assessment of Apache Teaclave based on the ASF project 
+[maturity 
model](https://community.apache.org/apache-way/apache-project-maturity-model.html).
+
+It is used to evaluate the overall maturity for the project and the codebase 
+it remains. It is also presented here to assist in the decision by the 
mentors, 
+community, Incubator PMC, and ASF Board of Directors on Teaclave's graduation 
+to a top-level Apache project.
+
+## Status of this Document
+The project has been filled out by the PPMC members of Apache Teaclave and 
+welcomes any updates if necessary.
+
+## Maturity Model Assessment
+
+### Code Development (CD)
+
+| ID | Description | Status |
+|----|-------------|--------|
+| CD10 | The project produces Open Source software for distribution to the 
public, at no charge. | **YES** The project's 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://teaclave.incubator.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** We have `How to Build` files in `/docs` to guide 
users on how to setup the build environment and build the source code. |
+| 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** The project uses `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 is 
managed by Apache Infra, ensuring provenance of each line of code to a 
committer. Third-party contributions follow the contributing guidelines. |
+
+### Licenses and Copyright (LC)
+
+| ID | Description | Status |
+|----|-------------|--------|
+| LC10 | The Apache License, version 2.0, covers the released code. | **YES** 
The LICENSE is in GitHub repository. All source files are checked with CI to 
ensure no missing LICENSE. |
+| LC20 | Libraries that are mandatory dependencies of the project's code do 
not create more restrictions than the Apache License does. | **YES** All 
dependencies are listed. |
+| LC30 | The libraries mentioned in LC20 are available as Open Source 
software. | **YES** All dependencies listed are available as Open Source 
software. |
+| 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** All source files include an 
APLv2 header. |
+
+### Releases (RE)
+
+| 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 releases are distributed via dist.apache.org and linked from the 
download page. |
+| RE20 | The project's PMC (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 `[email protected]` and 
`[email protected]`, 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://downloads.apache.org/incubator/teaclave/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** Convenience binaries are distributed via dist.apache.org. |
+| 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 document the Release Guide that the 
community can follow to make a new Apache Teaclave release. |
+
+### Quality (QU)
+
+| 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 users to 
[report 
issues](https://teaclave.incubator.apache.org/contributing/#bug-reports). |
+| QU20 | The project puts a very high priority on producing secure software. | 
**YES** All security-related issues are handled with high priority. |
+| 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 GitHub project page provides a security page. |
+| 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 try our best to follow 
backwards compatibility. If there is an incompatible API change, we provide a 
migration guide. |
+| QU50 | The project strives to respond to documented bug reports in a timely 
manner. | **YES** The project has resolved 400+ issues and 800+ pull requests 
so far, with very prompt responses. |
+
+### Community (CO)
+
+| 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://teaclave.apache.org/) includes all information users 
need to run the project. |
+| 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** 
The community welcomes and respects contributions in different aspects of the 
project. |
+| CO30 | Contributions include source code, documentation, constructive bug 
reports, constructive discussions, marketing and generally anything that adds 
value to the project. | **YES** We detail various contributing methods in our 
[contributing](https://teaclave.apache.org/contributing/) doc. |
+| CO40 | The community strives to be meritocratic and gives more rights and 
responsibilities to contributors who, over time, add value to the project. | 
**YES** Based on meritocracy, the community has elected 8 new committers during 
incubation. |
+| CO50 | The project documents how contributors can earn more rights such as 
commit access or decision power, and applies these principles consistently. | 
**YES** The community has clear docs on nominating committers and PPMC members. 
|
+| 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** Teaclave community operates based on consensus. All 
discussions and votes are transparent in the mailing list. |
+| CO70 | The project strives to answer user questions in a timely manner. | 
**YES** Teaclave community prioritizes user support by promptly addressing 
questions through mailing lists and GitHub issues. |
+
+### Consensus Building (CS)
+
+| ID | Description | Status |
+|----|-------------|--------|
+| CS10 | The project maintains a public list of its contributors who have 
decision power. The project's PMC (Project Management Committee) consists of 
those contributors. | **YES** The 
[website](https://teaclave.apache.org/contributors) contains a full list of 
committers and PPMC members. |
+| CS20 | Decisions require a consensus among PMC members and are documented on 
the project's main communications channel. The PMC takes community opinions 
into account, but the PMC has the final word. | **YES** Teaclave community has 
been making important decisions and discussions on the dev mailing list. |
+| CS30 | The project uses documented voting rules to build consensus when 
discussion is not sufficient. | **YES** The project uses the standard ASF 
voting rules. Voting rules are clearly stated before each vote. |
+| 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** Vetoes are only permitted 
during code review and must be based strictly on technical or code quality 
considerations. |
+| 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** Teaclave community has been making every important decision on mailing 
lists. |
+
+### Independence (IN)
+
+| ID | Description | Status |
+|----|-------------|--------|
+| IN10 | The project is independent from any corporate or organizational 
influence. | **YES** The Teaclave project maintains complete independence from 
corporate or organizational influence, with individual contributors shaping the 
community solely through transparent contributions. |
+| IN20 | Contributors act as themselves, not as representatives of a 
corporation or organization. | **YES** The committers and contributors act 
independently on their own initiative. |
+


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to