The Curve community joins hands with the Summer of Open Source, and invites you to have an interesting and exciting journey of open source, face the big players in the community, accumulate project experience, collect generous bonuses, and jointly promote the independent innovation of basic software in my country.


In 2022, the Curve community will once again join a series of university open source activities - the third summer of open source. The Summer of Open Source is a summer open source activity initiated and supported by the "Open Source Software Supply Chain Lighting Program" of the Institute of Software, Chinese Academy of Sciences. Thrive, cultivate and discover more excellent developers.

Curve is a high-performance, easy-to-operate, and full-scenario cloud-native software-defined storage system independently designed, developed and open sourced by NetEase Shufan. It includes two sub-projects, CurveBS and CurveFS, which provide block storage and file storage capabilities respectively. The development of the digital economy and the evolution of the international situation have forced my country to strengthen the independent innovation of basic software. However, compared with the current domestic database software players, there are many players who focus on storage software. NetEase Shufan independently open source Curve, which is not only to strengthen the open source infrastructure to support digital business innovation The required capabilities also hope to promote the vigorous development of my country's storage software. It is based on this starting point that the Curve community joined this summer of open source.

By participating in this event, you will have the opportunity to learn and communicate with the experienced cloud native storage software tutors at zero distance. After completing the project and contributing to the community, you will also have the opportunity to receive the open source summer event bonus and completion certificate. Students are welcome to scan the QR code below or click the event link to apply.

Activity link: https://summer-ospp.ac.cn/#/org/orgdetail/2994d279-0fba-47b1-9247-7b5ab604f1a8/

Project details

This summer of open source, the Curve community has declared four projects. The topic types cover the development of packaging tools, mount permissions, capacity allocation, operation and maintenance tools and other fields. The difficulty level is three basics and one advanced. Senior maintainers lead the team to complete. details as follows:

Project 1: PFS and CurveBS client deb/rpm packaging tools

PFS (Polar FileSystem) is Alibaba's open source file system for PolarDB databases. We hope to build cloud-native database storage solutions through PFS+CurveBS. Currently, CurveBS already supports PolarDB for PostgreSQL. Although the connection and joint debugging of PFS and CurveBS have been completed, there is still a lack of easy deployment methods on physical machines. The goal of this project is to package PFS+CurveBS clients in CentOS7/8, Debian9/10, and Ubuntu. Based on the difficulty of the project, participants are required to be familiar with basic Linux commands, scripting language Bash script, and the use of FPM packaging tools.

Project 2: CurveBS supports read mount and write mount and read and write permission conversion

When CurveBS connects to PFS, it supports shared mounting of a single volume, but does not limit the read and write permissions of each mount point. Multiple mount points may write data at the same time, resulting in data confusion, loss, and inconsistency. This project will make up for this lack and support specifying read-write permissions (read-write, read-only) when mounting volumes, and dynamic changes to read and write permissions after mounting. The difficulty of this project is advanced. To participate in the project, you need to be familiar with C++ software development, relevant unit testing frameworks such as gtest, as well as compiling and debugging commands on linux, such as GCC, GDB, etc.

Project 3: CurveBS allocation capacity strategy and operation and maintenance tool capacity statistics optimization

Capacity management is one of the basic functions of storage software. The tasks of this project include preventing the creation of new volumes if the allocated capacity is insufficient, unifying the capacity value used by the allocated volume capacity with the statistical tool, and optimizing the display capacity command of the CurveBS operation and maintenance tool. Based on the difficulty of the project, you need to be familiar with C++ software development, gtest and other related unit testing frameworks, as well as compile and debug commands on Linux, such as GCC, GDB, etc. In addition, you must understand CurveBS's stand-alone deployment and cluster capacity management methods.

Project 4: Add display service listening port for CurveAdm

CurveAdm is a tool created to improve the usability of the Curve system. It is mainly used to deploy and operate CurveBS/CurveFS clusters. This project requires the implementation of CurveAdm to display all ports monitored by the service when viewing the service status, to ensure that the existing CurveAdm functions normally. Based on the difficulty of the project, participants need to understand the deployment and use of the Curve/CurveAdm project, understand the Go language and the basic operations of Docker.

Project income

In-depth understanding of cutting-edge cloud-native distributed storage technology architecture and knowledge;

Understand the operation mode and participation method of the open source community, and increase the contribution experience of the open source community;

Experience the enterprise-level software development process in advance through the first-line big factory mentors;

Enhance technical ability and project experience, and improve the starting point of personal career;

The official bonuses and certificates issued by Open Source Summer, the corresponding bonuses for ordinary and advanced difficulty are 8,000 yuan and 12,000 yuan before tax respectively.

How to get involved

Students can freely choose projects according to their interests, write a project application to apply, and carry out project development and contribute code to the community under the guidance of community mentors (you can find the contact email of the corresponding mentor for the project on the activity page for in-depth communication with the mentor). The organizer will issue bonuses and certificates according to the students' project completion, participation, code contribution, etc.

Event page: https://summer-ospp.ac.cn/#/org/orgdetail/2994d279-0fba-47b1-9247-7b5ab604f1a8/

Petition form

This event is open to students over the age of 18.

Students who are graduating in the summer can submit an application as long as their student ID is valid at the time of application.

Overseas students can provide admission letter / student card / proof of study to prove their student status.

Related Documentation

* Understand the single-machine deployment of CurveBS, and be able to complete relevant functional tests

* Understand the design of the deployment tool CurveAdm

* Understand the Curve testing framework

* Curve code repository

Open Source Summer Event Milestones

  • The default time zone is Beijing time (UTC+8)

网易数帆
391 声望550 粉丝

网易数智旗下全链路大数据生产力平台,聚焦全链路数据开发、治理及分析,为企业量身打造稳定、可控、创新的数据生产力平台,服务“看数”、“管数”、“用数”等业务场景,盘活数据资产,释放数据价值。