Saturday, 11 November 2006

MySQL Winter of Code

I am thankful for the plentiful feedback from MySQL Camp, on MySQL Winter of Code.

I started today's session at MySQL Camp by shortly describing our plans, starting by our insight that more coding happens during wintertime than in summer. Through MySQL Winter of Code, we want to encourage contributions to MySQL in all areas of the server. connectors and GUI tools.

There are three requirements for getting a Winter of Code grant:

  1. A signed Contributor License Agreement. Highlights:

    • You assign and transfer the copyright of your contribution to MySQL. In return you receive back a broad license to re-use and distribute your contribution.

    • You say that you coded and own the contribution, and are legally entitled to grant the assignment and license.

  2. A well-formed proposal

    • Format still to be determined

  3. Votes from fellow Community members

    • Community votes is the single most important criterion for being awarded a grant

In MySQL Winter of Code 2007, we especially encourage contributions to Connectors and Storage Engines.

  1. Ideas for Connectors related contributions

    • Improvements to (pure drivers for) Perl, Apache APR, Python, Ruby

    • Licensed using the license prevalent for the development environment (not necessarily GPL)

    • Technically well integrated into the development environment

    • New connectors to emerging environments

  2. Ideas for Storage Engine related contributions

    • The Mail Inbox Format Storage Engine
      • SELECT Subject, FileDate FROM emails WHERE emailfrom like "jay%" and Subject like '%camp%';

      • SELECT emailfrom, count(*) FROM emails GROUP BY emailfrom ORDER BY count(*) DESC LIMIT 10;

    • The File System Storage Engine for Windows, for Mac, for Linux
      • SELECT directory, filename, size FROM files WHERE size>10000000;

      • SELECT directory, sum(size) FROM files GROUP BY directory HAVING SUM(Size) >10000000 ORDER BY sum(size) DESC;

    • The Digital Picture (JPG / EXIF) Storage Engine
      • UPDATE jpgfiles SET Author='Kaj Arnö' ;

      • UPDATE jpgfiles SET Comments=CONCAT(Comments,' MySQL Camp Google') WHERE directory LIKE '%google%';

  3. Other contributions, of any type, related to MySQL Server, MySQL GUIs or Connectors
    • Full Text Search for CJK

    • MySQL GIS improvements

    • Your Idea Here

We look at contributions from MySQL Winter of Code 2007 to go into the still-nonexistent MySQL 5.1 Community Server. Later on, the contributions are eligible for the subsequent and also-still-nonexistent MySQL 5.2 Enterprise Server (remembering 5.2 might be numbered otherwise).

Now for your feedback from MySQL Camp.

A. Scope. You asked us:

  1. Is MySQL AB going to ask the community members for what new features they would want others to contribute, or

  2. Is MySQL AB going to ask the community members for what contributions they are proposing to implement themselves?

While we have been contemplating mostly item 2, your input has us now thinking about whether we can do both.

B. Visibility. You stressed that it's important to attract attention from various communities. Websites (Slashdot, Digg, O'Reilly), magazines (DDJ, any developer magazine), and in various geographies.

C. Professionalism. Do a business plan. Write an executive summary. Do a consistent plan, provide a vision, show direction. Get support from the most visible community members.

We are now putting our thinking caps on. Thanks for your valuable input, MySQL Camp participants!

1 comment:

  1. [...] The most interesting talk was about the efforts made by MySQL folks to attract and reward MySQL community contributors. They have made significant efforts in this direction - MySQL forge, Planet MySQL, MySQL winter of code, MySQL community server and availability of MySQL work logs (roadmap) [...]