MySQL is Looking for External Contributions


The MySQL team is looking for external contributions! Have you written a piece of code that would benefit everyone? Would you like to see it in the main distribution of the world’s most popular database? The process is simple and quick. Get in touch with our engineers or community managers to discuss the nature of your contribution and any technical details (via conferences, blog, bugs, or any other way), and then fill out a one pager called the Oracle Contributor Agreement. We welcome community feedback in the form of code, comments, or bugs. Thank you in advance for getting involved!

So if you have something you want to change in MySQL or a new feature, download the source code and get cracking!

And do not forget the MySQL Worklog where you can give your input on future features and design trends.

8 Responses to MySQL is Looking for External Contributions

  1. Allow me to contribute code with a BSD (3-clause) license without having to sign anything new and then we can talk.
    Don’t tell me that it can’t be done: Oracle already has some code of mine in another product which was contributed under a BSD (3-clause) license.

  2. And here is a good example of how Oracle will treat your contribution:

    http://lists.mysql.com/internals/38683

    • Kristian,

      it was me who answered in a way you think was not friendly. Unfortunately, I can not fix it, because “being friendly” in this case means “share intellectual property of InnoDB Team and Oracle” which I am not allowed to do. And would not do even if I am allowed, because I believe we must pay other people same respect we wish they pay for us. But I can tell you my own story, not related to MySQL, but related to my try of being a contributor.

      Few years ago I was looking for ideal programming text editor. I tried many, but finally found one which I liked. Editor was (and is) ideal for me: you can open any file with it without requirement to go through dozen of dialog windows to create huge project first, it has modes for many programming languages, it is pluggable and you can tune it as you wish. It is like vim, but it does has GUI with shortcuts, similar to operating system ones. So you are not required to remember thousands of commands: only those few which you use all the time. It is also written in Java and thus cross-platform. So I loved it. But it had one bug.

      It was back in year 2004 and I don’t exactly remember what was bug about. I only remember I downloaded sources, created a patch, tested it on my own computer and sent it to the editor mailing list or bug tracking system as a contribution. One week left, another, I believe it was few months or even a year when I got the answer: your patch was rejected. Such a sad news it was for me! Quality of that patch, as far I could say that time, was not bad, and I could expect some respect, treating me as a contributor. But soon after I got the answer about my patch was rejected I got announcement of new version. And this version contained the fix! I was curious and downloaded source code to find out what was changed. And I can say, developers were correct by rejecting my patch. Their patch used already existent libraries of the editor and was of better quality than mine. And even if I could not wear a t-shirt with sign “Contributor” on it, I was more than happy to have a functionality I wanted to have.

      Moral of this story is: some things can be hidden from outside, but this does not always mean result is going to be bad. And even rejected contribution can help to make the project better.

  3. To be fair, it is not Oracle that has an unfriendly policy about contributions. It was already like this with MySQL AB, and the reason is simply that the company wants to maintain ownership of the code, so that it will be able to sell dual licensing agreements.
    I may not like it, but licensing was still a consistent part of the business when I left Oracle, and I assume it still is. Since this “feature” helps paying the developers that create open source software, I believe it is a reasonable trade-off.
    Besides, also MontyProgram asks the same thing (https://kb.askmonty.org/en/mca/), and so does Apache (http://www.apache.org/licenses/icla.txt) and Canonical (http://www.canonical.com/contributors).
    It is a reasonable request. Not only it allows the main project to retain ownership of the code, which is often a requirement to trigger further revenues, but it also gives the project some legal protection when the contributor submits code that was created by others.
    All in all, it’s a good thing that Oracle is encouraging contributions.

    • Brian Aker says:

      There are huge differences between each of contributor agreements that you mentioned.

      The fact that one of the agreements specifically say that you have to assign copyright ownership, and another one specifically says that you are not doing that, is just one of the many differences between them.

    • Federico says:

      Maybe I’m missing something, but as far as I understand no one needs to subscribe Monty Program’s agreement to contribute BSD-licensed code: https://kb.askmonty.org/en/mca-faq/
      “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”

  4. alfiej John says:

    @Kristian: Another example was MySQL Forge. There was lots of positive community contributions and it was sadly taken down.

    And without Oracle opening up their internal bug tracker to the public, how do you even contribute if you can’t see the problems?

Leave a comment