# Product Development

{% hint style="info" %}
This section contains background information, mostly aimed at engineers developing MariaDB features.
{% endhint %}

{% columns %}
{% column %}
{% content-ref url="product-development/mariadb-quality-development-rules" %}
[mariadb-quality-development-rules](https://mariadb.com/docs/server/reference/product-development/mariadb-quality-development-rules)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Outlines strict quality standards for new features, including requirements for design specifications, testability, and mandatory Worklog quality checklists.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="product-development/uploading-package-to-ppa" %}
[uploading-package-to-ppa](https://mariadb.com/docs/server/reference/product-development/uploading-package-to-ppa)
{% endcontent-ref %}

{% endcolumn %}

{% column %}
Provides instructions for developers to upload MariaDB source packages to a Personal Package Archive (PPA) using tools like dput for Ubuntu-based distributions.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="product-development/mariadb-fault-finding" %}
[mariadb-fault-finding](https://mariadb.com/docs/server/reference/product-development/mariadb-fault-finding)
{% endcontent-ref %}

{% endcolumn %}

{% column %}
Offers deep-dive technical guides for diagnosing server issues, including trace file generation, debugger usage, and analyzing core dumps or memory usage.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="product-development/plugin-development" %}
[plugin-development](https://mariadb.com/docs/server/reference/product-development/plugin-development)
{% endcontent-ref %}

{% endcolumn %}

{% column %}
Details the APIs and processes for extending MariaDB functionality through custom plugins, such as authentication, logging, or specialized server enhancements.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="product-development/server-development" %}
[server-development](https://mariadb.com/docs/server/reference/product-development/server-development)
{% endcontent-ref %}

{% endcolumn %}

{% column %}
Covers foundational engineering topics, including the server roadmap, GitHub collaboration workflows, and quality assurance protocols for core contributions.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="product-development/mariadb-internals" %}
[mariadb-internals](https://mariadb.com/docs/server/reference/product-development/mariadb-internals)
{% endcontent-ref %}

{% endcolumn %}

{% column %}
Explores the low-level architecture of MariaDB, documenting source code internals, merging procedures, and how to use internal APIs in external programs.
{% endcolumn %}
{% endcolumns %}
