Contributions to the Community

This document provides guidance for you to contribute to the openEuler community.

Welcome

Welcome to openEuler!

Before You Start

Welcome to openEuler!

Signing the Contributor License Agreement (CLA)

Please sign the Contributor License Agreement (CLA) before participating in the community contribution.

Community Code of Conduct

openEuler is an open-source community. It fully relies on the friendly development and collaboration environment provided by the community. Before contributing to the community, read and comply with the Code of Conduct of openEuler community.

Starting Your Contribution

Welcome to join us anytime!

There are always documents to be improved (such as this document you are reading), code to be reviewed, functions or variables to be refactored or commented, and test cases to be supplemented and optimized. We will help you understand the openEuler SIG and guide you through your first contribution. So if you are interested, take action now.

Finding Your Interests

Konwing SIG

SIG is short for Special Interest Group. The openEuler community is organized based on different SIGs, facilitating the management and improvement of working processes.

  • SIGs are open to everyone to make contributions.
  • SIGs are established for one or more specific technical topics. SIG members promote the output of deliverables and strive to make the deliverables a part of the release of the openEuler community.
  • Core SIG members lead the governance. For details, see SIG Role Description. You can accumulate experience and improve your influence while making contributions.
  • Each SIG has one or more projects on Gitee, and these projects have one or more repositories. The SIG deliverables are stored in these repositories.
  • Issues can be submitted in the repository corresponding to the SIG where specific issues can be discussed, submitted, resolved, and reviewed.
  • You can also communicate with SIG members through mail lists, IRC or video meetings.

Finding Your SIG or Project

Find a SIG you are interested in so that you can raise questions in the right place and get faster community response.

  • Method 1: If you do not know what SIGs or projects are available, you can view the SIG List which contains all SIGs established in the openEuler community. You can quickly locate a SIG of the field that you are interested in through the list. In addition, the following SIG information is provided:

    • SIG projects and repository locations of the projects
    • Communication methods in the SIG, including mail lists, IRC, and video meetings
    • Maintainer contact information
  • Method 2: If you know the name of a project, perform a fuzzy search in the repository list of openEuler to quickly locate the home page address of the project. Generally, you can find the SIG information, communication method, members, and contact information of the project in the README.md file on the home page.

If you cannot locate the SIG that you are interested in using either of the preceding methods, send a help email to community@openEuler.org. You are advised to use [Question of Development Process] as the title in the email and write down features of the SIG or project you are looking for. We will help you.

Starting Your Contribution

Assigning an Issue to Yourself

  • Finding an issue list: Click Issues to find the SIG issue list (for example, the issue list address of the community team is https://gitee.com/openEuler/community/issues).

  • Assigning an issue: If you want to process one of the issues, you can assign it to yourself. Enter /assign or /assign @yourself in the comment box. The robot will assign the issue to you and your name will be displayed in the owner list.

  • Discussing an issue: Participants communicate and discuss on each issue page. You can leave your opinions in the comment box.

Submitting Issues

  • Problems: You can report a problem or defect to the community by creating an issue. Submit the issue to the issue list of the project repository and view the Issue Submission Guide to obtain more information. When submitting an issue, please comply with the issue submission guidelines.
  • Suggestions: You can submit an issue to share your own comments or suggestions on SIGs. Everyone can fully communicate and discuss this issue. To attract more attention, you can attach the issue link to an email and send the email to all users through the mail list.

Establishing the Development Environment

Installing openEuler

For details, see Downloading and Installing openEuler.

Preparing the Development Environment

To contribute code, you need to prepare the openEuler development environment. For details, see Development Environment Preparation.

Downloading and Building Software Packages

If you want to download, modify, build, and validate the software packages provided by openEuler, see Building Software Packages.

Participating in Code Contribution

Precautions for SIG and Project Development

The coding language, development environment, and coding conventions used by projects may vary in each SIG. If you want to know and participate in the code contribution, find the contributor guide provided by the project for developers. This guide is generally provided as the CONTRIBUTING.md file on the SIG home page, alternatively, you can find it in the README.md file of the project. (For details about how to find the repository of the project, see Finding Your Interests.)

In addition to these files, the SIG may provide other guidance information which is located in the specific community directory of SIG or project. If you do not find any related information or have any questions, submit an issue in the SIG or send the question to the mail list of the SIG to which the project belongs. If you do not receive any response for a long time, contact community@openeuler.org.

Downloading Code and Pulling a Branch

To contribute code, you need to know how to download code from Gitee and integrate code through a Pull Request (PR). openEuler uses the Gitee code hosting platform. For details, see Gitee Workflow Guide. The method of using the hosting platform is similar to that of using GitHub. If you have used GitHub, skip this section.

Modification, Building, and Local Validation

After the modification is complete in a local branch, perform building and local validation. For details, see Building a Software Package.

Submitting a PR

When you submit a PR, it means that you have started to contribute code to the community. For details, see openEuler Community PR Submission Guide.

Reviewing Code

openEuler is an open community. We hope that all participants in the community are active reviewers. Community Member describes the roles and responsibilities of different contributors.

For contributors, to make your submissions more acceptable, you need to:

  • Comply with the SIG coding conventions, if any.
  • Prepare complete submission information.
  • If a large amount of code needs to be submitted at a time, it is recommended that you break down large content into a series of logically small content and submit them separately to help reviewers understand your ideas.
  • Use appropriate SIG and monitor labels to mark PRs: The community robot will send you a message to help you better complete the entire PR process.

For reviewers, it is strongly recommended that you surpass yourselves, respect each other, and promote collaboration in accordance with the Code of Conduct. “The Gentle Art Of Patch Review” puts forward a series of review focuses, explaining that the review is to promote the participation of new contributors and prevent the contributors from being overwhelmed by subtle errors at the beginning. Therefore, when you review PRs, focus on the following:

  • Is the idea of the contribution reasonable?
  • Whether the contribution architecture is correct?
  • Whether the contribution is complete?

Note: If your PR does not draw enough attention, you can seek help through the SIG mail list or dev@openEuler.org.

Test

TBD

Packaging Community Components

For details about packaging community components, see Packaging.

Participating in Non-Code Contributions

If you are not interested in compiling code, you can find interesting work in Non-Code Contributions.

Community Security Issue Disclosure Process

Participating in Community Activities

Communication Methods in Community

The openEuler community supports communication through mail lists, IRC, and video meetings. For details, see Community Communication Guide.

Community Events

The community holds developer conferences every year. You can contact us by sending emails to dev@openEuler.org or sending messages to https://openeuler.org. Join us!

Feedback

If you have any questions about the developer guide or the development process, please feel free to contact us (community@openEuler.org), use [Question of Development Process] as the title, and write down your questions and doubts in the email. The openEuler community operation team will try the best to answer your questions.