Easier licensing of MCAs for MariaDB contributors

Software licensing is a difficult subject that we don’t usually want to think about. It can be confusing and frustrating trying to work out whether different licenses are compatible, and problems like dual-licensing make it even harder. We all just want to write great code, not worry about licenses!

Until now, contributors who provide improvements and bug fixes to MariaDB have been asked to declare their license choice every time they make a contribution. For new contributors, or those who just want to submit a very small fix, this can be a complicated extra step they weren’t expecting. For regular contributors, it’s extra work for every single pull request.

We want to make this easier, so very soon we will link our source code repositories to a contributor license management tool.

What does this mean for me?

When the new license system is in place, every pull request that you submit to MariaDB will be immediately checked against our list of known contributors. If you have electronically submitted the MariaDB Contributor Agreement, your pull request will be automatically marked as ready, and the normal process can continue. There’s nothing extra for you to do.

If you haven’t yet submitted the MariaDB Contributor Agreement, your pull request will be updated with a link to the Agreement. Just click the link, read the Agreement, and submit it. You will also receive an email with the same link.

That’s it! Your pull request will be marked as ready to process, and you won’t be bothered with any more questions about licenses next time you make a contribution. The only time you might be asked to submit the Agreement again is if we update the wording.

What if my employer won’t let me sign the MariaDB Contributor Agreement?

Your existing employment agreement may prevent you from signing the MariaDB Contributor Agreement. For example, your employment agreement may specifically forbid you from entering into other agreements without written permission from your employer. If that’s the case, any contributions you make to MariaDB can be licensed using the New BSD License instead, often called the “3-clause BSD license”. This license is well understood by many employers, and it should be easier for you to obtain approval.

To submit a contribution using the New BSD License, you will need to make a simple statement in the pull request description or add a note to it saying “I submit this contribution under the New BSD License” or similar. If this hasn’t been done you may be prompted by a developer from the Foundation when they review your contribution.

Why are you doing this anyway? Isn’t MariaDB licensed under GPL v2?

Yes, the base MySQL code inside MariaDB is licensed under GPL v2. This means that MariaDB itself is also released under GPL v2.

So why are contributions made using the MariaDB Contributor Agreement or the New BSD License? Shouldn’t contributions also be GPL v2?

Both the MariaDB Contributor Agreement and the New BSD License are worded so that any code that is licensed under them, can also be released as GPL v2. This means the license integrity of the entire MariaDB codebase is maintained, and it will always be free.

However, by using either of these options, the MariaDB Foundation is granted additional rights that it can use to protect the project and ensure it continues into the future. For example, if someone breaches the GPL by distributing a fork of MariaDB without proper Open Source licensing, these additional rights may allow the Foundation to legally pursue them and force them to honour the relevant Open Source licenses.

In that situation, individual contributors to MariaDB may not have the time and resources required to mount a legal challenge against a company who is breaching the GPL. The Foundation can act on their behalf, protecting the rights of all contributors.

This is a critical role of the Foundation: protecting and maintaining MariaDB, so that it can continue as a strong Open Source project well into the future. The MariaDB Contributor Agreement and the New BSD License are legal tools that help us protect the project, its developers, and its users.

More information about the MariaDB Contributor Agreement can be found here:

mariadb.com/kb/en/library/mariadb-contributor-agreement-faq/

The current text of the Agreement (and the old instructions for submitting it) can be found here:

mariadb.com/kb/en/library/mca/