+
+
+
+
\ No newline at end of file
diff --git a/cn/contribution-guidelines/contribute/index.html b/cn/contribution-guidelines/contribute/index.html
new file mode 100644
index 000000000..cd28c0625
--- /dev/null
+++ b/cn/contribution-guidelines/contribute/index.html
@@ -0,0 +1,67 @@
+如何参与 HugeGraph 社区 | HugeGraph
+
TODO: translate this article to Chinese
Thanks for taking the time to contribute! As an open source project, HugeGraph is looking forward to be contributed from everyone, and we are also grateful to all the contributors.
The following is a contribution guide for HugeGraph:
1. Preparation
We can contribute by reporting issues, submitting code patches or any other feedback.
Before submitting the code, we need to do some preparation:
# clone code from remote to local repo
+git clone https://github.com/${GITHUB_USER_NAME}/hugegraph
+
Configure local HugeGraph repo
cd hugegraph
+
+# add upstream to synchronize the latest code
+git remote add hugegraph https://github.com/hugegraph/hugegraph
+
+# set name and email to push code to github
+git config user.name "{full-name}"# like "Jermy Li"
+git config user.email "{email-address-of-github}"# like "jermy@apache.org"
+
Optional: You can use GitHub desktop to greatly simplify the commit and update process.
2. Create an Issue on GitHub
If you encounter bugs or have any questions, please go to GitHub Issues to report them and feel free to create an issue.
3. Make changes of code locally
3.1 Create a new branch
Please don’t use master branch for development. We should create a new branch instead:
# checkout master branch
+git checkout master
+# pull the latest code from official hugegraph
+git pull hugegraph
+# create new branch: bugfix-branch
+git checkout -b bugfix-branch
+
3.2 Change the code
Assume that we need to modify some files like “HugeGraph.java” and “HugeFactory.java”:
# modify code to fix a bug
+vim hugegraph-core/src/main/java/com/baidu/hugegraph/HugeGraph.java
+vim hugegraph-core/src/main/java/com/baidu/hugegraph/HugeFactory.java
+# run test locally (optional)
+mvn test -Pcore-test,memory
+
Note: In order to be consistent with the code style easily, if you use IDEA as your IDE, you can directly import our code style configuration file.
3.3 Commit changes to git repo
After the code has been completed, we submit them to the local git repo:
# add files to local git index
+git add hugegraph-core/src/main/java/com/baidu/hugegraph/HugeGraph.java
+git add hugegraph-core/src/main/java/com/baidu/hugegraph/HugeFactory.java
+# commit to local git repo
+git commit
+
Please edit the commit message after running git commit, we can explain what and how to fix a bug or implement a feature, the following is an example:
Fix bug: run deploy multiple times
+
+fix #ISSUE_ID
+
Please remember to fill in the issue id, which was generated by GitHub after issue creation.
3.4 Push commit to GitHub fork repo
Push the local commit to GitHub fork repo:
# push the local commit to fork repo
+git push origin bugfix-branch:bugfix-branch
+
Note that since GitHub requires submitting code through username + token (instead of using username + password directly), you need to create a GitHub token from https://github.com/settings/tokens:
+
4. Create a Pull Request
Go to the web page of GitHub fork repo, there would be a chance to create a Pull Request after pushing to a new branch, just click button “Compare & pull request” to do it. Then edit the description for proposed changes, which can just be copied from the commit message.
Please sign the HugeGraph CLA when contributing code for the first time. You can sign the CLA by just posting a Pull Request Comment same as the below format:
I have read the CLA Document and I hereby sign the CLA
Note: please make sure the email address you used to submit the code is bound to the GitHub account. For how to bind the email address, please refer to https://github.com/settings/emails:
+
5. Code review
Maintainers will start the code review after all the automatic checks are passed:
Check: Contributor License Agreement is signed
Check: Travis CI builds is passed (automatically Test and Deploy)
The commit will be accepted and merged if there is no problem after review.
Please click on “Details” to find the problem if any check does not pass.
If there are checks not passed or changes requested, then continue to modify the code and push again.
6. More changes after review
If we have not passed the review, don’t be discouraged. Usually a commit needs to be reviewed several times before being accepted! Please follow the review comments and make further changes.
After the further changes, we submit them to the local repo:
# commit all updated files in a new commit,
+# please feel free to enter any appropriate commit message, note that
+# we will squash all commits in the pull request as one commit when
+# merging into the master branch.
+git commit -a
+
If there are conflicts that prevent the code from being merged, we need to rebase on master branch:
# synchronize the latest code
+git checkout master
+git pull hugegraph
+# rebase on master
+git checkout bugfix-branch
+git rebase -i master
+
And push it to GitHub fork repo again:
# force push the local commit to fork repo
+git push -f origin bugfix-branch:bugfix-branch
+
GitHub will automatically update the Pull Request after we push it, just wait for code review.
+
+
+
+
\ No newline at end of file
diff --git a/cn/contribution-guidelines/index.html b/cn/contribution-guidelines/index.html
new file mode 100644
index 000000000..f27900d57
--- /dev/null
+++ b/cn/contribution-guidelines/index.html
@@ -0,0 +1,6 @@
+Contribution Guidelines | HugeGraph
+
+
+
+
+
\ No newline at end of file
diff --git a/cn/contribution-guidelines/index.xml b/cn/contribution-guidelines/index.xml
new file mode 100644
index 000000000..9573e88d2
--- /dev/null
+++ b/cn/contribution-guidelines/index.xml
@@ -0,0 +1,187 @@
+HugeGraph – Contribution Guidelines/cn/contribution-guidelines/Recent content in Contribution Guidelines on HugeGraphHugo -- gohugo.ioContribution-Guidelines: 如何参与 HugeGraph 社区/cn/contribution-guidelines/contribute/Mon, 01 Jan 0001 00:00:00 +0000/cn/contribution-guidelines/contribute/
+<blockquote>
+<p>TODO: translate this article to Chinese</p>
+</blockquote>
+<p>Thanks for taking the time to contribute! As an open source project, HugeGraph is looking forward to be contributed from everyone, and we are also grateful to all the contributors.</p>
+<p>The following is a contribution guide for HugeGraph:</p>
+<img width="884" alt="image" src="https://user-images.githubusercontent.com/9625821/159643158-8bf72c0a-93c3-4a58-8912-7b2ab20ced1d.png">
+<h2 id="1-preparation">1. Preparation</h2>
+<p>We can contribute by reporting issues, submitting code patches or any other feedback.</p>
+<p>Before submitting the code, we need to do some preparation:</p>
+<ol>
+<li>
+<p>Sign up or login to GitHub: <a href="https://github.com">https://github.com</a></p>
+</li>
+<li>
+<p>Fork HugeGraph repo from GitHub: <a href="https://github.com/hugegraph/hugegraph/fork">https://github.com/apache/incubator-hugegraph/fork</a></p>
+</li>
+<li>
+<p>Clone code from fork repo to local: <a href="https://github.com/$%7BGITHUB_USER_NAME%7D/hugegraph">https://github.com/${GITHUB_USER_NAME}/hugegraph</a></p>
+<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># clone code from remote to local repo</span>
+</span></span><span style="display:flex;"><span>git clone https://github.com/<span style="color:#4e9a06">${</span><span style="color:#000">GITHUB_USER_NAME</span><span style="color:#4e9a06">}</span>/hugegraph
+</span></span></code></pre></div></li>
+<li>
+<p>Configure local HugeGraph repo</p>
+<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span><span style="color:#204a87">cd</span> hugegraph
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># add upstream to synchronize the latest code</span>
+</span></span><span style="display:flex;"><span>git remote add hugegraph https://github.com/hugegraph/hugegraph
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># set name and email to push code to github</span>
+</span></span><span style="display:flex;"><span>git config user.name <span style="color:#4e9a06">"{full-name}"</span> <span style="color:#8f5902;font-style:italic"># like "Jermy Li"</span>
+</span></span><span style="display:flex;"><span>git config user.email <span style="color:#4e9a06">"{email-address-of-github}"</span> <span style="color:#8f5902;font-style:italic"># like "jermy@apache.org"</span>
+</span></span></code></pre></div></li>
+</ol>
+<p>Optional: You can use <a href="https://desktop.github.com/">GitHub desktop</a> to greatly simplify the commit and update process.</p>
+<h2 id="2-create-an-issue-on-github">2. Create an Issue on GitHub</h2>
+<p>If you encounter bugs or have any questions, please go to <a href="https://github.com/apache/incubator-hugegraph/issues">GitHub Issues</a> to report them and feel free to <a href="https://github.com/hugegraph/hugegraph/issues/new">create an issue</a>.</p>
+<h2 id="3-make-changes-of-code-locally">3. Make changes of code locally</h2>
+<h4 id="31-create-a-new-branch">3.1 Create a new branch</h4>
+<p>Please don’t use master branch for development. We should create a new branch instead:</p>
+<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># checkout master branch</span>
+</span></span><span style="display:flex;"><span>git checkout master
+</span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># pull the latest code from official hugegraph</span>
+</span></span><span style="display:flex;"><span>git pull hugegraph
+</span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># create new branch: bugfix-branch</span>
+</span></span><span style="display:flex;"><span>git checkout -b bugfix-branch
+</span></span></code></pre></div><h4 id="32-change-the-code">3.2 Change the code</h4>
+<p>Assume that we need to modify some files like “HugeGraph.java” and “HugeFactory.java”:</p>
+<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># modify code to fix a bug</span>
+</span></span><span style="display:flex;"><span>vim hugegraph-core/src/main/java/com/baidu/hugegraph/HugeGraph.java
+</span></span><span style="display:flex;"><span>vim hugegraph-core/src/main/java/com/baidu/hugegraph/HugeFactory.java
+</span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># run test locally (optional)</span>
+</span></span><span style="display:flex;"><span>mvn <span style="color:#204a87">test</span> -Pcore-test,memory
+</span></span></code></pre></div><p>Note: In order to be consistent with the code style easily, if you use <a href="https://www.jetbrains.com/idea/">IDEA</a> as your IDE, you can directly <a href="https://www.jetbrains.com/help/idea/configuring-code-style.html">import</a> our code style <a href="./hugegraph-style.xml">configuration file</a>.</p>
+<h4 id="33-commit-changes-to-git-repo">3.3 Commit changes to git repo</h4>
+<p>After the code has been completed, we submit them to the local git repo:</p>
+<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># add files to local git index</span>
+</span></span><span style="display:flex;"><span>git add hugegraph-core/src/main/java/com/baidu/hugegraph/HugeGraph.java
+</span></span><span style="display:flex;"><span>git add hugegraph-core/src/main/java/com/baidu/hugegraph/HugeFactory.java
+</span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># commit to local git repo</span>
+</span></span><span style="display:flex;"><span>git commit
+</span></span></code></pre></div><p>Please edit the commit message after running <code>git commit</code>, we can explain what and how to fix a bug or implement a feature, the following is an example:</p>
+<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span>Fix bug: run deploy multiple <span style="color:#204a87">times</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>fix <span style="color:#8f5902;font-style:italic">#ISSUE_ID</span>
+</span></span></code></pre></div><blockquote>
+<p>Please remember to fill in the issue id, which was generated by GitHub after issue creation.</p>
+</blockquote>
+<h4 id="34-push-commit-to-github-fork-repo">3.4 Push commit to GitHub fork repo</h4>
+<p>Push the local commit to GitHub fork repo:</p>
+<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># push the local commit to fork repo</span>
+</span></span><span style="display:flex;"><span>git push origin bugfix-branch:bugfix-branch
+</span></span></code></pre></div><p>Note that since GitHub requires submitting code through <code>username + token</code> (instead of using <code>username + password</code> directly), you need to create a GitHub token from <a href="https://github.com/settings/tokens">https://github.com/settings/tokens</a>:
+<img width="1280" alt="image" src="https://user-images.githubusercontent.com/9625821/163524204-7fe0e6bf-9c8b-4b1a-ac65-6a0ac423eb16.png"></p>
+<h2 id="4-create-a-pull-request">4. Create a Pull Request</h2>
+<p>Go to the web page of GitHub fork repo, there would be a chance to create a Pull Request after pushing to a new branch, just click button “Compare & pull request” to do it. Then edit the description for proposed changes, which can just be copied from the commit message.</p>
+<p>Please sign the HugeGraph CLA when contributing code for the first time. You can sign the CLA by just posting a Pull Request Comment same as the below format:</p>
+<p><code>I have read the CLA Document and I hereby sign the CLA</code></p>
+<p>Note: please make sure the email address you used to submit the code is bound to the GitHub account. For how to bind the email address, please refer to <a href="https://github.com/settings/emails">https://github.com/settings/emails</a>:
+<img width="1280" alt="image" src="https://user-images.githubusercontent.com/9625821/163522445-2a50a72a-dea2-434f-9868-3a0d40d0d037.png"></p>
+<h2 id="5-code-review">5. Code review</h2>
+<p>Maintainers will start the code review after all the <strong>automatic</strong> checks are passed:</p>
+<ul>
+<li>Check: Contributor License Agreement is signed</li>
+<li>Check: Travis CI builds is passed (automatically Test and Deploy)</li>
+</ul>
+<p>The commit will be accepted and merged if there is no problem after review.</p>
+<p>Please click on “Details” to find the problem if any check does not pass.</p>
+<p>If there are checks not passed or changes requested, then continue to modify the code and push again.</p>
+<h2 id="6-more-changes-after-review">6. More changes after review</h2>
+<p>If we have not passed the review, don’t be discouraged. Usually a commit needs to be reviewed several times before being accepted! Please follow the review comments and make further changes.</p>
+<p>After the further changes, we submit them to the local repo:</p>
+<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># commit all updated files in a new commit,</span>
+</span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># please feel free to enter any appropriate commit message, note that</span>
+</span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># we will squash all commits in the pull request as one commit when</span>
+</span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># merging into the master branch.</span>
+</span></span><span style="display:flex;"><span>git commit -a
+</span></span></code></pre></div><blockquote>
+<p>If there are conflicts that prevent the code from being merged, we need to rebase on master branch:</p>
+<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># synchronize the latest code</span>
+</span></span><span style="display:flex;"><span>git checkout master
+</span></span><span style="display:flex;"><span>git pull hugegraph
+</span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># rebase on master</span>
+</span></span><span style="display:flex;"><span>git checkout bugfix-branch
+</span></span><span style="display:flex;"><span>git rebase -i master
+</span></span></code></pre></div></blockquote>
+<p>And push it to GitHub fork repo again:</p>
+<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># force push the local commit to fork repo</span>
+</span></span><span style="display:flex;"><span>git push -f origin bugfix-branch:bugfix-branch
+</span></span></code></pre></div><p>GitHub will automatically update the Pull Request after we push it, just wait for code review.</p>Contribution-Guidelines: 订阅社区邮箱/cn/contribution-guidelines/subscribe/Mon, 01 Jan 0001 00:00:00 +0000/cn/contribution-guidelines/subscribe/
+<blockquote>
+<p>TODO: translate this article to Chinese</p>
+</blockquote>
+<p>It is highly recommended to subscribe to the development mailing list to keep up-to-date with the community.</p>
+<p>In the process of using HugeGraph, if you have any questions or ideas, suggestions, you can participate in the HugeGraph community building through the Apache mailing list. Sending a subscription email is also very simple, the steps are as follows:</p>
+<ol>
+<li>
+<p>Email <a href="mailto:dev-subscribe@hugegraph.apache.org">dev-subscribe@hugegraph.apache.org</a> with your own email address, subject and content are arbitrary.</p>
+</li>
+<li>
+<p>Receive confirmation email and reply. After completing step 1, you will receive a confirmation email from <a href="mailto:dev-help@hugegraph.apache.org">dev-help@hugegraph.apache.org</a> (if not received, please confirm whether the email is automatically classified as spam, promotion email, subscription email, etc.) . Then reply directly to the email, or click on the link in the email to reply quickly, the subject and content are arbitrary.</p>
+</li>
+<li>
+<p>Receive a welcome email. After completing the above steps, you will receive a welcome email with the subject WELCOME to <a href="mailto:dev@hugegraph.apache.org">dev@hugegraph.apache.org</a>, and you have successfully subscribed to the Apache HugeGraph mailing list.</p>
+</li>
+</ol>
+<h1 id="unsubscribe-mailing-lists">Unsubscribe Mailing Lists</h1>
+<p>If you do not need to know what’s going on with HugeGraph, you can unsubscribe from the mailing list.</p>
+<p>Unsubscribe from the mailing list steps are as follows:</p>
+<ol>
+<li>
+<p>Email <a href="mailto:dev-unsubscribe@hugegraph.apache.org">dev-unsubscribe@hugegraph.apache.org</a> with your subscribed email address, subject and content are arbitrary.</p>
+</li>
+<li>
+<p>Receive confirmation email and reply. After completing step 1, you will receive a confirmation email from <a href="mailto:dev-help@hugegraph.apache.org">dev-help@hugegraph.apache.org</a> (if not received, please confirm whether the email is automatically classified as spam, promotion email, subscription email, etc.) . Then reply directly to the email, or click on the link in the email to reply quickly, the subject and content are arbitrary.</p>
+</li>
+<li>
+<p>Receive a goodbye email. After completing the above steps, you will receive a goodbye email with the subject GOODBYE from <a href="mailto:dev@hugegraph.apache.org">dev@hugegraph.apache.org</a>, and you have successfully unsubscribed to the Apache HugeGraph mailing list, and you will not receive emails from <a href="mailto:dev@hugegraph.apache.org">dev@hugegraph.apache.org</a>.</p>
+</li>
+</ol>Contribution-Guidelines: 验证 Apache 发版/cn/contribution-guidelines/validate-release/Mon, 01 Jan 0001 00:00:00 +0000/cn/contribution-guidelines/validate-release/
+<h2 id="验证阶段">验证阶段</h2>
+<p>当内部的临时发布和打包工作完成后, 其他的社区开发者(尤其是 PMC)需要参与到<a href="https://cwiki.apache.org/confluence/display/INCUBATOR/Incubator+Release+Checklist">验证环节</a>确保某个人发布版本的"正确性 + 完整性", 这里需要<strong>每个人</strong>都尽量参与, 然后后序<strong>邮件回复</strong>的时候说明自己<strong>已检查</strong>了哪些项. (下面是核心项)</p>
+<h4 id="1-检查-hash-值">1. 检查 hash 值</h4>
+<p>首先需要检查 <code>source + binary</code> 包的文件完整性, 通过 <code>shasum</code> 进行校验, 确保和发布到 apache/github 上的 hash 值一致 (一般是 sha512), 这里同0x02的最后一步检验.</p>
+<h4 id="2-检查-gpg-签名">2. 检查 gpg 签名</h4>
+<p>这个就是为了确保发布的包是由<strong>可信赖</strong>的人上传的, 假设 tom 签名后上传, 其他人应该下载 A 的<strong>公钥</strong>然后进行<strong>签名确认</strong>, 相关命令:</p>
+<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># 1. 下载项目可信赖公钥到本地 (首次需要)</span>
+</span></span><span style="display:flex;"><span>curl xxx >> PK
+</span></span><span style="display:flex;"><span>gpg --import PK
+</span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># 1.2 等待响应后输入 trust 表示信任 tom 的公钥 (其他人名类似)</span>
+</span></span><span style="display:flex;"><span>gpg -edit-key tom
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># 2. 检查签名 (可用 0x03 章节的第 ⑧ 步的 for 循环脚本批量遍历)</span>
+</span></span><span style="display:flex;"><span>gpg --verify xx.asc xxx-source.tar.gz
+</span></span><span style="display:flex;"><span>gpg --verify xx.asc xxx-binary.tar.gz <span style="color:#8f5902;font-style:italic"># 注: 我们目前没有 binary 后缀</span>
+</span></span></code></pre></div><p>先确认了整体的完整性/一致性, 然后接下来确认具体的内容 (<strong>关键</strong>)</p>
+<h4 id="3-检查压缩包内容">3. 检查压缩包内容</h4>
+<p>这里分源码包 + 二进制包两个方面, 源码包更为严格, 挑核心的部分说 (完整的列表参考官方 <a href="https://cwiki.apache.org/confluence/display/INCUBATOR/Incubator+Release+Checklist">Wiki</a>, 比较长)</p>
+<p>首先我们需要从 apache 官方的 <code>release-candidate</code> 地址下载包到本地 (地址: <code>dist.apache.org/repos/dist/dev/hugegraph/</code>)</p>
+<h5 id="a-源码包">A. 源码包</h5>
+<p>解压 <code>xxx-hugegraph-source.tar.gz</code>后, 进行如下检查:</p>
+<ol>
+<li>文件夹都带有 <code>incubating</code>, 且不存在<strong>空的</strong>文件/文件夹</li>
+<li>存在<code>DISCLAIMER</code>文件</li>
+<li>存在 <code>LICENSE</code> + <code>NOTICE</code> 文件并且内容正常</li>
+<li><strong>不存在</strong>任何二进制文件</li>
+<li>源码文件都包含标准 <code>ASF License</code> 头 (这个用插件跑一下为主)</li>
+<li>检查每个父/子模块的 <code>pom.xml</code> 版本号是否一致 (且符合期望)</li>
+<li>检查前 3 ~ 5 个 commit 提交, 点进去看看是否修改处和源码文件一致</li>
+<li>最后, 确保源码可以正常/正确编译 (然后看看测试和规范)</li>
+</ol>
+<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"># 同时也可以检查一下代码风格是否符合规范, 不符合的可以放下一次调整</span>
+</span></span><span style="display:flex;"><span>mvn clean <span style="color:#204a87">test</span> -Dcheckstyle.skip<span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#204a87">false</span>
+</span></span></code></pre></div><h5 id="b-二进制包">B. 二进制包</h5>
+<p>解压 <code>xxx-hugegraph.tar.gz</code>后, 进行如下检查:</p>
+<ol>
+<li>文件夹都带有 <code>incubating</code></li>
+<li>存在 <code>LICENSE</code> + <code>NOTICE</code> 文件并且内容正常</li>
+<li>通过 gpg 命令确认每个文件的签名正常</li>
+</ol>
+<p><strong>注:</strong> 如果二进制包里面引入了第三方依赖, 则需要更新 LICENSE, 加入第三方依赖的 LICENSE; 若第三方依赖 LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更新我们的 NOTICE 文件</p>
+<h4 id="4-检查官网以及-github-等页面">4. 检查官网以及 github 等页面</h4>
+<ol>
+<li>确保官网至少满足 <a href="https://whimsy.apache.org/pods/project/hugegraph">apache website check</a>, 以及没有死链等</li>
+<li>更新<strong>下载链接</strong>以及版本更新说明</li>
+<li>…..</li>
+</ol>
\ No newline at end of file
diff --git a/cn/contribution-guidelines/subscribe/index.html b/cn/contribution-guidelines/subscribe/index.html
new file mode 100644
index 000000000..5f06d537d
--- /dev/null
+++ b/cn/contribution-guidelines/subscribe/index.html
@@ -0,0 +1,18 @@
+订阅社区邮箱 | HugeGraph
+
TODO: translate this article to Chinese
It is highly recommended to subscribe to the development mailing list to keep up-to-date with the community.
In the process of using HugeGraph, if you have any questions or ideas, suggestions, you can participate in the HugeGraph community building through the Apache mailing list. Sending a subscription email is also very simple, the steps are as follows:
Receive confirmation email and reply. After completing step 1, you will receive a confirmation email from dev-help@hugegraph.apache.org (if not received, please confirm whether the email is automatically classified as spam, promotion email, subscription email, etc.) . Then reply directly to the email, or click on the link in the email to reply quickly, the subject and content are arbitrary.
Receive a welcome email. After completing the above steps, you will receive a welcome email with the subject WELCOME to dev@hugegraph.apache.org, and you have successfully subscribed to the Apache HugeGraph mailing list.
Unsubscribe Mailing Lists
If you do not need to know what’s going on with HugeGraph, you can unsubscribe from the mailing list.
Unsubscribe from the mailing list steps are as follows:
Receive confirmation email and reply. After completing step 1, you will receive a confirmation email from dev-help@hugegraph.apache.org (if not received, please confirm whether the email is automatically classified as spam, promotion email, subscription email, etc.) . Then reply directly to the email, or click on the link in the email to reply quickly, the subject and content are arbitrary.
Receive a goodbye email. After completing the above steps, you will receive a goodbye email with the subject GOODBYE from dev@hugegraph.apache.org, and you have successfully unsubscribed to the Apache HugeGraph mailing list, and you will not receive emails from dev@hugegraph.apache.org.
+
+
+
+
\ No newline at end of file
diff --git a/cn/contribution-guidelines/validate-release/index.html b/cn/contribution-guidelines/validate-release/index.html
new file mode 100644
index 000000000..cd9216ff0
--- /dev/null
+++ b/cn/contribution-guidelines/validate-release/index.html
@@ -0,0 +1,28 @@
+验证 Apache 发版 | HugeGraph
+
Thank you for your interest in contributing to HugeGraph’s all projects (“We” or “Us”).
The purpose of this contributor agreement (“Agreement”) is to clarify and document the rights granted by contributors to Us. To make this document effective, please follow the comment of GitHub CLA-Assistant when submitting a new pull request.
How to use this Contributor Agreement
If You are an employee and have created the Contribution as part of your employment, You need to have Your employer approve this Agreement or sign the Entity version of this document. If You do not own the Copyright in the entire work of authorship, any other author of the Contribution should also sign this – in any event, please contact Us at hugegraph@googlegroups.com
1. Definitions
“You” means the individual Copyright owner who Submits a Contribution to Us.
“Contribution” means any original work of authorship, including any original modifications or additions to an existing work of authorship, Submitted by You to Us, in which You own the Copyright.
“Copyright” means all rights protecting works of authorship, including copyright, moral and neighboring rights, as appropriate, for the full term of their existence.
“Material” means the software or documentation made available by Us to third parties. When this Agreement covers more than one software project, the Material means the software or documentation to which the Contribution was Submitted. After You Submit the Contribution, it may be included in the Material.
“Submit” means any act by which a Contribution is transferred to Us by You by means of tangible or intangible media, including but not limited to electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, Us, but excluding any transfer that is conspicuously marked or otherwise designated in writing by You as “Not a Contribution.”
“Documentation” means any non-software portion of a Contribution.
2. License grant
2.1 Copyright license to Us
Subject to the terms and conditions of this Agreement, You hereby grant to Us a worldwide, royalty-free, Exclusive, perpetual and irrevocable (except as stated in Section 8.2) license, with the right to transfer an unlimited number of non-exclusive licenses or to grant sublicenses to third parties, under the Copyright covering the Contribution to use the Contribution by all means, including, but not limited to:
publish the Contribution,
modify the Contribution,
prepare derivative works based upon or containing the Contribution and/or to combine the Contribution with other Materials,
reproduce the Contribution in original or modified form,
distribute, to make the Contribution available to the public, display and publicly perform the Contribution in original or modified form.
2.2 Moral rights
Moral Rights remain unaffected to the extent they are recognized and not waivable by applicable law. Notwithstanding, You may add your name to the attribution mechanism customary used in the Materials you Contribute to, such as the header of the source code files of Your Contribution, and We will respect this attribution when using Your Contribution.
2.3 Copyright license back to You
Upon such grant of rights to Us, We immediately grant to You a worldwide, royalty-free, non-exclusive, perpetual and irrevocable license, with the right to transfer an unlimited number of non-exclusive licenses or to grant sublicenses to third parties, under the Copyright covering the Contribution to use the Contribution by all means, including, but not limited to:
publish the Contribution,
modify the Contribution,
prepare derivative works based upon or containing the Contribution and/or to combine the Contribution with other Materials,
reproduce the Contribution in original or modified form,
distribute, to make the Contribution available to the public, display and publicly perform the Contribution in original or modified form.
This license back is limited to the Contribution and does not provide any rights to the Material.
3. Patents
3.1 Patent license
Subject to the terms and conditions of this Agreement You hereby grant to Us and to recipients of Materials distributed by Us a worldwide, royalty-free, non-exclusive, perpetual and irrevocable (except as stated in Section 3.2) patent license, with the right to transfer an unlimited number of non-exclusive licenses or to grant sublicenses to third parties, to make, have made, use, sell, offer for sale, import and otherwise transfer the Contribution and the Contribution in combination with any Material (and portions of such combination). This license applies to all patents owned or controlled by You, whether already acquired or hereafter acquired, that would be infringed by making, having made, using, selling, offering for sale, importing or otherwise transferring of Your Contribution(s) alone or by combination of Your Contribution(s) with any Material.
3.2 Revocation of patent license
You reserve the right to revoke the patent license stated in section 3.1 if We make any infringement claim that is targeted at your Contribution and not asserted for a Defensive Purpose. An assertion of claims of the Patents shall be considered for a “Defensive Purpose” if the claims are asserted against an entity that has filed, maintained, threatened, or voluntarily participated in a patent infringement lawsuit against Us or any of Our licensees.
4. License obligations by Us
We agree to (sub)license the Contribution or any Materials containing, based on or derived from your Contribution under the terms of any licenses the Free Software Foundation classifies as Free Software License and which are approved by the Open Source Initiative as Open Source licenses.
More specifically and in strict accordance with the above paragraph, we agree to (sub)license the Contribution or any Materials containing, based on or derived from the Contribution only in accordance with our licensing policy available at: http://www.apache.org/licenses/LICENSE-2.0.
In addition, We may use the following licenses for Documentation in the Contribution: GFDL-1.2 (including any right to adopt any future version of a license).
We agree to license patents owned or controlled by You only to the extent necessary to (sub)license Your Contribution(s) and the combination of Your Contribution(s) with the Material under the terms of any licenses the Free Software Foundation classifies as Free Software licenses and which are approved by the Open Source Initiative as Open Source licenses..
5. Disclaimer
THE CONTRIBUTION IS PROVIDED “AS IS”. MORE PARTICULARLY, ALL EXPRESS OR IMPLIED WARRANTIES INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTY OF SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED BY YOU TO US AND BY US TO YOU. TO THE EXTENT THAT ANY SUCH WARRANTIES CANNOT BE DISCLAIMED, SUCH WARRANTY IS LIMITED IN DURATION AND EXTENT TO THE MINIMUM PERIOD AND EXTENT PERMITTED BY LAW.
6. Consequential damage waiver
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU OR WE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF ANTICIPATED SAVINGS, LOSS OF DATA, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL AND EXEMPLARY DAMAGES ARISING OUT OF THIS AGREEMENT REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE) UPON WHICH THE CLAIM IS BASED.
7. Approximation of disclaimer and damage waiver
IF THE DISCLAIMER AND DAMAGE WAIVER MENTIONED IN SECTION 5. AND SECTION 6. CANNOT BE GIVEN LEGAL EFFECT UNDER APPLICABLE LOCAL LAW, REVIEWING COURTS SHALL APPLY LOCAL LAW THAT MOST CLOSELY APPROXIMATES AN ABSOLUTE WAIVER OF ALL CIVIL OR CONTRACTUAL LIABILITY IN CONNECTION WITH THE CONTRIBUTION.
8. Term
8.1 This Agreement shall come into effect upon Your acceptance of the terms and conditions.
8.2 This Agreement shall apply for the term of the copyright and patents licensed here. However, You shall have the right to terminate the Agreement if We do not fulfill the obligations as set forth in Section 4. Such termination must be made in writing.
8.3 In the event of a termination of this Agreement Sections 5, 6, 7, 8 and 9 shall survive such termination and shall remain in full force thereafter. For the avoidance of doubt, Free and Open Source Software (sub)licenses that have already been granted for Contributions at the date of the termination shall remain in full force after the termination of this Agreement.
9 Miscellaneous
9.1 This Agreement and all disputes, claims, actions, suits or other proceedings arising out of this agreement or relating in any way to it shall be governed by the laws of China excluding its private international law provisions.
9.2 This Agreement sets out the entire agreement between You and Us for Your Contributions to Us and overrides all other agreements or understandings.
9.3 In case of Your death, this agreement shall continue with Your heirs. In case of more than one heir, all heirs must exercise their rights through a commonly authorized person.
9.4 If any provision of this Agreement is found void and unenforceable, such provision will be replaced to the extent possible with a provision that comes closest to the meaning of the original provision and that is enforceable. The terms and conditions set forth in this Agreement shall apply notwithstanding any failure of essential purpose of this Agreement or any limited remedy to the maximum extent possible under law.
9.5 You agree to notify Us of any facts or circumstances of which you become aware that would make this Agreement inaccurate in any respect.
Thank you for your interest in contributing to HugeGraph’s all projects (“We” or “Us”).
The purpose of this contributor agreement (“Agreement”) is to clarify and document the rights granted by contributors to Us. To make this document effective, please follow the comment of GitHub CLA-Assistant when submitting a new pull request.
How to use this Contributor Agreement
If You are an employee and have created the Contribution as part of your employment, You need to have Your employer approve this Agreement or sign the Entity version of this document. If You do not own the Copyright in the entire work of authorship, any other author of the Contribution should also sign this – in any event, please contact Us at hugegraph@googlegroups.com
1. Definitions
“You” means the individual Copyright owner who Submits a Contribution to Us.
“Contribution” means any original work of authorship, including any original modifications or additions to an existing work of authorship, Submitted by You to Us, in which You own the Copyright.
“Copyright” means all rights protecting works of authorship, including copyright, moral and neighboring rights, as appropriate, for the full term of their existence.
“Material” means the software or documentation made available by Us to third parties. When this Agreement covers more than one software project, the Material means the software or documentation to which the Contribution was Submitted. After You Submit the Contribution, it may be included in the Material.
“Submit” means any act by which a Contribution is transferred to Us by You by means of tangible or intangible media, including but not limited to electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, Us, but excluding any transfer that is conspicuously marked or otherwise designated in writing by You as “Not a Contribution.”
“Documentation” means any non-software portion of a Contribution.
2. License grant
2.1 Copyright license to Us
Subject to the terms and conditions of this Agreement, You hereby grant to Us a worldwide, royalty-free, Exclusive, perpetual and irrevocable (except as stated in Section 8.2) license, with the right to transfer an unlimited number of non-exclusive licenses or to grant sublicenses to third parties, under the Copyright covering the Contribution to use the Contribution by all means, including, but not limited to:
publish the Contribution,
modify the Contribution,
prepare derivative works based upon or containing the Contribution and/or to combine the Contribution with other Materials,
reproduce the Contribution in original or modified form,
distribute, to make the Contribution available to the public, display and publicly perform the Contribution in original or modified form.
2.2 Moral rights
Moral Rights remain unaffected to the extent they are recognized and not waivable by applicable law. Notwithstanding, You may add your name to the attribution mechanism customary used in the Materials you Contribute to, such as the header of the source code files of Your Contribution, and We will respect this attribution when using Your Contribution.
2.3 Copyright license back to You
Upon such grant of rights to Us, We immediately grant to You a worldwide, royalty-free, non-exclusive, perpetual and irrevocable license, with the right to transfer an unlimited number of non-exclusive licenses or to grant sublicenses to third parties, under the Copyright covering the Contribution to use the Contribution by all means, including, but not limited to:
publish the Contribution,
modify the Contribution,
prepare derivative works based upon or containing the Contribution and/or to combine the Contribution with other Materials,
reproduce the Contribution in original or modified form,
distribute, to make the Contribution available to the public, display and publicly perform the Contribution in original or modified form.
This license back is limited to the Contribution and does not provide any rights to the Material.
3. Patents
3.1 Patent license
Subject to the terms and conditions of this Agreement You hereby grant to Us and to recipients of Materials distributed by Us a worldwide, royalty-free, non-exclusive, perpetual and irrevocable (except as stated in Section 3.2) patent license, with the right to transfer an unlimited number of non-exclusive licenses or to grant sublicenses to third parties, to make, have made, use, sell, offer for sale, import and otherwise transfer the Contribution and the Contribution in combination with any Material (and portions of such combination). This license applies to all patents owned or controlled by You, whether already acquired or hereafter acquired, that would be infringed by making, having made, using, selling, offering for sale, importing or otherwise transferring of Your Contribution(s) alone or by combination of Your Contribution(s) with any Material.
3.2 Revocation of patent license
You reserve the right to revoke the patent license stated in section 3.1 if We make any infringement claim that is targeted at your Contribution and not asserted for a Defensive Purpose. An assertion of claims of the Patents shall be considered for a “Defensive Purpose” if the claims are asserted against an entity that has filed, maintained, threatened, or voluntarily participated in a patent infringement lawsuit against Us or any of Our licensees.
4. License obligations by Us
We agree to (sub)license the Contribution or any Materials containing, based on or derived from your Contribution under the terms of any licenses the Free Software Foundation classifies as Free Software License and which are approved by the Open Source Initiative as Open Source licenses.
More specifically and in strict accordance with the above paragraph, we agree to (sub)license the Contribution or any Materials containing, based on or derived from the Contribution only in accordance with our licensing policy available at: http://www.apache.org/licenses/LICENSE-2.0.
In addition, We may use the following licenses for Documentation in the Contribution: GFDL-1.2 (including any right to adopt any future version of a license).
We agree to license patents owned or controlled by You only to the extent necessary to (sub)license Your Contribution(s) and the combination of Your Contribution(s) with the Material under the terms of any licenses the Free Software Foundation classifies as Free Software licenses and which are approved by the Open Source Initiative as Open Source licenses..
5. Disclaimer
THE CONTRIBUTION IS PROVIDED “AS IS”. MORE PARTICULARLY, ALL EXPRESS OR IMPLIED WARRANTIES INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTY OF SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED BY YOU TO US AND BY US TO YOU. TO THE EXTENT THAT ANY SUCH WARRANTIES CANNOT BE DISCLAIMED, SUCH WARRANTY IS LIMITED IN DURATION AND EXTENT TO THE MINIMUM PERIOD AND EXTENT PERMITTED BY LAW.
6. Consequential damage waiver
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU OR WE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF ANTICIPATED SAVINGS, LOSS OF DATA, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL AND EXEMPLARY DAMAGES ARISING OUT OF THIS AGREEMENT REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE) UPON WHICH THE CLAIM IS BASED.
7. Approximation of disclaimer and damage waiver
IF THE DISCLAIMER AND DAMAGE WAIVER MENTIONED IN SECTION 5. AND SECTION 6. CANNOT BE GIVEN LEGAL EFFECT UNDER APPLICABLE LOCAL LAW, REVIEWING COURTS SHALL APPLY LOCAL LAW THAT MOST CLOSELY APPROXIMATES AN ABSOLUTE WAIVER OF ALL CIVIL OR CONTRACTUAL LIABILITY IN CONNECTION WITH THE CONTRIBUTION.
8. Term
8.1 This Agreement shall come into effect upon Your acceptance of the terms and conditions.
8.2 This Agreement shall apply for the term of the copyright and patents licensed here. However, You shall have the right to terminate the Agreement if We do not fulfill the obligations as set forth in Section 4. Such termination must be made in writing.
8.3 In the event of a termination of this Agreement Sections 5, 6, 7, 8 and 9 shall survive such termination and shall remain in full force thereafter. For the avoidance of doubt, Free and Open Source Software (sub)licenses that have already been granted for Contributions at the date of the termination shall remain in full force after the termination of this Agreement.
9 Miscellaneous
9.1 This Agreement and all disputes, claims, actions, suits or other proceedings arising out of this agreement or relating in any way to it shall be governed by the laws of China excluding its private international law provisions.
9.2 This Agreement sets out the entire agreement between You and Us for Your Contributions to Us and overrides all other agreements or understandings.
9.3 In case of Your death, this agreement shall continue with Your heirs. In case of more than one heir, all heirs must exercise their rights through a commonly authorized person.
9.4 If any provision of this Agreement is found void and unenforceable, such provision will be replaced to the extent possible with a provision that comes closest to the meaning of the original provision and that is enforceable. The terms and conditions set forth in this Agreement shall apply notwithstanding any failure of essential purpose of this Agreement or any limited remedy to the maximum extent possible under law.
9.5 You agree to notify Us of any facts or circumstances of which you become aware that would make this Agreement inaccurate in any respect.