Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 85 additions & 12 deletions docs/community/contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,98 @@ sidebar_position: 1

Please make sure to read and observe our [Code of Conduct](https://github.com/kubeedge/community/blob/master/CODE_OF_CONDUCT.md).

## Community Expectations
## Community Membership

KubeEdge is a community project driven by its community which strives to promote a healthy, friendly and productive environment.
The goal of the community is to develop a cloud native edge computing platform built on top of Kubernetes to manage edge nodes and devices at scale and demonstrate resiliency, reliability in offline scenarios. To build a platform at such scale requires the support of a community with similar aspirations.

- See [Community Membership](./membership) for a list of various community roles. With gradual contributions, one can move up in the chain.

## Contribute to KubeEdge

## Preparation
We're always excited to welcome new contributors! Here's how to get started:

- Choose matched [golang](https://go.dev/dl/) version and install:
### Getting Started

| | Golang 1.11 | Golang 1.12 | Golang 1.13 | Golang 1.14 |
|-------------------------|-----------------|-----------------|-----------------|-----------------|
| KubeEdge 1.2 | ✗ | ✓ | ✓ | ✓ |
| KubeEdge 1.3 | ✗ | ✓ | ✓ | ✓ |
| KubeEdge 1.4 | ✗ | ✗ | ✗ | ✓ |
| KubeEdge HEAD (master) | ✗ | ✗ | ✗ | ✓ |
Comment on lines -21 to -26
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i guess this is toooooo old and out dated, so that we can remove this entire section from here. (for along time, nobody has complained about this. that said, it is safe to remove.)

1. **Fork the repository** on GitHub
2. **Clone your fork** to your local machine:
```bash
git clone https://github.com/YOUR-USERNAME/kubeedge.git
cd kubeedge
```
3. Read the [Developer Guide](../developer/build.md) to learn how to build and test KubeEdge

- Fork the repository on GitHub
- Download the repository
- Read [this](https://github.com/kubeedge/kubeedge/blob/master/CONTRIBUTING.md) for more details
### Find Something to Work On

There are several ways to find issues to work on:

- **Good First Issues**: Look for issues labeled [`good first issue`](https://github.com/kubeedge/kubeedge/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) - these are beginner-friendly and don't require deep system knowledge
- **Help Wanted**: Check issues labeled [`help wanted`](https://github.com/kubeedge/kubeedge/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) for areas where the community needs assistance
- **Documentation improvements**: Fix broken links, clarify confusing sections, or add missing documentation
- **Bug reports**: File issues when you encounter problems - even reporting bugs is a valuable contribution!

When you find an issue you'd like to work on, comment with `/assign` or `/assign @yourself` to assign it to yourself.

### Contributor Workflow

Here's the typical workflow for contributing code:

1. **Create a topic branch** from `master`:
```bash
git checkout -b my-feature-branch
```

2. **Make your changes** with clear, logical commits

3. **Write good commit messages** following this format:
```
<subsystem>: <what changed>

<why this change was made>

Fixes #issue-number
```

4. **Test your changes** locally before submitting:
```bash
make verify # Run verification checks
make lint # Run linting

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The make lint command is not mentioned in the Developer Guide, which is referenced as the source for building and testing. This might cause confusion or errors for new contributors if the lint make target doesn't exist. Please consider removing this command to align with the developer guide, or update the guide to include it if it's a valid and recommended step.

make test # Run unit tests
make integrationtest # Run integration tests
```

5. **Push to your fork** and create a pull request to `kubeedge/kubeedge`

6. **Address review feedback** - PRs require approval from two maintainers

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The Community Membership guide indicates that Approvers review and approve contributions, while Maintainers typically have merge rights. Specifying maintainers here could be inaccurate. To align with the defined community roles, it would be better to state that approvals are needed from approvers.

Suggested change
6. **Address review feedback** - PRs require approval from two maintainers
6. **Address review feedback** - PRs require approval from two approvers


## Contribute to Documentation

Documentation is a critical part of KubeEdge, and we welcome contributions to improve it! The KubeEdge documentation website is built using [Docusaurus](https://docusaurus.io/) and hosted in a separate repository.

The documentation source files are maintained in the [kubeedge/website](https://github.com/kubeedge/website) repository.

### How to Contribute to Docs

1. **Fork the website repository**:
```bash
git clone https://github.com/YOUR-USERNAME/website.git
cd website
```

2. **Set up the local environment**:
Using npm (requires Node.js):
```bash
npm install
npm start
```

This will start a local development server at `http://localhost:3000` where you can preview your changes.
Or you can use [Docker/Devcontainer](https://github.com/kubeedge/website?tab=readme-ov-file#using-container) if you want.

3. **Make your documentation changes**:

4. **Preview your changes** locally to ensure formatting and links work correctly

5. **Submit a pull request** to [kubeedge/website](https://github.com/kubeedge/website) following the same workflow as code contributions

For more information about contributing to the documentation, visit the [website repository](https://github.com/kubeedge/website).