iconm-menu
English chevron-down
中文English
moon-outline
light

Welcome to openEuler!

1. Experience openEuler

1.1 Experience the openEuler OS

Experience the openEuler OS in any of the following ways:

1.2 Experience Original Open Source Projects

Experience a range of original open source projects in the openEuler community.

  • StratoVirt:An enterprise-grade virtualization platform intended for cloud data centers.
  • A-Tune:An AI-based intelligent tuning engine.
  • iSula: A lightweight container solution.
  • secGear:A confidential computing security application development suite for the computing industry.
  • pkgship:A query tool that manages OS software package dependencies and provides detailed dependency graphs.
  • BiSheng JDK:The open source version of Huawei JDK that is developed on the OpenJDK framework. It is a high-performance OpenJDK release that can be used in production environments.
  • Compass-CI: An open source software platform for sustainable integration, building an open and complete test system.

2. Sign the CLA

Sign the openEuler community Contributor License Agreement (CLA) before starting community contributions. Choose an individual CLA, employee CLA, or corporation CLA based on your participation status (click here)

  • Individual CLA: Join the community as an individual.
  • Corporation CLA: Join the community as a corporation.
  • Employee CLA: Join the community as an enterprise employee.

3. Join the openEuler Community

3.1 Participate in Community Activities

Learn about and participate in a variety of community activities.

  • Meeting:View the public meeting schedule of Special Interest Groups (SIGs) on the openEuler homepage and join the meetings you are interested in.
  • Meetups
  • Live
  • Summit

3.2 Find the SIGs to Participate In

3.2.1 Learn About SIGs and Find the SIGs You Are Interested In

The openEuler community is organized into SIGs to better manage the work processes. SIGs are open to anyone, and finding your perfect SIG is the first step to contributing to community affairs. Currently, the openEuler community has more than 70 SIGs. View the openEuler SIG list to find the SIG you want to join. If you cannot find the SIG that you are interested in, send an email to community@openeuler.org It is recommended that you use "[Development Process Issue]" as the heading of the mail and describe the SIGs or projects you are looking for.

3.2.2 Start a New SIG

If you fail to find the SIGs you are interested in and want to start a new SIG for maintenance and development in the openEuler community, refer to Application Process.

3.3 Engage in Community Contributions

Once you sign the CLA and join a SIG you can start your contribution journey. Any contribution, big or small, are welcomed and valued by the community.

3.3.1.Submit and Address Issues
  • Find the issue list. On the Gitee homepage of the SIG project you are interested in, click Issues(for example, the issues of the Community) project.
  • Submit an issue.
    If you want to report bugs, submit requests, or contribute your comments or suggestions to the openEuler community, submit an issue in the corresponding repository of the openEuler community.
    For details about how to submit an issue, see the Issue Submission Guide. To attract more attention, you can also attach the issue link in an email and send it to everyone through the Mailing Lists.
  • Participate in the discussion on an issue.
    There are discussions among participants under each issue. If you are interested in an issue, you can also post your comments in the comment box.
  • Find the issues that you want to address.
    If you want to work on one of those issues, you can assign it to yourself. Type /assign or /assign @your_account_name in the comment box. The system will assign the issue to you and your name will appear in the owner list.
3.3.2.Contribute Code
  • Prepare the openEuler development environment.
    Prepare an openEuler development environment before contributing code. For details, see Preparing the Development Environment.

  • Understand the development precautions of the SIG and the project.
    The coding languages, development environments, and coding conventions used by projects of each SIG may vary. If you want to learn about and contribute code, find the project's contributor guide for developers – which is generally available as a CONTRIBUTING.md file on the SIG's homepage, or just in README.md of the project.

  • Download code and pull a branch.
    Before contributing code, learn how to download code from Gitee and merge code through pull requests (PRs). openEuler code is hosted on the Gitee platform. For details, see Gitee Workflow. Gitee is similar to GitHub. If you have used GitHub before, skip this section.

  • Perform modification, building, and local validation. After the modification is complete on the local branch, build and verify the local branch by referring to Software Package Building.

  • Create a PR.
    Creating a PR means that you are contributing code to the community. For details, see Creating a Pull Request. To make your PR easier to be accepted, you need to:

    • Follow the coding conventions (if any) of the SIG.
    • Write good commit messages.
    • If you want to commit a large amount of code at a time, it is recommended that you divide the code into a series of smaller pieces, which will make it easier for reviewers to understand your ideas.
    • Mark the PR with appropriate SIG and monitor tags. The CI Bot will walk you through the PR process.

    Note: If your PR does not attract enough attention, you can ask for help through the SIG mailing list or dev@openeuler.org for help

