Contributing to the MariaDB Project

You are viewing an old version of this article. View the current version here.

Why Contribute?

The success of MariaDB depends on the participation of the community. MariaDB would not be as good as it is today without the participation of the entire MariaDB community.

Getting Started

There are several ways to contribute, and not all of them require strong C/C++ skills. Areas for non-developers include:

Contributing to the Knowledgebase is a great way to help improve MariaDB.

MariaDB Email Lists

A great way to get started in MariaDB is to participate in e-mail discussions via our Launchpad lists (whichever list best matches your interests):

You can find additional email address, email archives and ways to connect with MariaDB people here.

All MariaDB contributors are expected to follow the Ubuntu Code Of Conduct.

Getting Started for Developers

There are several reasons why contributing code is one of the easiest and most rewarding ways to contribute to MariaDB:

  1. We are very responsive toward reviews of submitted code and as soon as the review is done, the submitted code is merged into an existing MariaDB tree and made available to everyone, not just select customers.
  2. Code reviews are performed by the MariaDB core development team and the quality, detail, and timeliness of our reviews are better than you will find elsewhere.
  3. With MariaDB everyone has access to the latest code.
  4. If a patch is very safe and/or very useful we are willing to push it into the stable code (as long as it can't break any existing applications). We are willing to do this to ensure the freedom to add small, needed fixes on a stable release so users don't have to wait a year for something to be added which is critical to their business.
  5. If you are an active contributor, you can become a member of maria-captains, even if you aren't working for Monty Program Ab. All captains have the same rights as any other captain to accept and reject patches. Our development model is truly open for everyone.

The Contributing Code page details many of the actual steps involved in working with the MariaDB source code. It's important that you use the same tools and submit patches in the same way as other developers to keep development running smoothly.

Expectations for Developers

Not just any bit of code can be accepted into MariaDB. In general, we expect any code you contribute to:

  • be nice, modular, performant, easy to read, and believed to be bug free.
  • be properly reviewed by at least one maria-captain.
  • follow the MariaDB coding standards.
  • not contain duplicated code / features that we already have.
  • provide a new valuable addition to MariaDB that benefits a large number of users.
  • not break anything for old MySQL / MariaDB users.
  • not stop anyone from implementing another important feature.

On a personal note, we expect you to:

  • follow the Ubuntu Code Of Conduct
  • participate in e-mail discussions via our Launchpad lists (whichever list is most appropriate):
  • register yourself as a Maria developer on Launchpad
  • maintain a positive, productive, light-hearted attitude. Developers temporarily stepping away gracefully to ensure real productivity is always understood in our community. Emphasis on gracefully.
  • work with the maria-captains to get your code approved.
  • submit your approved code to the captain who worked on your review or to the email list for inclusion in MariaDB.
  • take ownership of the code that you submit, and interact as a cohesive whole with other code-owners. This means you should:
    • fix bugs in your code
    • review, approve or apply your own version of code that people submit to you that touches your code.
    • be available for people that want to discuss your code.
    • help upgrade your code from one MariaDB version to the next.

If you are unable or unwilling to follow the above expectations, then the maria-captains, or ultimately Monty Program Ab, will find someone who will take ownership of your code.

Code Licensing

Similar to other open source projects, Monty Program Ab needs to have a shared ownership of the code that is included in the MariaDB distribution. This can be done by submitting your code under the BSD-new license. The only currently known exceptions to this rule are storage engines and code that is loadable through a plugin. For these, it's enough that the code is GPL.

If you want to submit code under a license other than BSD-new, sign and email the Monty Program Contributor Agreement.

Where are the Developers?

  • Most of the core developers hang out on IRC in the #maria channel on
    • freenode.
  • Code, proposals, and feature requests are sent to (and discussed on) the maria-developers list.

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.