2022 开源之夏 | Curve 邀你与中国存储软件共成长,赢万元奖金
Curve 社区携手开源之夏,邀你开展有趣而精彩的开源之旅,直面社区大咖,积累项目经历,摘取丰厚奖金,共同推进我国基础软件自主创新
2022 年,Curve 社区再次加入系列高校开源活动 —— 开源之夏第三届。开源之夏是由中国科学院软件研究所 “开源软件供应链点亮计划” 发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展,培养和发掘更多优秀的开发者。
Curve 是网易数帆自主设计研发并开源的高性能、易运维、全场景支持的云原生软件定义存储系统,包括 CurveBS 和 CurveFS 两个子项目,分别提供块存储和文件存储两种能力。数字经济的发展和国际形势的演变迫使我国加强基础软件自主创新,但相比当前国内数据库软件玩家众多,专注存储软件者寥寥无几,网易数帆自主开源 Curve,既是强化开源基础设施支撑数字业务创新所需的能力,也希望推动我国存储软件的蓬勃发展。Curve 社区加入本届开源之夏,正是基于这一出发点。
参与本次活动,你将获得与身经百战的云原生存储软件导师零距离学习交流的机会,完成项目并贡献给社区后,你还有机会获得开源之夏活动奖金和结项证书。欢迎同学们扫描下图二维码或点击活动链接报名申请。
活动链接:https://summer-ospp.ac.cn/#/org/orgdetail/2994d279-0fba-47b1-9247-7b5ab604f1a8/
项目详情
本届开源之夏,Curve 社区申报了四个项目,题目类型覆盖了打包工具、挂载权限、容量分配、运维工具等多个领域的开发,难度等级为三基础一进阶,均由社区资深维护者带队完成。具体如下:
项目 1:PFS 和 CurveBS 客户端 deb/rpm 打包工具
PFS (Polar FileSystem) 是阿里开源的针对 PolarDB 数据库的文件系统,我们希望通过 PFS+CurveBS 打造云原生数据库的存储解决方案,当前 CurveBS 已支持 PolarDB for PostgreSQL。虽然 PFS 和 CurveBS 对接、联调已经完成,但仍缺乏在物理机上简易的部署方式。本项目目标为支持 PFS+CurveBS 的客户端在 CentOS7/8、Debian9/10、Ubuntu 打包,项目难度为基础,要求参与者熟悉基本的 Linux 命令,脚本语言 Bash script ,以及 FPM 打包工具使用。
项目 2:CurveBS 支持读挂载和写挂载及读写权限转换
CurveBS 对接 PFS 时支持了单个卷的共享挂载,但是并没有限制各个挂载点的读写权限,可能会出现多个挂载点同时写数据,从而导致数据错乱、丢失、不一致等问题。本项目将弥补此项缺失,支持在挂载卷时指定读写权限(读写、只读),以及挂载后读写权限的动态变更。本项目难度为进阶,参与项目需要熟悉 C++ 软件开发,gtest 等相关单元测试框架,以及 inux 上的编译、调试命令,如 GCC、GDB 等。
项目 3:CurveBS 分配容量策略和运维工具容量统计优化
容量管理是存储软件的基础功能之一,本项目任务包括分配容量不足则阻止创建新卷、分配卷容量使用的容量值与统计工具统一,及 CurveBS 运维工具显示容量命令优化等。项目难度为基础,需要熟悉 C++ 软件开发, gtest 等相关单元测试框架,以及 Linux 上的编译、调试命令,如 GCC、GDB 等,此外要了解 CurveBS 的单机部署及集群容量管理方式。
项目 4:为 CurveAdm 增加显示服务监听端口
CurveAdm 是为提高 Curve 系统易用性而打造的工具,主要用于部署和运维 CurveBS/CurveFS 集群。本项目要求实现 CurveAdm 查看服务状态时显示服务监听的所有端口,保证现有 CurveAdm 功能正常。项目难度为基础,参与者需要了解 Curve/CurveAdm 项目的部署使用,了解 Go 语言 及 Docker 基本操作。
项目收益
-
深度了解前沿的云原生分布式存储技术架构与知识;
-
了解开源社区运作模式与参与方式,增加开源社区贡献经验;
-
通过一线大厂导师提前感受企业级软件开发流程;
-
增强技术能力与项目经历,提升个人事业起点;
-
开源之夏官方发的奖金和证书,普通和进阶难度对应奖金分别为税前金额 8000 元和 12000 元。
如何参与
学生可根据兴趣自由选择项目,撰写项目申请书提出申请,并在社区导师的指导下开展项目开发贡献代码至社区(可以通过活动页面找到项目对应导师的联系邮箱与导师进行深度沟通)。主办方将根据学生结项情况、参与度、代码贡献等发放奖金、证书。
活动页面:https://summer-ospp.ac.cn/#/org/orgdetail/2994d279-0fba-47b1-9247-7b5ab604f1a8/
申请资格
-
本活动面向年满 18 周岁在校学生。
-
暑期即将毕业的学生,只要在申请时学生证处在有效期内,就可以提交申请。
-
海外学生可提供录取通知书 / 学生卡 / 在读证明证明学生身份。
相关文档
-
了解 CurveBS 的单机部署,能完成相关的功能测试:
https://github.com/opencurve/curveadm/wiki
-
了解部署工具 CurveAdm 的设计:
https://github.com/opencurve/curveadm/wiki/overview
-
了解 Curve 测试框架:
https://github.com/opencurve/curve/blob/master/docs/cn/gtest.md
-
Curve 代码仓库:
https://github.com/opencurve/curve
开源之夏活动里程碑
* 默认时区为北京时间(UTC+8)