3.3.3.Contribute a Package

If you find that openEuler is missing any software package, you can contribute the software package to the openEuler community. Contributing software packages enhances openEuler functionalities, making openEuler a software ecosystem with anything you need. When a software package is added to openEuler on Gitee, a repository with the same name will be created in openEuler:Factory of OBS. When code is committed to the created Gitee repository, the code compilation is automatically checked. For details, see Adding a New Software Package.

3.3.4.Contribute Original Open Source Projects

If you want to contribute your original open source project to the openEuler community and make it a part of the openEuler release, you can use either of the following methods:

  • Method 1: Develop a project in another community and integrate it into openEuler. Assuming that you already have your own projects on GitHub, GitLab, or Gitee, simply add the software to the src-openeuler repository by referring to Adding a New Software Package.
  • Method 2: Develop and integrate a project in openEuler.
    Creating original projects directly at https://gitee.com/openeuler is similar to "hosting" projects to the openEuler community, such as iSula and A-Tune. If you have a great idea that you want to implement in the openEuler community, follow the procedure below to get deeply involved in the openEuler community.
    1.Apply for an open source project in regular meetings of the Technical Committee (TC).
    2.If the TC evaluates that it is a good idea and deserves to be promoted, you can set up a repository at https://gitee.com/openeuler.
    3.The project will be continuously developed and incubated in openEuler until it matures. Then create a repository in src-openeuler to provide relevant spec files for the project and create an RPM file.
    4.Eventually, your original open source project will be used by people around the world with openEuler releases.
3.3.5.Review Code

openEuler is an open community and everyone involved is expected to be active reviewers. When you are a committer or maintainer of a SIG, you have the responsibility and permission to review code. Everyone in the community is encouraged to pursue excellence and promote collaboration on the ground of the Code of Conduct and mutual respect. The Gentle Art Of Patch Review lists a series of review highlights. Code review activities are expected to promote the active participation of new contributors without causing the contributors to be overwhelmed by minor errors at the beginning. Therefore, during the review, focus on the following:

  1.Whether the idea behind the contribution is reasonable.

  2.Whether the contribution architecture is correct.

  3.Whether the contribution is complete.

3.3.6.Test

Testing is the responsibility of all contributors. For the community version, sig-qa group is the official community organization responsible for testing activities. If you want to test on your own infrastructure, refer to Introduction to the Community Test System . To successfully release a community version, you need to complete multiple test activities. The location of the test code varies according to the test activity, so do the details of the environment required for successful test running. For details, see Test Contribution Guide for Community Developers.

3.3.7.Package Community Components

You can also participate in community component packaging. For details, see openEuler Packaging Guide.

3.3.8.Participate in Non-Code Contributions

If your interest is not in writing code, you can find work of interest in the Non-Code Contributions.

3.3.9.Community Security Issues

Security Issue Handling Process briefly describes the process of handling security issues.
Security Disclosure describes how to report a security vulnerability.

4. Grow with the Community

4.1 Community Roles

Everyone in the community plays an important part. Roles differ in terms of responsibilities and permissions. Grow, accumulate experience, and gain influence by contributing to the community. For details about roles, responsibilities, and permissions, see Community Membership.

4.2 Technical Committee

The openEuler Technical Committee (TC) is the technical decision-making body of the openEuler community. It is responsible for technical decision-making and coordination of technical resources in the openEuler community.
For details, see the introduction to the openEuler Technical Committee.