You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: contributors/guide/README.md
+44-8
Original file line number
Diff line number
Diff line change
@@ -1,28 +1,63 @@
1
+
# Welcome
2
+
3
+
Have you ever wanted to contribute to the coolest cloud technology?
4
+
We will help you understand the organization of the Kubernetes project and direct you to the best places to get started.
5
+
You'll be able to pick up issues, write code to fix them, and get your work reviewed and merged.
6
+
1
7
This document is the single source of truth for how to contribute to the code base.
2
8
Feel free to browse the [open issues](https://github.com/kubernetes/community/issues?q=is%3Aissue+is%3Aopen+label%3Aarea%2Fcontributor-guide) and file new ones, all feedback welcome!
3
9
4
-
# Welcome
10
+
## Contributor Guide
11
+
12
+
Welcome to Kubernetes! This guide is broken up into the following sections.
13
+
It is recommended that you follow these steps in order.
5
14
6
-
Welcome to Kubernetes!
15
+
-[Welcome](#welcome) - this page
16
+
-[Prerequisites](#prerequisites) - things you need to complete before contributing
17
+
-[Your First Contribution](first-contribution.md) - things you need to know before your first contribution
18
+
-[Contributing](contributing.md) - the main guide with contributor information
Before submitting code to the project you should first take care of the following prerequisites.
34
+
These steps are checked by a bot during your first submission, so doing these steps first will make your first contribution easier:
35
+
36
+
## Sign the CLA
37
+
38
+
Before you can contribute, you will need to sign the [Contributor License Agreement](/CLA.md).
39
+
40
+
## Code of Conduct
41
+
42
+
Please make sure to read and observe our [Code of Conduct](/code-of-conduct.md) and [Community Values](/values.md)
43
+
44
+
## Setting up your development environment
45
+
46
+
If you haven’t set up your environment, check the [developer resources](/contributors/devel/README.md#setting-up-your-dev-environment-coding-and-debugging).
47
+
48
+
## Community Expectations and Roles
49
+
50
+
Kubernetes is a community project.
51
+
Consequently, it is wholly dependent on its community to provide a productive, friendly and collaborative environment.
52
+
53
+
- Read and review the [Community Expectations](expectations.md) for an understanding of code and review expectations.
54
+
- See [Community Membership](/community-membership.md) for a list the various responsibilities of contributor roles. You are encouraged to move up this contributor ladder as you gain experience.
55
+
21
56
# Kubernetes Contributor Playground
22
57
23
58
If you are looking for a safe place, where you can familiarize yourself with (some of) the Kubernetes Project's review and pull request processes, then the [Kubernetes Contributor Playground](https://github.com/kubernetes-sigs/contributor-playground/) is the right place for you.
24
59
25
-
## Youtube playlist
60
+
## Contributor Workshops
26
61
27
62
A [Youtube playlist](https://www.youtube.com/playlist?list=PL69nYSiGNLP3M5X7stuD7N4r3uP2PZQUx) of the New Contributor workshop has been posted, and an outline of the video content can be found [here](/events/2018/05-contributor-summit).
28
63
@@ -50,6 +85,7 @@ You may also contact Paris Pittman via direct message on Kubernetes Slack (@pari
50
85
51
86
Please learn about our mentoring initiatives [here](http://git.k8s.io/community/mentoring/README.md).
52
87
Feel free to ask us anything during our [Meet Our Contributors](https://github.com/kubernetes/community/blob/master/mentoring/programs/meet-our-contributors.md) to connect with us.
88
+
53
89
# Advanced Topics
54
90
55
91
This section includes things that need to be documented, but typical contributors do not need to interact with regularly.
Copy file name to clipboardExpand all lines: contributors/guide/contributing.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -43,7 +43,7 @@ To check out code to work on, please refer to [the GitHub Workflow Guide](./gith
43
43
44
44
## Open a Pull Request
45
45
46
-
Pull requests are often called simply "PR".
46
+
Pull requests are often called a "PR".
47
47
Kubernetes generally follows the standard [github pull request](https://help.github.com/articles/about-pull-requests/) process, but there is a layer of additional kubernetes specific (and sometimes SIG specific) differences:
@@ -56,7 +56,7 @@ Refer to its [command reference documentation](https://go.k8s.io/bot-commands).
56
56
57
57
Common new contributor PR issues are:
58
58
59
-
* not having correctly signed the CLA ahead of your first PR (see [Sign the CLA](/contributors/guide/getting-started.md#sign-the-cla) section)
59
+
* not having correctly signed the CLA ahead of your first PR. See the [CLA page](/CLA.md) for troubleshooting help, in some cases you might need to file a ticket with the CNCF to resolve a CLA problem.
60
60
* finding the right SIG or reviewer(s) for the PR (see [Code Review](#code-review) section) and following any SIG or repository specific contributing guidelines (see [Learn about SIGs](#learn-about-sigs) section)
61
61
* dealing with test cases which fail on your PR, unrelated to the changes you introduce (see [Test Flakes](http://velodrome.k8s.io/dashboard/db/bigquery-metrics?orgId=1))
62
62
* Not following [scalability good practices](scalability-good-practices.md)
Copy file name to clipboardExpand all lines: contributors/guide/expectations.md
+20-24
Original file line number
Diff line number
Diff line change
@@ -6,34 +6,31 @@ description: |
6
6
community.
7
7
---
8
8
9
-
Kubernetes is a community project. Consequently, it is wholly dependent on
10
-
its community to provide a productive, friendly and collaborative environment.
9
+
Kubernetes is a community project.
10
+
Consequently, it is wholly dependent on its community to provide a productive, friendly and collaborative environment.
11
11
12
12
The first and foremost goal of the Kubernetes community is to develop orchestration
13
13
technology that radically simplifies the process of creating reliable
14
-
distributed systems. However a second, equally important goal is the creation
14
+
distributed systems.
15
+
However a second, equally important goal is the creation
15
16
of a community that fosters easy, agile development of such orchestration
16
17
systems.
17
18
18
-
We therefore describe the expectations for
19
-
members of the Kubernetes community. This document is intended to be a living one
20
-
that evolves as the community evolves via the same PR and code review process
21
-
that shapes the rest of the project. It currently covers the expectations
22
-
of conduct that govern all members of the community as well as the expectations
23
-
around code review that govern all active contributors to Kubernetes.
19
+
We therefore describe the expectations for members of the Kubernetes community.
20
+
This document is intended to be a living one that evolves as the community evolves via the same PR and code review process that shapes the rest of the project.
21
+
It currently covers the expectations of conduct that govern all members of the community as well as the expectations around code review that govern all active contributors to Kubernetes.
24
22
25
23
## Code review
26
24
27
25
As a community we believe in the value of code review for all contributions.
28
26
Code review increases both the quality and readability of our codebase, which
29
27
in turn produces high quality software.
30
28
31
-
See the [pull request documentation](/contributors/guide/pull-requests.md) for more information
32
-
on code review.
29
+
See the [pull request documentation](/contributors/guide/pull-requests.md) for more information on code review.
33
30
34
31
Consequently, as a community we expect that all active participants in the
35
-
community will also be active reviewers. The
36
-
[community membership](/community-membership.md) outlines the responsibilities
32
+
community will also be active reviewers.
33
+
The [community membership](/community-membership.md) outlines the responsibilities
37
34
of the different contributor roles.
38
35
39
36
Expect reviewers to request that you avoid [common go style
@@ -44,27 +41,26 @@ mistakes](https://github.com/golang/go/wiki/CodeReviewComments) in your PRs.
44
41
Because reviewers are often the first points of contact between new members of
45
42
the community and can significantly impact the first impression of the
46
43
Kubernetes community, reviewers are especially important in shaping the
47
-
Kubernetes community. Reviewers are highly encouraged to review the
48
-
[code of conduct](/governance.md#code-of-conduct) and are strongly
49
-
encouraged to go above and beyond the code of conduct to promote a collaborative,
50
-
respectful Kubernetes community.
44
+
Kubernetes community.
45
+
Reviewers are highly encouraged to not only abide by the [code of conduct](/governance.md#code-of-conduct) but are strongly encouraged to go above and beyond the code of conduct to promote a collaborative, respectful Kubernetes community.
51
46
52
47
## Expectations of reviewers: Review latency
53
48
54
49
Reviewers are expected to respond in a timely fashion to PRs that are assigned
55
-
to them. Reviewers are expected to respond to an *active* PRs with reasonable
56
-
latency, and if reviewers fail to respond, those PRs may be assigned to other
57
-
reviewers.
50
+
to them.
51
+
Reviewers are expected to respond to an *active* PRs with reasonable latency, and if reviewers fail to respond, those PRs may be assigned to other reviewers.
58
52
59
-
If reviewers are unavailable to review for some time, they are expected to set their [user status](https://help.github.com/en/articles/personalizing-your-profile#setting-a-status) to "busy" so that the bot will not request reviews from them on new PRs automatically. If they are unavailable for a longer period of time, they are expected to remove themselves from the OWNERS file and potentially nominate someone else.
53
+
If reviewers are unavailable to review for some time, they are expected to set their [user status](https://help.github.com/en/articles/personalizing-your-profile#setting-a-status) to "busy" so that the bot will not request reviews from them on new PRs automatically.
54
+
If they are unavailable for a longer period of time, they are expected to remove themselves from the OWNERS file and potentially nominate someone else.
60
55
61
56
*Active* PRs are considered those which have a proper CLA (`cla:yes`) label
62
-
and do not need rebase to be merged. PRs that do not have a proper CLA, or
63
-
require a rebase are not considered active PRs.
57
+
and do not need rebase to be merged.
58
+
PRs that do not have a proper CLA, or require a rebase are not considered active PRs.
64
59
65
60
## Thanks
66
61
67
62
Many thanks in advance to everyone who contributes their time and effort to
68
63
making Kubernetes both a successful system as well as a successful community.
69
64
The strength of our software shines in the strengths of each individual
Have you ever wanted to contribute to the coolest cloud technology?
22
-
We will help you understand the organization of the Kubernetes project and direct you to the best places to get started.
23
-
You'll be able to pick up issues, write code to fix them, and get your work reviewed and merged.
24
-
25
-
Please be aware that due to the large number of issues our triage team deals with, we cannot offer technical support in GitHub issues.
26
-
If you have questions about the development process, feel free to jump into our [Slack Channel](http://slack.k8s.io/) or join our [mailing list](https://groups.google.com/forum/#!forum/kubernetes-dev).
27
-
You can also ask questions on [ServerFault](https://serverfault.com/questions/tagged/kubernetes) or [Stack Overflow](https://stackoverflow.com/questions/tagged/kubernetes).
28
-
The Kubernetes team scans Stack Overflow on a regular basis and will try to ensure your questions don't go unanswered.
29
-
30
20
## Find something to work on
31
21
32
22
Help is always welcome! For example, documentation (like the text you are reading now) can always use improvement.
@@ -43,8 +33,6 @@ There are [multiple repositories](https://github.com/kubernetes/) within the Kub
43
33
Each repository has beginner-friendly issues that provide a good first issue.
44
34
For example, [kubernetes/kubernetes](https://git.k8s.io/kubernetes) has [help wanted](https://go.k8s.io/help-wanted) and [good first issue](https://go.k8s.io/good-first-issue) labels for issues that should not need deep knowledge of the system.
45
35
The `good first issue` label indicates that members have committed to providing [extra assistance](/contributors/guide/help-wanted.md) for new contributors.
46
-
<!-- TODO: review removing this note after 3 months or after the 1.12 release -->
47
-
Please note that while several of the repositories in the Kubernetes community have `good first issue` labels already, they are still being applied throughout the community.
48
36
49
37
Another good strategy is to find a documentation improvement, such as a missing/broken link, which will give you exposure to the code submission/review process without the added complication of technical depth. Please see [Contributing](#contributing) below for the workflow.
50
38
@@ -55,16 +43,18 @@ then the robot will assign the issue to you and your name will present at `Assig
55
43
56
44
### Learn about SIGs
57
45
58
-
#### SIG structure
59
-
60
-
You may have noticed that some repositories in the Kubernetes Organization are owned by Special Interest Groups, or SIGs.
46
+
You may have noticed that some repositories in the Kubernetes Organization are owned by [Special Interest Groups](/sig-list.md), or SIGs.
61
47
We organize the community into SIGs in order to improve our workflow and more easily manage what is a very large community project.
62
-
The developers within each SIG have autonomy and ownership over that SIG's part of Kubernetes.
48
+
The developers within each SIG have autonomy and ownership over that SIG's part of Kubernetes. Check out the [list of SIGs](/sig-list.md) for contact information.
49
+
50
+
Understanding how to interact with SIGs is an important part of contributing.
51
+
52
+
#### SIG structure
63
53
64
54
A SIG is an open, community effort.
65
55
Anybody is welcome to jump into a SIG and begin fixing issues, critiquing design proposals and reviewing code.
66
56
SIGs have regular [video meetings](https://kubernetes.io/community/) which everyone is welcome to.
67
-
Each SIG has a slack channelthat you can join as well.
57
+
Each SIG has a slack channel, meeting notes, and their own documentation that is useful to read and understand.
68
58
69
59
There is an entire SIG ([sig-contributor-experience](/sig-contributor-experience/README.md)) devoted to improving your experience as a contributor.
0 commit comments