You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2020/03/31 12:43:28 UTC

[incubator-iotdb] branch master updated: modify development & community (#963)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new bdcd053  modify development & community (#963)
bdcd053 is described below

commit bdcd0531d51bcd15bd3f97f5e4314dbb214d9b6e
Author: Sail <37...@users.noreply.github.com>
AuthorDate: Tue Mar 31 20:43:18 2020 +0800

    modify development & community (#963)
    
    * modify development
    * modify community
---
 docs/Community/Community-History&Vision.md         |   6 +-
 docs/Community/Community-Powered By.md             |  10 +-
 docs/Community/Community-Project Committers.md     |  33 +---
 docs/Development/ContributeGuide.md                | 101 ++++++++++
 docs/Development/Development-Contributing.md       | 214 ---------------------
 docs/Development/Development-Document.md           |  51 -----
 docs/Development/Development-IDE.md                | 113 -----------
 docs/Development/VoteRelease.md                    | 202 +++++++++++++++++++
 .../{ => zh}/Community/Community-History&Vision.md |   0
 docs/{ => zh}/Community/Community-Powered By.md    |   0
 .../Community/Community-Project Committers.md}     |   8 +-
 docs/zh/Development/ContributeGuide.md             |   6 +-
 12 files changed, 325 insertions(+), 419 deletions(-)

diff --git a/docs/Community/Community-History&Vision.md b/docs/Community/Community-History&Vision.md
index 64fcf07..1016e68 100644
--- a/docs/Community/Community-History&Vision.md
+++ b/docs/Community/Community-History&Vision.md
@@ -7,9 +7,9 @@
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at
-
+    
         http://www.apache.org/licenses/LICENSE-2.0
-
+    
     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -22,3 +22,5 @@
 # History&Vision
 
 Comming Soon.
+
+<FooterFixed/>
\ No newline at end of file
diff --git a/docs/Community/Community-Powered By.md b/docs/Community/Community-Powered By.md
index e826a95..63861bf 100644
--- a/docs/Community/Community-Powered By.md	
+++ b/docs/Community/Community-Powered By.md	
@@ -7,9 +7,9 @@
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at
-
+    
         http://www.apache.org/licenses/LICENSE-2.0
-
+    
     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -41,4 +41,8 @@ A common practice you can take is to create software identifiers (Maven coordina
 To add yourself to the list, please email dev@iotdb.apache.org with your organization name, URL, a list of IoTDB components you are using, and a short description of your use case.
 
 - School of Software (Tsinghua University), and National Engineering Laboratery for Big Data Software  that initially launched IoTDB  
-	- We have both graduate students and a team of professional software engineers working on the stack
+  - We have both graduate students and a team of professional software engineers working on the stack
+
+
+
+<FooterFixed/>
\ No newline at end of file
diff --git a/docs/Community/Community-Project Committers.md b/docs/Community/Community-Project Committers.md
index 518c33c..82ab2c5 100644
--- a/docs/Community/Community-Project Committers.md	
+++ b/docs/Community/Community-Project Committers.md	
@@ -7,9 +7,9 @@
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at
-
+    
         http://www.apache.org/licenses/LICENSE-2.0
-
+    
     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -19,31 +19,6 @@
 
 -->
 
-# Project Committers
+<Contributor/>
 
-|  Name	       |     Organization     |
-| :-----------   |  -------------:      |
-| Jianmin Wang   |	Tsinghua University |
-|Xiangdong Huang |	Tsinghua University |
-| Jun Yuan       |  Tsinghua University |
-|  Chen Wang     |  Tsinghua University |
-|  Jialin Qiao   |  Tsinghua University |
-|  Jinrui Zhang  |  Tsinghua University |
-|  Rong Kang     |  Tsinghua University |
-|  Tian Jiang    |  Tsinghua University |
-|  Shuo Zhang    |  K2Data Company      |
-|  Lei Rui       |  Tsinghua University |
-|  Rui Liu       |  Tsinghua University |
-|  Gaofei Cao    |  Tsinghua University |
-|  Kun Liu       |  Tsinghua University |
-|  Xinyi Zhao    |  Tsinghua University |
-|  Yi Xu         |  Tsinghua University |
-|  Dongfang Mao  |  Tsinghua University |
-|  Tianan li     |  Tsinghua University |
-|  Yue Su        |	Tsinghua University |
-|  Hui Da        |	Lenovo              |
-|  Yuan Tian     |  Tsinghua University |
-|  Zesong Sun    |  Tsinghua University |
-|  Kaifeng Xue   |  Tsinghua University |
-|  Tianci Zhu    |                      |
-|  Jack Tsai     |                      | 
\ No newline at end of file
+<FooterFixed/>
\ No newline at end of file
diff --git a/docs/Development/ContributeGuide.md b/docs/Development/ContributeGuide.md
new file mode 100644
index 0000000..a2c111e
--- /dev/null
+++ b/docs/Development/ContributeGuide.md
@@ -0,0 +1,101 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+        http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+# 一、work process
+
+## Main link
+
+IoTDB official website:https://iotdb.apache.org/
+
+Code library:https://github.com/apache/incubator-iotdb/tree/master
+
+Get started quickly:http://iotdb.apache.org/UserGuide/master/0-Get%20Started/1-QuickStart.html
+
+## Subscribe to mailing list
+
+The mailing list is where the Apache project conducts technical discussions and communication with users. Follow the mailing list to receive mail.
+
+Mailing list address:dev@iotdb.apache.org
+
+Follow method: Send an email to dev-subscribe@iotdb.apache.org with the email you want to receive the email, the subject content is not limited, after receiving the reply, send a confirmation email to the confirmation address again (the confirmation address is longer, it is recommended  gmail mailbox).
+
+## New features, bug feedback, improvements, and more
+
+All features or bugs that you want IoTDB to do can be raised on Jira:https://issues.apache.org/jira/projects/IOTDB/issues
+
+You can choose issue types: bug, improvement, new feature, etc.  New issues will be automatically synchronized to the mailing list, and subsequent discussions can be left on jira or on the mailing list.  When the issue is resolved, close the issue.
+
+## Email discussion content (English)
+
+* Joining the mailing list for the first time can introduce you briefly.  (Hi, I'm xxx ...)
+
+* Before developing a function, you can send an e-mail to declare the task you want to do.(Hi,I'm working on issue IOTDB-XXX,My plan is ...)
+
+## Contributing documents
+
+The content of all IoTDB official websites is in the docs of the project root directory:
+
+* docs/Documentation/SystemDesign: System Design Document-English Version
+* docs/Documentation-CHN/SystemDesign: System Design Document-Chinese Version
+* docs/Documentation/UserGuide: User Guide English Version
+* docs/Documentation-CHN/UserGuide: User Guide Chinese Version
+* docs/Community: community
+* docs/Development: Development Guide
+
+Correspondence between versions and branches on the official website:
+
+* In progress -> master
+* major_version.x -> rel/major_version (如 0.9.x -> rel/0.9)
+
+Precautions:
+
+* Images in Markdown can be uploaded to https://github.com/thulab/iotdb/issues/543 for url
+
+## Contributing code
+
+You can go to jira to pick up the existing issue or create your own issue and get it. The comment says that I can do this issue.
+
+* Clone the repository to your own local repository, clone to the local, and associate the apache repository as the upstream upstream repository.
+* Cut out a new branch from master. The branch name is determined by the function of this branch. It is usually called f_new_feature (such as f_storage_engine) or fix_bug (such as fix_query_cache_bug).
+* Add code style as the root java-google-style.xml in the idea
+* Modify the code and add test cases (unit test, integration test)
+  * Integration test reference:server/src/test/java/org/apache/iotdb/db/integration/IoTDBTimeZoneIT
+* Submit a PR, starting with [IOTDB-jira number]
+* Email to dev mailing list:(I've submitted a PR for issue IOTDB-xxx [link])
+* Make changes based on other people's reviews and continue to update until merged
+* close jira issue
+
+## 二、IoTDB debugging method
+
+Recommended Use Intellij idea。```mvn clean package -DskipTests``` After putting ```server/target/generated-sources/antlr4``` and ```service-rpc/target/generated-sources/thrift``` marked as ```Source Root```。 
+
+* Server main function:```server/src/main/java/org/apache/iotdb/db/service/IoTDB```,Can be started in debug mode
+* Client:```client/src/main/java/org/apache/iotdb/client/```,Use Clinet for linux and WinClint for windows, you can start directly, need the parameter "-h 127.0.0.1 -p 6667 -u root -pw root"
+* Server rpc implementation (mainly used for client and server communication, generally start interruption point here):```server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl```
+  * all jdbc statements:executeStatement(TSExecuteStatementReq req)
+  * jdbc query:executeQueryStatement(TSExecuteStatementReq req)	* native Write interface:insert(TSInsertReq req)
+
+* Storage engine org.apache.iotdb.db.engine.StorageEngine
+* Query engine org.apache.iotdb.db.qp.QueryProcessor
+
+
+
+<FooterFixed/>
\ No newline at end of file
diff --git a/docs/Development/Development-Contributing.md b/docs/Development/Development-Contributing.md
deleted file mode 100644
index 247a2e2..0000000
--- a/docs/Development/Development-Contributing.md
+++ /dev/null
@@ -1,214 +0,0 @@
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
-
--->
-
-<!-- TOC -->
-
-## Outline
-- Have Questions
-    - Mailing Lists
-    - JIRA issues
-- How to contribute
-    - Becoming a committer
-        - Contributing by Helping Other Users
-        - Contributing by Testing Releases
-        - Contributing by Reviewing Changes
-        - Contributing by Documentation Changes
-        - Contributing Bug Reports
-        - Contributing Code Changes
-            - Cloning source code
-            - JIRA
-            - Pull Request
-            - The Review Process
-            - Closing Your Pull Request / JIRA
-            - Code Style
-
-<!-- /TOC -->
-
-# Have Questions
-
-## Mailing Lists
-
-It is recommended to use our mailing lists to ask for help, report issues or contribute to the project.
-dev@iotdb.apache.org is for anyone who wants to contribute codes to IoTDB or have usage questions for IoTDB.
-
-Some quick tips when using email:
-* For error logs or long code examples, please use GitHub gist and include only a few lines of the pertinent code/log within the email.
-* No jobs, sales, or solicitation is permitted on the Apache IoTDB mailing lists.
-
-PS. To subscribe our mail list, you can send an email to dev-subscribe@iotdb.incubator.apache.org and you will receive a "confirm subscribe to dev@iotdb.apache.org" email, following the steps to confirm your subscription.
-
-## JIRA issues
-
-The project tracks issues and new features on [JIRA issues](https://issues.apache.org/jira/projects/IOTDB/issues). You can create a new issue to report a bug, request a new feature or provide your custom issue.
-
-# How to contribute
-
-## Becoming a committer
-
-To become a committer, you should first be active in our community so that most of our existing committers recognize you. Pushing codes and creating pull requests is just one of the committer's rights. Moreover, it is committer's duty to help new users on the mail list, test new releases and improve documentation.
-
-### Contributing by Helping Other Users
-
-Since Apache IoTDB always attracts new users, it would be great if you can help them by answering questions on the dev@iotdb.apache.org mail list. We regard it as a valuable contribution. Also, the more questions you answer, the more people know you. Popularity is one of the necessary conditions to be a committer.
-
-Contributors should subscribe to our mailing list to catch up the latest progress.
-
-### Contributing by Testing Releases
-
-IoTDB's new release is visible to everyone, members of the community can vote to accept these releases on the dev@iotdb.apache.org mailing list. Users of IoTDB will be invited to try out on their workloads and provide feedback on any performance or correctness issues found in the newer release.
-
-### Contributing by Reviewing Changes
-
-Changes to IoTDB source codes are made through Github pull request. Anyone can review and comment on these changes. Reviewing others' pull requests can help you comprehend how a bug is fixed or a new feature is added. Besides, Learning directly from the source code will give you a deeper understanding of how IoTDB system works and where its bottlenecks lie. You can help by reviewing the changes, asking questions and pointing out issues.
-
-### Contributing by Documentation Changes
-
-To propose a change to release documentation (that is, docs that appear under <https://iotdb.apache.org/#/Documents/progress/chap1/sec1>), edit the Markdown source files in IoTDB’s docs/ directory(`documentation-EN` branch). The process to propose a doc change is otherwise the same as the process for proposing code changes below.  
-
-Whenever updating **User Guide** documents, remember to update `0-Content.md` at the same time. Here are two brief examples to show how to add new documents or how to modify existing documents:
-
-1. Suppose we have "chapter 1:Overview" already, and want to add a new document `A.md` in chapter 1.
-Then,
-   * Step 1: add document named `5-A.md` in folder "1-Overview", since it is the fifth section in this chapter;
-   * Step 2: modify `0-Content.md` file by adding `* 5-A.md` in the list of "# Chapter 1: Overview".
-
-2. Suppose we want to create a new chapter "chapter7: RoadMap", and want to add a new document `B.md` in chapter 7.
-Then,
-   * Step 1: create a new folder named "7-RoadMap", and add document named `1-B.md` in folder "7-RoadMap";
-   * Step 2: modify `0-Content.md` file by adding "# Chapter 7: RoadMap" in the end, and  adding `* 1-B.md` in the list of this new chapter.
-
-If you need to insert **figures** into documents, you can firstly update the figures in [this issue](https://github.com/thulab/iotdb/issues/543) for storing pictures in IoTDB website or other MD files.
-Drag a picture and then quote the figure's URL link. 
-
-### Contributing Bug Reports
-
-If you encounter a problem, try to search the mailing list and JIRA to check whether other people have faced the same situation. If it is not reported before, please report an issue.
-
-Once you are sure it is a bug, it may be reported by creating a JIRA without creating a pull request. In the bug report, you should provide enough information to understand, isolate and ideally reproduce the bug. Unreproducible bugs, or simple error reports, may be closed.
-
-It’s very helpful if the bug report has a description about how the bug was introduced, by which commit, so that reviewers can easily understand the bug. It also helps committers to decide how far the bug fix should be backported, when the pull request is merged. The pull request to fix the bug should narrow down the problem to the root cause.
-
-Performance regression is also one kind of bug. The pull request to fix a performance regression must provide a benchmark to prove the problem is indeed fixed.
-
-Note that, data correctness/loss bugs are our first priority to solve. Please make sure the corresponding bug-reporting JIRA ticket is labeled as correctness or data-loss. If the bug report doesn’t gain enough attention, please include it and send an email to dev@iotdb.apache.org.
-
-### Contributing Code Changes
-
-> When you contribute code, you affirm that the contribution is your original work and that you license the work to the project under the project’s open-source license. Whether or not you state this explicitly, by submitting any copyrighted material via pull request, email, or other means you agree to license the material under the project’s open-source license and warrant that you have the legal authority to do so.  Any new files contributed should be under Apache 2.0 License with a hea [...]
-
-#### Cloning source code
-
-```
-$ git clone git@github.com:apache/incubator-iotdb.git
-```
-Following `README.md` to test, run or build IoTDB.
-
-#### JIRA
-
-Generally, IoTDB uses JIRA to track logical issues, including bugs and improvements and uses Github pull requests to manage the review and merge specific code changes. That is, JIRAs are used to describe what should be fixed or changed, proposing high-level approaches. Pull requests describe how to implement that change in the project’s source code. For example, major design decisions discussed in JIRA.
-
-1. Find the existing IoTDB JIRA that the change pertains to.
-    1. Do not create a new JIRA if you send a PR to address an existing issue labeled in JIRA; add it to the existing discussion.
-    2. Look for existing pull requests that are linked from the JIRA, to understand if someone is already working on the JIRA
-2. If the change is new, then it usually needs a new JIRA. However, trivial changes, such as changes are self-explained, do not require a JIRA. Example: Fix spelling error in JavaDoc
-3. If required, create a new JIRA:
-    1. Provide a descriptive Title. “Problem in XXXManager” is not sufficient. “IoTDB failed to start on jdk11 because jdk11 does not support -XX:+PrintGCDetail” is good.
-    2. Write a detailed description. For bug reports, this should ideally include a short reproduction of the problem. For new features, it may include a design document.
-    3. Set the required fields:
-        1. Issue Type. Generally, Bug, Improvement and New Feature are the only types used in IoTDB.
-        2. Priority. Set to Major or below; higher priorities are generally reserved for committers to set. The main exception is correctness or data-loss issues, which can be flagged as Blockers. JIRA tends to unfortunately conflate “size” and “importance” in its Priority field values. Their meaning is rough:
-            1. Blocker: pointless to release without this change as the release would be unusable to a large minority of users. Correctness and data loss issues should be considered Blockers.
-            2. Critical: a large minority of users are missing important functionality without this, and/or a workaround is difficult
-            3. Major: a small minority of users are missing important functionality without this, and there is a workaround
-            4. Minor: a niche use case is missing some support, but it does not affect usage or is easily worked around
-            5. Trivial: a nice-to-have change but unlikely to be any problem in practice otherwise
-        3. Affected Version. For Bugs, assign at least one version that is known to reproduce the issue or need to be changed
-        4. Label. Not widely used, except for the following:
-            * correctness: a correctness issue
-            * data-loss: a data loss issue
-            * release-notes: the change’s effects need mention in release notes. The JIRA or pull request should include detail suitable for inclusion in release notes – see “Docs Text” below.
-            * starter: small, simple change suitable for new contributors
-        5. Docs Text: For issues that require an entry in the release notes, this should contain the information that the release manager should include. Issues should include a short summary of what behavior is impacted, and detail on what behavior changed. It can be provisionally filled out when the JIRA is opened, but will likely need to be updated with final details when the issue is resolved.
-    4. Do not set the following fields:
-        1. Fix Version. This is assigned by committers only when resolved.
-        2. Target Version. This is assigned by committers to indicate a PR has been accepted for possible fix by the target version.
-    5. Do not include a patch file; pull requests are used to propose the actual change.
-4. If the change is a large change, consider raising a discussion on it at dev@iotdb.apache.org first before proceeding to implement the change. Currently, we use https://cwiki.apache.org/confluence/display/IOTDB to store design proposals and release process. Users can also send them there.
-
-
-#### Pull Request
-
-1. Fork the Github repository at https://github.com/apache/incubator-iotdb if you haven’t done already.
-2. Clone your fork, create a new branch, push commits to the branch.
-3. Please add documentation and tests to explain/cover your changes.
-Run all tests with [How to test](https://github.com/thulab/iotdb/wiki/How-to-test-IoTDB) to verify your change.
-4. Open a pull request against the master branch of IoTDB. (Only in special cases would the PR be opened against other branches.)
-    1. The PR title should be in the form of "IoTDB-xxxx", where xxxx is the relevant JIRA number.
-    2. If the pull request is still under work in progress stage but needs to be pushed to Github to request for review, please add "WIP" after the PR title.
-    3. Consider identifying committers or other contributors who have worked on the code being changed. Find the file(s) in Github and click “Blame” to see a line-by-line annotation of who changed the code last. You can add @username in the PR description to ping them immediately.
-    4. Please state that the contribution is your original work and that you license the work to the project under the project’s open source license.
-5. The related JIRA, if any, will be marked as “In Progress” and your pull request will automatically be linked to it. There is no need to be the Assignee of the JIRA to work on it, though you are welcome to comment that you have begun work.
-6. The Jenkins automatic pull request builder will test your changes
-    1. If it is your first contribution, Jenkins will wait for confirmation before building your code and post “Can one of the admins verify this patch?”
-    2. A committer can authorize testing with a comment like “ok to test”
-    3. A committer can automatically allow future pull requests from a contributor to be tested with a comment like “Jenkins, add to whitelist”
-7. Watch for the results, and investigate and fix failures promptly
-    1. Fixes can simply be pushed to the same branch from which you opened your pull request
-    2. Jenkins will automatically re-test when new commits are pushed
-    3. If the tests failed for reasons unrelated to the change (e.g. Jenkins outage), then a committer can request a re-test with “Jenkins, retest this please”. Ask if you need a test restarted. If you were added by “Jenkins, add to whitelist” from a committer before, you can also request the re-test.
-
-#### The Review Process
-
-* Other reviewers, including committers, may comment on the changes and suggest modifications. Changes can be added by simply pushing more commits to the same branch.
-* Lively, polite, rapid technical debate is encouraged by everyone in the community. The outcome may be a rejection of the entire change.
-* Keep in mind that changes to more critical parts of IoTDB, like its read/write data from/to disk, will be subjected to more review, and may require more testing and proof of its correctness than other changes.
-* Reviewers can indicate that a change looks suitable for merging with a comment such as: “I think this patch looks good” or "LGTM". If you comment LGTM, you will be expected to help with bugs or follow-up issues on the patch. Consistent, judicious use of LGTMs is a great way to gain credibility as a reviewer with the broader community.
-* Sometimes, other changes will be merged which conflict with your pull request’s changes. The PR can’t be merged until the conflict is resolved. This can be resolved by, for example, adding a remote to keep up with upstream changes by 
-
-```shell
-git remote add upstream git@github.com:apache/incubator-iotdb.git
-git fetch upstream
-git rebase upstream/master 
-# or you can use `git pull --rebase upstream master` to replace the above two commands
-# resolve your conflicts
-# push codes to your branch
-```
-
-* Try to be responsive to the discussion rather than let days pass between replies
-
-#### Closing Your Pull Request / JIRA
-* If a change is accepted, it will be merged, and the pull request will automatically be closed, along with the associated JIRA if any
-    * Note that in the rare case you are asked to open a pull request against a branch beside the master, you actually have to close the pull request manually
-    * The JIRA will be Assigned to the primary contributor to the change as a way of giving credit. If the JIRA isn’t closed and/or Assigned promptly, comment on the JIRA.
-* If your pull request is ultimately rejected, please close it promptly
-    * … because committers can’t close PRs directly
-    * Pull requests will be automatically closed by an automated process at Apache after about a week if a committer has made a comment like “mind closing this PR?” This means that the committer is specifically requesting that it be closed.
-* If a pull request has gotten little or no attention, consider improving the description or the change itself and ping likely reviewers again after a few days. Consider proposing a change that’s easier to include, like a smaller and/or less invasive change.
-* If it has been reviewed but not taken up after weeks, after soliciting review from the most relevant reviewers, or, has met with neutral reactions, the outcome may be considered a “soft no”. It is helpful to withdraw and close the PR in this case.
-* If a pull request is closed because it is deemed not the right approach to resolve a JIRA, then leave the JIRA open. However, if the review makes it clear that the issue identified in the JIRA is not going to be resolved by any pull request (not a problem, won’t fix) then also resolve the JIRA
-
-#### Code Style
-
-For Java code, Apache IoTDB follows Google’s Java Style Guide.
-
-#### Unit Test
-
-When writing unit tests, note the path to generate the test file at test time, which we require to be generated in the `target` directory and placed under the `constant` package for each test project
\ No newline at end of file
diff --git a/docs/Development/Development-Document.md b/docs/Development/Development-Document.md
deleted file mode 100644
index 56677a0..0000000
--- a/docs/Development/Development-Document.md
+++ /dev/null
@@ -1,51 +0,0 @@
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
-
--->
-
-Documents of Apache IoTDB (incubating) are open source. If you have found any mistakes and would like to contribute, here is a brief step:
-
-## Contributing by Documentation Changes
-
-### Fork and open pull Request
-
-1. Fork the Github repository at https://github.com/apache/incubator-iotdb if you haven’t done already.
-2. Clone your fork, create a new branch, push commits to the branch.
-3. Open a pull request against the master branch of IoTDB. (Only in special cases would the PR be opened against other branches.) Please state that the contribution is your original work and that you license the work to the project under the project’s open source license.
-
-### Documentation Changes
-
-To propose a change to release documentation (that is, docs that appear under <https://iotdb.apache.org/#/Documents/progress/chap1/sec1>), edit the Markdown source files in IoTDB’s docs/ directory(`documentation-EN` branch). The process to propose a doc change is otherwise the same as the process for proposing code changes below.  
-
-Whenever updating **User Guide** documents, remember to update `0-Content.md` at the same time. Here are two brief examples to show how to add new documents or how to modify existing documents:
-
-1. Suppose we have "chapter 1:Overview" already, and want to add a new document `A.md` in chapter 1.
-Then,
-   * Step 1: add document named `5-A.md` in folder "1-Overview", since it is the fifth section in this chapter;
-   * Step 2: modify `0-Content.md` file by adding `* 5-A.md` in the list of "# Chapter 1: Overview".
-
-2. Suppose we want to create a new chapter "chapter7: RoadMap", and want to add a new document `B.md` in chapter 7.
-Then,
-   * Step 1: create a new folder named "7-RoadMap", and add document named `1-B.md` in folder "7-RoadMap";
-   * Step 2: modify `0-Content.md` file by adding "# Chapter 7: RoadMap" in the end, and  adding `* 1-B.md` in the list of this new chapter.
-
-If you need to insert **figures** into documents, you can firstly update the figures in [this issue](https://github.com/thulab/iotdb/issues/543) for storing pictures in IoTDB website or other MD files.
-Drag a picture and then quote the figure's URL link. 
-
-> If you want to contribute more (for example, reviewing Changes, reporting bugs, or even being commiters), please refer to [this page](/#/Development/Contributing).
\ No newline at end of file
diff --git a/docs/Development/Development-IDE.md b/docs/Development/Development-IDE.md
deleted file mode 100644
index e82822a..0000000
--- a/docs/Development/Development-IDE.md
+++ /dev/null
@@ -1,113 +0,0 @@
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
-
--->
-
-# 一、How to contribute
-
-## Resources
-
-Home Page:https://iotdb.apache.org/
-
-Repository:https://github.com/apache/incubator-iotdb/tree/master
-
-Quick start:http://iotdb.apache.org/UserGuide/master/0-Get%20Started/1-QuickStart.html
-
-Jira:https://issues.apache.org/jira/projects/IOTDB/issues/IOTDB-9?filter=allopenissues
-
-Wiki:https://cwiki.apache.org/confluence/display/IOTDB/Home
-
-## Subscribe mail list
-
-Discuss: dev@iotdb.apache.org
-
-send an email to dev-subscribe@iotdb.apache.org, then reply again.
-
-Jira report: notifications@iotdb.apache.org
-
-send an email to notifications-subscribe@iotdb.apache.org, then reply again.
-
-## Issue report
-
-Jira or Github issue.
-
-The jira issue change will auto sent an email to notifications@iotdb.apache.org
-
-## Contribute Documents
-
-All documents in website is in docs in repository
-
-Doc version -> branch
-
-* In progress -> master
-* major_version.x -> rel/major_version (e.g., 0.9.x -> rel/0.9)
-
-Note:
-
-* The pictures in markdown could be put into https://github.com/thulab/iotdb/issues/543 to get url
-
-## Contribute codes
-
-* Leave a comment in the jira issue you want to work.
-* Import code style in idea: java-google-style.xml
-* Submit PR, use [IOTDB-issue number] as prefix
-
-## Import IoTDB in IDE
-
-### IDEA
-
-* "File" -> "Open" -> choose the root path of IoTDB source code. 
-* use `mvn clean compile -Dmaven.test.skip=true`to get target.
-* mark directory ***server/target/generated-sources/antlr4*** as source code
-* mark directory ***service-rpc/target/generated-sources/thrift*** as source code 
-
-### Eclipse
-
-Using Eclipse to develop IoTDB is also simple but requires some plugins of Eclipse.
-
-- If your Eclipse version is released before 2019, Antlr plugin maybe not work in Eclipse. In this way, you have to run the command in your console first: `mvn eclipse:eclipse -DskipTests`. 
-After the command is done, you can import IoTDB as an existing project:
-  - Choose menu "import" -> "General" -> "Existing Projects into Workspace" -> Choose IoTDB
-   root path;
-  - Done.
-
-- If your Eclipse version is fashion enough (e.g., you are using the latest version of Eclipse),
-you can just choose menu "import" -> "Maven" -> "Existing Maven Projects".
- 
-
-## Debugging IoTDB
-
-The main class of IoTDB server is `org.apache.iotdb.db.service.IoTDB`.
-The main class of IoTDB cli is `org.apache.iotdb.client.Client` 
-(or `org.apache.iotdb.client.WinClient` on Win OS).
-
-The client needs parameter: "-h 127.0.0.1 -p 6667 -u root -pw root"
-
-You can run/debug IoTDB by using the two classes as the entrance.
-
-Another way to understand IoTDB is to read and try Unit Tests.
-
-* The implementation of RPC in the server ```server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl```
-	* JDBC.execute() -> TSServiceImpl.executeStatement(TSExecuteStatementReq req)
-	* JDBC.executeQuery() -> TSServiceImpl.executeQueryStatement(TSExecuteStatementReq req)	
-	* Session.insert() -> TSServiceImpl.insert(TSInsertReq req)
-
-* Storage Engine: org.apache.iotdb.db.engine.StorageEngine
-* Query Engine: org.apache.iotdb.db.qp.Planner
-
diff --git a/docs/Development/VoteRelease.md b/docs/Development/VoteRelease.md
new file mode 100644
index 0000000..1bd23ce
--- /dev/null
+++ b/docs/Development/VoteRelease.md
@@ -0,0 +1,202 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+        http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+# How to vote for a release
+
+For non-Chinese users, please read https://cwiki.apache.org/confluence/display/IOTDB/Validating+a+staged+Release
+
+## Download everything under voting version / rc
+
+https://dist.apache.org/repos/dist/dev/incubator/iotdb/
+
+## Import the public key of the release manager
+
+https://dist.apache.org/repos/dist/dev/incubator/iotdb/KEYS
+
+At the bottom is the public key of the Release Manager (RM)
+
+Install gpg2
+
+### the first method
+
+```
+The beginning of the public key is this
+pub   rsa4096 2019-10-15 [SC]
+      10F3B3F8A1201B79AA43F2E00FC7F131CAA00430
+      
+Or this
+
+pub   rsa4096/28662AC6 2019-12-23 [SC]
+```
+
+Download the public key
+
+```
+gpg2 --receive-keys 10F3B3F8A1201B79AA43F2E00FC7F131CAA00430 (or 28662AC6)
+
+or (Designation keyserver) 
+gpg2 --keyserver p80.pool.sks-keyservers.net --recv-keys 10F3B3F8A1201B79AA43F2E00FC7F131CAA00430 (或 28662AC6)
+```
+
+### The second method
+
+Copy the following paragraph into a text file and name it `key.asc`
+
+```
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2
+...
+-----END PGP PUBLIC KEY BLOCK-----
+```
+
+Import RM's public key to your computer
+
+```
+gpg2 --import key.asc
+```
+
+## Verify the source distribution
+
+* (Incubation stage) Verify if `incubating`
+
+* Verify that there are DISCLAIMER, NOTICE, LICENSE, and the content is correct.
+
+* Verify README, RELEASE_NOTES
+
+* Validation header
+
+```
+mvn -B apache-rat:check
+```
+
+* Verify signatures and hashes
+
+```
+gpg2 --verify apache-iotdb-0.9.0-incubating-source-release.zip.asc apache-iotdb-0.9.0-incubating-source-release.zip
+
+appear Good Singnature 
+
+shasum -a512 apache-iotdb-0.9.0-incubating-source-release.zip
+
+Compared with the corresponding .sha512, the same is fine.
+```
+
+* Verify compilation
+
+```
+mvnw.sh install
+
+Should end up all SUCCESS
+```
+
+## Verifying the binary release
+
+* (Incubation stage) Verify if `incubating`
+
+* Verify that there are DISCLAIMER, NOTICE, LICENSE, and the content is correct.
+
+* Verify README, RELEASE_NOTES
+
+* Verify signatures and hashes
+
+```
+gpg2 --verify apache-iotdb-0.9.0-incubating-bin.zip.asc apache-iotdb-0.9.0-incubating-bin.zip
+
+appear Good Singnature 
+
+shasum -a512 apache-iotdb-0.9.0-incubating-bin.zip
+
+Compared with the corresponding .sha512, the same is fine.
+```
+
+* Verify that it starts and the sample statements execute correctly
+
+```
+./sbin/start-server.sh
+
+./sbin/start-client.sh
+
+SET STORAGE GROUP TO root.turbine;
+CREATE TIMESERIES root.turbine.d1.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA;
+insert into root.turbine.d1(timestamp,s0) values(1,1);
+insert into root.turbine.d1(timestamp,s0) values(2,2);
+insert into root.turbine.d1(timestamp,s0) values(3,3);
+select * from root;
+
+Prints the following:
++-----------------------------------+------------------+
+|                               Time|root.turbine.d1.s0|
++-----------------------------------+------------------+
+|      1970-01-01T08:00:00.001+08:00|               1.0|
+|      1970-01-01T08:00:00.002+08:00|               2.0|
+|      1970-01-01T08:00:00.003+08:00|               3.0|
++-----------------------------------+------------------+
+
+```
+
+## Sample mail
+
+Email can be sent after verification
+
+```
+Hi,
+
++1 (PMC could binding)
+
+The source release:
+Incubating in name [ok]
+Has DISCLAIMER [ok]
+LICENSE and NOTICE [ok]
+signatures and hashes [ok]
+All files have ASF header [ok]
+could compile from source: ./mvnw.sh clean install [ok]
+
+The binary distribution:
+Incubating in name [ok]
+Has DISCLAIMER [ok]
+LICENSE and NOTICE [ok]
+signatures and hashes [ok]
+Could run with the following statements [ok]
+
+SET STORAGE GROUP TO root.turbine;
+CREATE TIMESERIES root.turbine.d1.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA;
+insert into root.turbine.d1(timestamp,s0) values(1,1);
+insert into root.turbine.d1(timestamp,s0) values(2,2);
+insert into root.turbine.d1(timestamp,s0) values(3,3);
+select * from root;
+
+Thanks,
+xxx
+```
+
+
+## small tools
+
+* Print out lines containing certain characters (just look at the top output, you don't need to look at the bottom file)
+
+```
+find . -type f -exec grep -i "copyright" {} \; -print | sort -u
+find **/src -type f -exec grep -i "copyright" {} \; -print | sort -u
+```
+
+
+
+<FooterFixed/>
\ No newline at end of file
diff --git a/docs/Community/Community-History&Vision.md b/docs/zh/Community/Community-History&Vision.md
similarity index 100%
copy from docs/Community/Community-History&Vision.md
copy to docs/zh/Community/Community-History&Vision.md
diff --git a/docs/Community/Community-Powered By.md b/docs/zh/Community/Community-Powered By.md
similarity index 100%
copy from docs/Community/Community-Powered By.md
copy to docs/zh/Community/Community-Powered By.md
diff --git a/docs/Community/Community-History&Vision.md b/docs/zh/Community/Community-Project Committers.md
similarity index 95%
copy from docs/Community/Community-History&Vision.md
copy to docs/zh/Community/Community-Project Committers.md
index 64fcf07..82ab2c5 100644
--- a/docs/Community/Community-History&Vision.md
+++ b/docs/zh/Community/Community-Project Committers.md	
@@ -7,9 +7,9 @@
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at
-
+    
         http://www.apache.org/licenses/LICENSE-2.0
-
+    
     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -19,6 +19,6 @@
 
 -->
 
-# History&Vision
+<Contributor/>
 
-Comming Soon.
+<FooterFixed/>
\ No newline at end of file
diff --git a/docs/zh/Development/ContributeGuide.md b/docs/zh/Development/ContributeGuide.md
index 054a233..e586d3d 100644
--- a/docs/zh/Development/ContributeGuide.md
+++ b/docs/zh/Development/ContributeGuide.md
@@ -7,9 +7,9 @@
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at
-
+    
         http://www.apache.org/licenses/LICENSE-2.0
-
+    
     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -29,7 +29,7 @@ IoTDB 官网:https://iotdb.apache.org/
 
 快速上手:http://iotdb.apache.org/UserGuide/master/0-Get%20Started/1-QuickStart.html
 
-Jira 任务管理:https://issues.apache.org/jira/projects/IOTDB/issues/IOTDB-9?filter=allopenissues
+Jira 任务管理:https://issues.apache.org/jira/projects/IOTDB/issues
 
 Wiki 文档管理:https://cwiki.apache.org/confluence/display/IOTDB/Home