openEuler 社区暑期 2020任务详解分类

genedna2020-06-03openEuler 社区暑期 2020献

openEuler 社区 暑期 2020 任务详解分类

openEuler 社区在 暑期 2020 活动中共发布了 102 个任务,涵盖了 Linux 、容器、云计算和编程语言等多个技术栈。参与暑期 2020 活动的同学可以通过阅读本文的深度解析,找到感兴趣和符合自身技术栈的任务,这样可以在申请任务的过程中提高成功率。同时,openEuler 社区在 June 7th, 2020 、June 8th, 2020 和 June 9th, 2020 三天点晚间 19:00 ~ 20:00 间在 Bilibili 进行直播,由相关任务的社区 Maintainer 为大家更为详细的讲解技术点、具体要求等,现场回答同学们的问题。

更多问题可以和本文作者 邮件/Twitter/Telegram 联系:

  • 邮件:eli@patch.sh
  • Twitter: https://twitter.com/genedna
  • Telegram: genedna

相关问题:

  • 任务是必须在 aarch64 架构上完成么?

    在任务的要求中写明需要在 aarch64 架构下完成的,都需要在 openEuler 的 aarch64 架构上验证通过才可以;没有写此要求的任务,由申请者和任务导师协商,以协商结果为准。

  • 在哪里找到 aarch64 的环境?

    可以在树莓派上进行开发,相关内容请参考 https://www.openeuler.org/zh/blog/2020/05/25/2020-05-25-raspberrypi-userguide.html 。华为公司为针对 aarch64 架构的任务赞助华为公有云的鲲鹏计算资源,可使用 openEuler 的镜像用于完成任务开发。在学生申请任务成功后,会由活动组织方统一发放。

  • 任务验收标准不清晰?

    验收标准可以和导师进行沟通,导师会根据沟通情况,提出具体的验收标准。

关于直播活动请大家加入到暑期 2020 学生的微信群,关注微信群的时间通知。

B 站直播计划,房间地址 https://live.bilibili.com/22290444

June 7th, 2020 19:00 ~ 20:00 方亚芬讲解

June 8th, 2020 19:00 ~ 20:00 何晓文讲解

June 9th, 2020 19:00 ~ 20:00 蔡灏旻讲解容器技术相关任务

June 15th, 2020 20:00 ~ 21:00 虚拟化相关任务讲解

June 16th, 2020 20:00 ~ 21:00 测试相关任务讲解

June 17th, 2020 20:00 ~ 21:00 openEuler 社区之旅参与介绍

  • 介绍如何在 openEuler 社区贡献

