Google Summer of Code 2025
This year we are again participating in the Google Summer of Code. We, joined with the MariaDB Foundation, believe we are making a better database that remains application compatible with MySQL. We also work on making LGPL connectors (currently C, C++, ODBC, Java, Node.js) and on MariaDB Galera Cluster, which allows you to scale your reads & writes. And we have MariaDB ColumnStore, which is a columnar storage engine, designed to process petabytes of data with real-time response to analytical queries.
Contents
Where to Start
Please join us on Zulip to mingle with the community. You should also subscribe to the developers mailing list (this is the main list where we discuss development - there are also other mailing lists).
To improve your chances of being accepted, it is a good idea to submit a pull request with a bug fix to the server.
Also see the List of beginner friendly issues from the MariaDB Issue Tracker.
List of Tasks
MariaDB Server
---
MDEV-17398 Spatial (GIS) functions in MariaDB
Part-time (175h) or full-time project (350h) - depending on scope
Our GIS functionality is limitted compared to other DBMSes. Given that MariaDB looks to facilitate migration from MySQL, we should be on par. We have a list of functions that are missing in MariaDB compared to MySQL, as described in https://mariadb.com/kb/en/function-differences-between-mariadb-1010-and-mysql-80/.
Our goal is to have as many of these functions available within MariaDB. Some of the functionality can be ported from MySQL, while others might require implementation from scratch.
Skills needed: Understanding of C++ development. Ability to navigate a large codebase (with help from mentor).
Mentors: Anel Husakovic (primary) / Vicențiu Ciorbaru (secondary)
MDEV-16482 MariaDB Oracle mode misses Synonyms
Full-time project 350h
Synonyms are an important feature, particularly as it helps smooth migration from other databases. While the initial project scope seems straightforward, there are a number of aspects that must be considered:
- Grammar extension
- Where will the synonyms definitions be stored?
- How do synonyms map to the underlying privilege system? Who can create a synonym? Who can access a synonym?
- Do we enforce the underlying object to exists before creating a synonym? What if the underlying object gets dropped?
- What kind of error messages do we present to the user in various corner cases?
- How do synonyms interact with replication (row based vs statement based)
- How do synonyms interact with views (and views execution)
- How to present synonyms to users (as part of INFORMATION_SCHEMA for instance?)
- Performance considerations for multiple connections to the database.
Skills needed: Understanding of C++ development. Able to write and discuss various tradeoffs such that we achieve a feature set that makes sense given the database's priorities.
Mentors: Vicențiu Ciorbaru (primary) / Michael Widenius (secondary)
Buildbot build statistics dashboard
Part-time project 175h TODO - A more ample description will be created.
Skills needed:
Mentors: Vlad Radu
Suggest a Task
Do you have an idea of your own, not listed above? Do let us know in the comments below (Click 'Login' on the top of the page first)!