MariaDB Contributor Agreement FAQs

What is the intention of the MCA?

  1. The original copyright holder and the MariaDB Foundation both get (shared) copyright for the code.
  2. Both parties can use their copy independently of each other for any purpose (as if each copy was completely separate and unique).

What if I don’t want to submit code to you under the MCA?

If you don’t like the MCA for code that you want to contribute to MariaDB, the other option is to submit your code under the BSD-new license.

What is the difference between MCA and BSD-new?

The main difference is that MCA is a copyright assignment agreement; you assign the copyright to the MariaDB Foundation (but you retain it too, on your copy of the contribution), while BSD-new is a license; you allow the MariaDB Foundation to use your contribution under specific (albeit rather broad) terms.

When should I use MCA and when should I use BSD-new?

With MCA, the MariaDB Foundation becomes a copyright holder, and it can defend the GPL
and pursue violators, protecting its and your rights. This is the same reason why the
Free Software Foundation requires copyright assignment too.

On the other hand, BSD-new is a well known FSF-approved Open Source license.

**If you contribute on behalf of your employer**, your employer’s legal department is most probably already familiar with the BSD-new license. It might be much easier and faster to get them to approve your
contribution if you contribute under this license.

**If you are an individual contributor** (or if your employer is fine with MCA), it makes sense to contribute under MCA, as it will allow the MariaDB Foundation to defend its Open Source way when needed.

For most other practical purposes there is no difference between these two ways of contributing. You keep the copyright to your contribution. And the MariaDB Foundation will be able to use your contribution in MariaDB Server, relicense it (for example, as GPLv2 or GPLv3) or use separately as a patch.

We need shared copyright for the following reasons:

  1. to defend the copyright or GPL if someone breaks it (this is the same reason the Free Software Foundation also requires copyright assignment for its code)
  2. to be able to donate code to MySQL (for example to fix security bugs or new features)
  3. to allow people who have a non-free license to the MySQL code to also use MariaDB (the MCA/BSD allows us to give those companies the rights to all changes between MySQL and MariaDB so they can use MariaDB instead of MYSQL)

What will the MariaDB Foundation do with the code I contribute?

The MariaDB Foundation agrees that when it dual licenses code, it will not restrict the way the third party licensee uses the licensed copy of the code nor restrict how they use their own code.

Where did the MCA come from?

The MCA is based on Sun’s Contributor Agreement. We think it is one of the best contributor agreements around!

What’s the difference between Sun’s SCA and the MCA?

Sun’s SCA was unclear in a couple of points which we have fixed in the MCA:

  • The patent grant has been made clear that it only affects the donated code, not any other code.
  • We added a clarification how code is donated; “Each submission must explicitly be marked that it’s donated under the MCA”
  • We have made a promise in this FAQ how the MariaDB Foundation will Dual-license code. See Monty’s blog post “Thoughts about Dual-licensing Open Source software” for a discussion about this.

What happened to the Monty Program Contributor Agreement?

With the establishment of the MariaDB Foundation, Monty Program Ab transferred all existing signed contributor agreements to the Foundation.

Other questions?

Question not answered? Subscribe to the maria-developers mailing list and ask there or visit us at the #maria IRC channel on freenode.