为了让更多人更深刻认识 openEuler 并积极参与进来,社区将出一些列课程和你们近距离接触,邀请 openEuler 开源的重要参与者、SIG 组 maintainer 等资深专家来进行持续分享。本课程分为三部分,主要是让你们了解 openEuler 是什么、怎么玩、如何参与。html
经过社区网站你们能够了解到更多关于 openEuler 的相关内容,并经过文档查看 openEuler 的使用方法。git
openEuler 是一个开源、免费的 Linux 发行版平台,经过开放的社区形式与全球的开发者共同构建一个开放、多元和架构包容的软件生态体系。同时,openEuler 也是一个创新的平台,鼓励任何人在该平台上提出新想法、开拓新思路、实践新方案。github
上面了解了 openEuler 是一个开源免费的平台,对于工程师来讲,下载使用才是第一步,那么咱们怎么去下载 openEuler 呢?安全
openEuler 社区提供了openEuler 下载地址[2]。架构
能够经过 openEuler 社区导航上的【下载】按钮,下载 openEuler 20.03 LTS 的 ISO 安装包。openEuler 20.03 LTS 版本是面向开放场景的标准发行版,生命周期四年。工具
在 openEuler 使用过程当中遇到问题或想提出意见,在社区导航下的【下载】里和文档里能够提出意见反馈,供相关技术人员及时解决问题。gitlab
能够经过 openEuler 导航下的【社区】来参与 openEuler 社区,里面有不少社区相关的子菜单你们能够在官方社区里进行深刻的了解。【社区】里的【贡献攻略】能够指导开发者一步一步参于 openEuler 社区、【SIG(项目组)】能够找到本身感兴趣的项目组、【邮件列表】能够收听参与相关的一些讨论。布局
邮件列表:邮件列表是社区交流的很重要的一种方式。性能
经过社区咱们能够作些什么:学习
在咱们要作一些事情以前,先说一下 openEuler 自己是在什么地方的?openEuler 自己是放在 gitee.com 上的,而且是开源的,若是你们想要加入使用 openEuler 须要有一个 gitee 帐号。
下面就是咱们要在社区里作些事情了。
1)提需求/bug: 在使用/开发过程当中遇到的一些问题,发现哪些地方使用不方便,你们均可以能够经过 issue 或者邮件列别提出问题。
最简单基本的参与社区的方式:固然是先点一点社区里的内容了,看看有哪些须要优化改进的地方,提出一些有价值有意义的建议。这也是最简单的方式了。
在社区中提交问题都是经过 issue 机制来进行的,在提交问题的过程当中须要提交人指定提交的对象是谁,也就是你要提交问题给谁。
让咱们看下 issue 的界面长什么样子?
举个栗子:若是你想提交一个社区治理的一个问题,那么你能够在 Community 代码仓库的 issue 中提交问题
方框里的 issue 就是咱们用来提交 bug/问题的入口,进入到 issue 里咱们能够点击【新建 Issue】,进去以后就能够提交 issue 了。
固然你能够设置提交的 issue 是什么级别的。
咱们在提交问题时怎么来接行 issue 的划分呢?
总的来讲分为如下几类:
若是你想要更详细的了解 issue 提交的流程,下面的连接能够帮助到你:https://gitee.com/openeuler/c...[24]
2)修 bug 解决问题: 这个就须要高层次的社区人员,以一个开发者的身份参与到社区中,在社区里能够本身主动认定一些 bug,来解决相关的问题。
在社区里,一般咱们但愿提出问题并同时解决问题,若是有一个问题,固然最好的状况是同时提供问题解决的 patch 补丁。咱们以社区的轻量化容器引擎 iSulad 为例,https://gitee.com/openeuler/i...[25],假定咱们须要为 iSulad 提交一个 patch 补丁,基本流程以下:
第一步:首先要先创建一个本身的分支
分支是经过 Fork 建立的,若是你们不了解 Fork,仍是先去学习如下 git 吧,对于开发者来讲,git 的开发模式是最经常使用的,也是最基本的,使用 git 是必须的。
第二步:修改代码并生成 Pull Request
点击 fork 完毕后,目录已经从 openEuler 切换成了本身的帐户了,你本身的分支就建立好了。接下来就能够在本身的分支上进行代码的修改了。
修改完代码后,点击 Pull Request,就会生成一个 patch 提交代码到原始社区里了,到这里就完成了 patch 的提交了,接下来的时间就是等待 maintainer 审核你的代码了。
3)贡献软件包: 能够在 openEuler 代码仓库中的 openeuler 或者 src-openeuler 贡献本身的软件包,固然里面有不少软件包供开发者使用。这样日积月累,openEuler 就可以提供更多更丰富的软件包功能,越多人参与进来,openEuler 就可以成为万能的软件生态系统。
4)开发新软件: 你们根据本身爱好和想法,能够开发一些新的软件,贡献到 openeler 下面,通过必定时间的孵化能够进驻到 src-openeuler 里,供你们使用。
有两种方式能够将本身的做品发布到 openEuler 社区:
若是你们想更加详细的了解社区,能够经过两篇比较好的博客去进一步了解。能够介绍如何参与社区的博客地址以下:个人社区参与之旅[26]openEuler 社区参与之旅[27]
openEuler 的愿景是:经过社区合做,打造创新平台,构建支持多处理器架构、统一和开放的操做系统 openEuler,推进软硬件生态繁荣发展。
openEuler 代码是放在 gitee 上的,你们能够尽情的去下载使用。
openEuler 主要包括两个代码仓库:
src-openEuler 软件包仓库地址:https://gitee.com/src-openeuler[28]
src-openEuler 主要用于存放制做发布件所需的软件包。为 openEuler 的 release 发行版提供生成 rpm 包等构建信息等的地方。
openEuler 代码仓库地址:https://gitee.com/openeuler[29]
openEuler 主要用于存放源码类项目。openeuler 这个仓是存储全部“原生态”的软件,也就是为原创性的软件提供一个展现的舞台,或者是一个孵化器平台。
openEuler 社区码云地址: https://gitee.com/openeuler/c...[30]
代码仓 Community 保存了关于 openEuler 社区的全部信息,包括社区治理、社区活动、开发者贡献指南、沟通交流指南等内容。这里包括:openEuler 社区介绍、社区治理组织架构、社区活动、开发者贡献指南。
社区治理组织结构
咱们主要介绍 秘书处、安全委员会、技术委员会、SIG。经过对各自的介绍,你们很明白的知道这些架构组织的做用了。
秘书处: 负责社区的筹备、运营规划等支撑社区规范化运做成熟。
现阶段,openEuler 社区秘书处的主要职责以下:
安全委员会: 负责接收和响应 openEuler 安全问题报告、提供社区安全指导。
现阶段,openEuler 社区安全委员会的工做职责以下:
技术委员会: 负责社区技术决策和技术资源的协调。
技术委员会的主要职责以下:
SIG: 社区兴趣小组,每一个小组维护一个或多个项目(对应多个 gitee 仓)
在您遇到任何问题、想参与各委员会/各 SIG 的运做、找到感兴趣的 SIG 均可以经过一下方式进行了解和提问。
若是您对社区治理有任何问题或建议,能够发邮件到 maillist:community@openeuler.org
提 issue:https://gitee.com/openeuler/c...
若是您想参与各委员会、各 SIG 的运做,能够经过邮件列表交流及获取信息邮件列表:https://openeuler.org/zh/comm...
SIGs:https://openeuler.org/zh/sig....
若是您没找到感兴趣或者合适的 SIG,能够申请建立 1 个新 SIGhttps://gitee.com/openeuler/c...
若是您对社区版本发布有任何建议或者需求、想法,能够发邮件到 maillist:dev@openeuler.org
标题行首带上[release management] 提 issue:https://gitee.com/openeuler/r...
openEuler 跟其余你们比较熟悉的操做系统是同样的,主要是从上游社区来取相关的软件进行一些加强开发、集成和质量保障,而后构建出来的一个社区免费版本。基于上游社区开源软件构建的免费、开源的 Linux 社区发行版,与国内主流 OS 厂商共建共享,造成协力繁荣国内 Linux 操做系统生态
下图是 openEuler 与 Linux 发行版的对比,你们能够了解一下。
openEuler 大部分软件来自于上游开源社区,基于上游开源社区咱们也作了大量的贡献来回馈上游开源社区。(好比:在 Linux Kernel 社区里,华为的贡献排到了 Top5;在 GCC 社区里华为有 Maintainer 在社区里进行贡献,等等。)推送到上游社区比较困难的代码,通过 openEuler maintainer 的评审,若是确实有价值,也能够将代码先合入到openEuler社区里。但仍是鼓励尽量推送到上游社区,坚持upstream first的原则。
openEuler 社区版本命名,发布时间与生命周期管理[31]
LTS 版本:2 年发布 1 个,维护 4 年,OSV 厂商能够基于 LTS 版本构建商用发行版;下一个 LTS 版本 22.03
创新版本:6 个月发布 1 个,维护 6 个月
欢迎社区开发者和用户提出宝贵建议,以上规则将根据反馈意见以及社区实施状况不断完善。
20.03LTS 版本基本信息表[32]
LTS 版本架构环境支持 ARM 和 X86 版本。若是对 ARM 感兴趣的人员能够经过 openEuler 的【首页】—【鹏城实验室】能够去申请 ARM 的虚拟机资源进行体验。详细的版本信息可查看下表。
openEuler 关键特性文档说明[33]
经过社区合做,打造创新平台,构建支持多处理器架构、统一和开放的操做系统 openEuler,推进软硬件生态繁荣发展。后面会有更多有意义有挑战性的一些特性在后续的开发维护中会陆陆续续的发布出来,你们尽请关注。
社区地址:https://gitee.com/openeuler[34]