Unverified Commit 114fefef authored by Kent Yao's avatar Kent Yao Committed by ulysses-you
Browse files

[KYUUBI #2004] Sync contents for CONTRIBUTING & COMMUNITY between web and main repo

<!--
Thanks for sending a pull request!

Here are some tips for you:
  1. If this is your first time, please read our contributor guidelines: https://kyuubi.readthedocs.io/en/latest/community/contributions.html
  2. If the PR is related to an issue in https://github.com/apache/incubator-kyuubi/issues, add '[KYUUBI #XXXX]' in your PR title, e.g., '[KYUUBI #XXXX] Your PR title ...'.
  3. If the PR is unfinished, add '[WIP]' in your PR title, e.g., '[WIP][KYUUBI #XXXX] Your PR title ...'.
-->

### _Why are the changes needed?_
<!--
Please clarify why the changes are needed. For instance,
  1. If you add a feature, you can talk about the use case of it.
  2. If you fix a bug, you can clarify why it is a bug.
-->

Add CONTRIBUTING.md to list COMMUNITY resources that I contributor can use
delete contributions and improvement-proposal in main repo

### _How was this patch tested?_
- [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

- [ ] Add screenshots for manual tests if appropriate

- [x] [Run test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests

) locally before make a pull request

Closes #2004 from yaooqinn/CONTRIBUTING.

Closes #2004

ddbcd521 [Kent Yao] CONTRIBUTING
f81c14b3 [Kent Yao] Merge branch 'master' of github.com:apache/incubator-kyuubi into CONTRIBUTING
3bdbdc9b [Kent Yao] CONTRIBUTING
574ceff2 [Kent Yao] CONTRIBUTING
f0a6b4c4 [Kent Yao] CONTRIBUTING
c55c6a02 [Kent Yao] CONTRIBUTING
Authored-by: default avatarKent Yao <yao@apache.org>
Signed-off-by: default avatarulysses-you <ulyssesyou@apache.org>
Showing with 67 additions and 200 deletions
+67 -200
<!--
- 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.
-->
# Contributing to Apache Kyuubi
<img src="https://svn.apache.org/repos/asf/comdev/project-logos/originals/kyuubi-1.svg" alt="Kyuubi logo" width="50%" align="right" />
Thanks for your interest in the Apache Kyuubi project.
Contributions are welcome and are greatly appreciated!
Every little bit helps, and a credit will always be given.
This page provides some orientation and resources we have for you to get involved.
It also offers recommendations on getting the best results when engaging with the community.
We hope that this will be a pleasant first experience for you to return to continue contributing.
## Get Involved
In the process of using Apache Kyuubi, if you have any questions, suggestions, or improvement ideas, you can participate in the Kyuubi community building through the following suggested channels.
- Join the [Mailing Lists](https://kyuubi.apache.org/mailing_lists.html) - the best way to keep up-to-date with the community.
- [Issue Tracker](https://kyuubi.apache.org/issue_tracking.html) - tracking bugs, ideas, plans, etc.
- [Github Discussions](https://github.com/apache/incubator-kyuubi/discussions) - second to mailing list for anything else you want to share or ask
## Contributing Guide
As a community-driven project. All bits of help are welcome.
Contributing code is excellent, but that’s probably not the first place to start.
There are many ways to make valuable contributions to the project and community.
You can make various types of contributions to Kyuubi, including the following but not limited to,
- Answer questions in the [Mailing Lists](https://kyuubi.apache.org/mailing_lists.html)
- [Share your success stories with us](https://github.com/apache/incubator-kyuubi/discussions/925)
- Improve Documentation - [![Documentation Status](https://readthedocs.org/projects/kyuubi/badge/?version=latest)](https://kyuubi.apache.org/docs/latest/)
- Test latest releases - [![Latest tag](https://img.shields.io/github/v/tag/apache/incubator-kyuubi?label=tag)](https://github.com/apache/incubator-kyuubi/tags)
- Improve test coverage - [![codecov](https://codecov.io/gh/apache/incubator-kyuubi/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/incubator-kyuubi)
- Report bugs and better help developers to reproduce
- Review changes
- Make a pull request
- Promote to others
- Click the star button if you like this project
Before you start, we recommend that you check the [Contribution Guidelines](https://kyuubi.apache.org/contributing.html) first.
## Easter Eggs for Contributors
TBD, please be patient for the surprise.
......@@ -33,7 +33,7 @@ Mentors and community members are encouraged to contribute to this page and comm
| ID | Description | Status |
|-----|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| C10 | The project produces Open Source software for distribution to the public, at no charge. | :white_check_mark: The project source code is licensed under the [Apache License, v2.0](https://github.com/apache/incubator-kyuubi/blob/master/LICENSE) |
| C20 | Anyone can easily discover and access the project's code. | :x: The source code is available on GitHub directly, :bangbang: Missing link on website |
| C20 | Anyone can easily discover and access the project's code. | :white_check_mark: The source code is available on GitHub directly, linked on website |
| C30 | Anyone using standard, widely-available tools, can build the code in a reproducible way. | :x: The source code is automatically built for each Pull Request commit, with license checks, style checks, doc builds, unit and end to end tests, via GitHub actions and Travis. Development environment setup and build instructions to do the same locally are documented on the [website](https://kyuubi.apache.org/developer-tools.html). :bangbang: The site is not synced with the codebase. |
| C40 | 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. | :white_check_mark: The project uses git to manage source code, documentation and website, all releases are tagged. The commit history is available from the beginning of the project. |
| C50 | 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. | :white_check_mark: The project uses GitHub repository managed by Apache Infra, it ensuring the provenance of each line of code to a committer. All code is checked in after review and approval via GitHub pull requests. |
......
......@@ -105,21 +105,7 @@ For 1.2 and earlier versions, please check the [Readthedocs](https://kyuubi.read
Ready? [Getting Started](https://kyuubi.apache.org/docs/latest/quick_start/quick_start.html) with Kyuubi.
## Contributing
All bits of help are welcome. You can make various types of contributions to Kyuubi, including the following but not limited to,
- Help new users in chat channel or share your success stories with us - [![Gitter](https://badges.gitter.im/kyuubi-on-spark/Lobby.svg)](https://gitter.im/kyuubi-on-spark/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
- Improve Documentation - [![Documentation Status](https://readthedocs.org/projects/kyuubi/badge/?version=latest)](https://kyuubi.apache.org/docs/latest/)
- Test releases - [![Latest tag](https://img.shields.io/github/v/tag/apache/incubator-kyuubi?label=tag)](https://github.com/apache/incubator-kyuubi/tags)
- Improve test coverage - [![codecov](https://codecov.io/gh/apache/incubator-kyuubi/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/incubator-kyuubi)
- Report bugs and better help developers to reproduce
- Review changes
- Make a pull request
- Promote to others
- Click the star button if you like this project
Before you start, we recommend that you check the [Contribution Guidelines](https://kyuubi.apache.org/docs/latest/community/contributions.html) first.
## [Contributing](./CONTRIBUTING.md)
## Aside
......
......@@ -18,5 +18,5 @@
@import url("theme.css");
.wy-nav-content {
max-width: 90%;
max-width: 100%;
}
../../CONTRIBUTING.md
\ No newline at end of file
<!--
- 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.
-->
<script async defer src="https://buttons.github.io/buttons.js"></script>
# Contribution Guidelines
**Kyuubi** is an [Apache License v2.0](https://github.com/apache/incubator-kyuubi/blob/master/LICENSE) open source software.
Contributing to Kyuubi including source code, documents, tests e.t.c. means that you agree to the Apache License v2.0.
- Better to search the issue history first before reporting an <a class="github-button" href="https://github.com/apache/incubator-kyuubi/issues" data-color-scheme="no-preference: light; light: dark; dark: light;" data-icon="octicon-issue-opened" data-show-count="true" aria-label="Issue Kyuubi on GitHub">Issue</a>
- Better to create an <a class="github-button" href="https://github.com/apache/incubator-kyuubi/issues" data-color-scheme="no-preference: light; light: dark; dark: light;" data-icon="octicon-issue-opened" data-show-count="true" aria-label="Issue Kyuubi on GitHub">Issue</a> to describe the feature or bug first before make a pull request.
- Better to use English for world widely understanding.
- Ask us anything
Before you start, please read the [Code of Conduct](http://www.apache.org/foundation/policies/conduct.html) carefully, familiarize yourself with it and refer to it whenever you need it.
## Prepare github environment
If you are new to submit a Pull Request, the follow steps are helpful to you.
1. An available [git](https://git-scm.com/downloads), you can run `git version` if you are not sure if you have
2. Fork [Kyuubi](https://github.com/apache/incubator-kyuubi) on github, now you have a cloned Kyuubi repo
3. Clone your Kyuubi repo with cmd `git clone https://github.com/${yourname}/kyuubi.git`
4. Create a new branch with cmd `git checkout -b test-branch`
5. Modify the code you want
6. Commit and push code to your Kyuubi repo with command `git commit -am "comment"; git push test-branch test-branch`
7. Back to [Kyuubi](https://github.com/apache/incubator-kyuubi), you can see a banner about `new pull request`
8. Now we can create a pull request to Kyuubi
## Creating a Pull Request
When creating a Pull Request, you will automatically get the template below.
Fulfilling it thoroughly can improve the speed of the review process.
```
<!--
Thanks for sending a pull request!
Here are some tips for you:
1. If this is your first time, please read our contributor guidelines:
https://kyuubi.apache.org/docs/latest/community/contributions.html
-->
### _Which issue are you going to fix?_
<!--
Replace ${ID} below with the actual issue id from
https://github.com/apache/incubator-kyuubi/issues,
so that the issue will be linked and automatically closed after merging
-->
Fixes #${ID}
### _Why are the changes needed?_
<!--
Please clarify why the changes are needed. For instance,
1. If you add a feature, you can talk about the user case of it.
2. If you fix a bug, you can clarify why it is a bug.
-->
### _How was this patch tested?_
- [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible
- [ ] Add screenshots for manual tests if appropriate
- [ ] [Run test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests) locally before make a pull request
```
<!--
- 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.
-->
<div align=center>
![](../imgs/kyuubi_logo.png)
</div>
# Kyuubi Project Improvement Proposals (KPIP)
The purpose of a KPIP is to inform and involve the user community in significant improvements to the Kyuubi codebase throughout the development process to increase user needs.
KPIPs should be used for significant user-facing or cross-cutting changes, not minor incremental improvements. When in doubt, if a committer thinks a change needs a KPIP, it does.
## What is a KPIP?
A KPIP is similar to a product requirement document commonly used in product management.
A KPIP:
- Is a ticket labeled “KPIP” proposing a major improvement or change to Kyuubi
- Follows the template defined below
- Includes discussions on the ticket about the proposal
## Who?
Any **community member** can help by discussing whether a KPIP is likely to meet their needs and propose KPIPs.
**Contributors** can help by discussing whether a KPIP is likely to be technically feasible.
**Committers** can help by discussing whether a KPIP aligns with long-term project goals, and by shepherding KPIPs.
**KPIP Author** is any community member who authors a KPIP and is committed to pushing the change through the entire process. KPIP authorship can be transferred.
**KPIP Shepherd** is a PMC member who is committed to shepherding the proposed change throughout the entire process. Although the shepherd can delegate or work with other committers in the development process, the shepherd is ultimately responsible for the success or failure of the KPIP. Responsibilities of the shepherd include, but are not limited to:
- Be the advocate for the proposed change
- Help push forward on design and achieve consensus among key stakeholders
- Review code changes, making sure the change follows project standards
- Get feedback from users and iterate on the design & implementation
- Uphold the quality of the changes, including verifying whether the changes satisfy the goal of the KPIP and are absent of critical bugs before releasing them
## KPIP Process
### Proposing a KPIP
Anyone may propose a KPIP, using the document template below. Please only submit a KPIP if you are willing to help, at least with discussion.
If a KPIP is too small or incremental and should have been done through the normal JIRA process, a committer should remove the KPIP label.
### KPIP Document Template
A KPIP document is a short document with a few questions, inspired by the Heilmeier Catechism:
- Q1. What are you trying to do? Articulate your objectives using absolutely no jargon.
- Q2. What problem is this proposal NOT designed to solve?
- Q3. How is it done today, and what are the limits of current practice?
- Q4. What is new in your approach, and why do you think it will be successful?
- Q5. Who cares? If you are successful, what difference will it make?
- Q6. What are the risks?
- Q7. How long will it take?
- Q8. What are the mid-term and final “exams” to check for success?
- Appendix A. Proposed API Changes. Optional section defining APIs changes, if any. Backward and forward compatibility must be taken into account.
- Appendix B. Optional Design Sketch: How are the goals going to be accomplished? Give sufficient technical detail to allow a contributor to judge whether it's likely to be feasible. Note that this is not a full design document.
- Appendix C. Optional Rejected Designs: What alternatives were considered? Why were they rejected? If no alternatives have been considered, the problem needs more thought.
### Discussing a KPIP
All discussions of a KPIP should take place in a public forum, preferably the discussion attached to the ticket. Any discussion that happen offline should be made available online for the public via meeting notes summarizing the discussions.
### Implementing a KPIP
Implementation should take place via the [contribution guidelines](./contributions.md). Changes that require KPIPs typically also require design documents to be written and reviewed.
......@@ -24,8 +24,7 @@ Community
:numbered: 4
:glob:
CONTRIBUTING
collaborators
contributions
improvement-proposals
release
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment