Maksim, developer of ClickHouse.
1. Introduction.
2. Statistics.
3. OpenSource community.
4. Code-review and contribution processes.
ClickHouse is an open-source, high performance columnar OLAP database management system for real-time analytics using SQL.
All development is on GitHub.
ClickHouse as of December 24 2021.
21200 stars.
4200 forks.
867 contributors.
Core engineering team 15 people.
400 pull requests per month.
4 big pull requests per month (More than 5k LOC).
95 percent of external pull requests merged.
46 percent of new code is external.
Release each month.
Include tons of improvement, bug fixes, new features.
46 percent of new code is from external contributors.
Contributions include not only pull requests:
1. Translation of documentation.
2. Drivers for JDBC, ODBC, Go.
3. Answers on question GitHub issues.
1. Pull requests review.
2. Managing issues on GitHub.
3. Public roadmap.
4. Answering questions on GitHub, Google groups, Telegram chats.
5. Meetups (Release meetups, Community meetups).
1. Everyone from core team can merge.
2. Single code reviewer is enought, big pull requests can be discussed as whole team.
3. Robust continious integration pipeline.
4. All author commits are included.
5. Keep small count of code-review iterations.
6. If pull request is abandoned independently merge it, author contribution is appreciated.
1. Unit, functional, integation tests.
2. Sanitizers (MSan, UBSan, Tsan, Address).
3. Static linters (clang-tidy, clang-format).
4. Performance tests.
5. Fuzzers.
1. Implement some feature needed for your ClickHouse setup.
2. Experience on production project.
3. Implement some interesting task from our roadmap (public available).
4. Feature can be implemented without a lot of codebase changes. For example adding function, aggregate function, change parser.
5. Easy to find task to work.