任务分类

  1. No.88 - 移植 openEuler 至 RK3399 平台 团体项目 - 建议申请此任务的团队需要有一定的 Linux 操作系统实战能力,掌握 Linux 内核及硬件驱动相关知识,熟悉掌握操作系统引导与启动机制。

    openEuler 社区致力于把 openEuler 发行版移植到多种设备上,目前已经能在 Raspberry Pi 4B Model 上顺利运行。这次团体任务的目标是把 openEuler 20.03 LTS 版本移植到瑞芯微推出的 RK3399 芯片上运行,社区建议参与此任务团队在 Firefly 出品的 4GB 内存/16GB 闪存 版本的开发板进行移植任务。

    任务地址 https://gitee.com/openeuler/marketing/issues/I1IJ4B

  2. Raspberry Pi 树莓派相关任务 - 建议申请此任务的同学需要有一定的 Linux 操作系统实战能力,掌握 Linux DNF/RPM 管理方案,熟悉 Linux 桌面系统的同学申请此类任务

    openEuler 社区致力于把 openEuler 发行版移植到多种设备上,目前已经能在 Raspberry Pi 4B Model 上顺利运行。为了让 openEuler 项目更好的运行在树莓派上, openEuler 社区 Raspberry Pi SIG 的 Maintainer 方亚芬(yafen@iscas.ac.cn) 发起了 3 个优化运行效果的任务。

  3. Linux 桌面相关任务 - 建议申请此任务的同学掌握 Linux DNF/RPM 管理方案,熟悉 Linux 桌面系统的同学申请此类任务

    由于历史原因,目前 openEuler 还没有正式提供桌面环境,所以在这次活动中 sig-UKUI 的 Maintainer douyan@kylinos.cnjianfengli@ubuntukylin.com 发起了移植 UKUIopenEuler 的任务。在 No.1 任务则是把轻量级桌面系统 Xfce 移植到 openEuler 系统中。

    UKUI 是麒麟软件桌面研发团队开发的基于 Linux 发行版的轻量级桌面环境,其设计紧贴普通用户需求,特别是针对有一定 Windows 系统使用习惯的用户,减少其使用 Linux 系统的学习成本。2019年,麒麟软件全面启动 UKUI 3.0 的设计和研发工作,全新的 UKUI 3.0 使用 QT 开发,秉承 “友好易用,简单轻松” 的设计理念,将为用户提供更愉快的交互体验。

  4. Linux 容器引擎相关任务 - 建议熟悉 Linux 容器引擎技术实现(如 Docker )的同学申请此类任务

    openEuler 在兼容主流的容器引擎同时,孵化自己的容器引擎项目 iSula,它在支持 Docker 镜像的同时支持 OCI 格式的镜像和规范。 iSulad SIG 的 Maintainers 为同学带来了多个任务。更多 iSula 的任务请访问它的官方文档

    Linux 容器相关知识可以参考:

    • Docker 相关文档 https://docs.docker.com
    • Open Container Initiative 基金会对 Linux Container 定义可以在其 Github 网站 https://github.com/opencontainers
    • https://riscv.org

    任务列表:

  5. Kubernetes 相关任务 - 建议熟悉 Kubernetes 编排调度技术的同学申请此类任务

    openEuler 当然不会缺席当前业界最热的开源项目 Kubernetes ,多个 SIG 组的 Maintainer 推出了相关的任务,从相对简单的集成任务到有一定难度的开发任务。Kubernetes 的资料很多,这里就不一一列举。

    相关资料:

    • https://kubernetes-csi.github.io/docs
    • https://goharbor.io
    • https://www.cs.nmsu.edu/~pfeiffer/fuse-tutorial
    • https://github.com/libfuse/libfuse
    • https://www.kernel.org/doc/html/latest/filesystems/fuse.html

    任务列表:

  6. 虚拟化、云相关任务 - 建议熟悉 QEMU 等虚拟化技术的同学申请此类任务

    QEMU 可以说是云计算的基石技术,在很多云计算的架构中是配合 KVM 来完成虚拟化工作。因为 KVM 是硬件辅助的虚拟化技术,主要负责比较繁琐的 CPU 和内存虚拟化,而 QEMU 则负责 I/O 虚拟化,两者合作各自发挥自身的优势相得益彰。

    相关资料:

    • https://www.qemu.org
    • https://www.youtube.com/watch?v=dk6SUD8ovXw

    任务列表:

  7. Golang 相关任务 - 建议熟悉 Golang 语言、对 aarch64 架构和算法有一定程度了解等的同学申请此类任务

    Golang 随着容器技术和 Kubernetes 的逐渐被开发者接受。openEuler 社区提出的 Golang 大多是基于 ARM64 的优化任务。需要对 ARM 的指令集和 Golang 语言编译器等有一定的了解才能顺利完成任务

    相关资料:

    • https://community.arm.com/developer/tools-software/oss-platforms/b/android-blog/posts/arm-neon-programming-quick-reference
    • https://gcc.gnu.org/onlinedocs/gcc-5.2.0/gcc.pdf
    • https://static.docs.arm.com/ddi0487/a/DDI0487A_j_armv8_arm.pdf
    • https://www.element14.com/community/servlet/JiveServlet/previewBody/41836-102-1-229511/ARM.Reference_Manual.pdf
    • https://courses.cs.washington.edu/courses/cse469/18wi/Materials/arm64.pdf

    任务列表:

  8. Rust 相关任务 - 建议熟悉 Rust 语言、具有一定存储知识(部分任务需要)的同学申请此类任务

    Rust 是近几年崛起的系统级编程语言,也在 TIOBE 的排名上进入了前 20 名。越来越多的项目在使用 Rust 来开发。

    相关资料:

    • https://www.rust-lang.org
    • https://coolshell.cn/articles/9606.html
    • https://coolshell.cn/articles/9703.html
    • https://coolshell.cn/articles/8239.html

    任务列表:

  9. 存储相关任务 - 建议熟悉 Linux 存储知识的同学申请此类任务

    [FUSE] 是用户态的文件系统,目前业界都在探索把存储前置到用户态,提升效率和管控的能力。openEuler 提出的存储业务大部分都跟此方向相关。

    相关资料:

    • https://hadoop.apache.org/docs/r3.2.1/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html
    • https://www.ibm.com/analytics/hadoop/hdfs
    • https://en.wikipedia.org/wiki/Apache_Hadoop
    • https://en.wikipedia.org/wiki/Filesystem_in_Userspace
    • https://spdk.io
    • https://lwn.net/Articles/740157
    • http://www.tcpdump.org/papers/bpf-usenix93.pdf
    • https://lwn.net/Articles/599755
    • http://blog.memsql.com/bpf-linux-performance

    任务列表:

  10. ARM64 相关任务 - 建议熟悉 aarch64 架构,算法有一定能力的同学申请此类任务

    openEuler 提出的 ARM64 相关任务都是优化类型,此部分参考资料参见第 7 类 Golang 的相关资料。

    任务列表:

  11. RISC-V 相关任务 - 建议熟悉 RISC-V 架构的同学申请此类任务

    RISC-V 是一种是一个基于精简指令集(RISC)原则的开源指令集架构(ISA),openEulerRISC-V SIG 的 Maintainer 正在致力于移植工作。

    相关资料:

    • https://riscv.org

    任务列表:

  12. 安全相关任务 - 建议熟悉 Linux 安全的同学申请此类任务

    安全是业界永恒的话题,openEuler 从第一天开始就重视安全问题,除了 CVE 漏洞披露以外,也在 openEuler 中加入各种安全特性。

    相关资料:

    • https://www.open-scap.org
    • https://www.redhat.com/en/topics/linux/what-is-selinux
    • https://wiki.ubuntu.com/AppArmor
    • https://www.op-tee.org

    任务列表:

  13. 测试相关任务 - 建议测试专业的同学申请此类任务

    测试类的任务难度较低,只要熟悉要测试的软件包,对 Linux 的基本操作比较熟悉就可报名参与。

    主要工作:

    • 分析软件包提供的功能/具体用户使用场景/发布命令及参数/提供服务/包使用资源消耗等方面
    • 进行相应的测试设计活动,如功能类/性能类/可靠性类等
    • 根据测试设计编写相应的测试代码和调试

    相关任务:

    1. AI、大数据相关任务 - 建议熟悉 AI 、大数据框架的同学申请此类任务

    AI、大数据类的相关任务同测试相关任务类似,只要熟悉相关的软件,具有一定的 Linux 知识就可报名参与。

    任务列表:

  14. Linux 系统相关任务 - 建议熟悉 Linux 系统的同学申请此类任务

    Linux 系统相关任务涉及到 Linux 的方方面面,无法在此进行详解。需要申请的同学对 Linux 特定领域有深入的了解,同时具有一定的开发能力。

    任务列表:

  15. 开源基础设施相关任务 - 建议具有基本开发能力的同学申请此类任务

    本类任务需要社区内的同学具有基本的开发能力,对于开源过程中开发者体验有自己的想法和见解。


【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文仅供读者参考,由此产生的所有法律责任均由读者本人承担。