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.
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 firstname.lastname@example.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 Set Up.
3.3 Engage in Community Contributions
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.
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 email@example.com 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.
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.
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
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.