Friday, 22 December 2006

MySQL refines its GPL licensing scheme under MySQL 5.0 and MySQL 5.1

MySQL has today refined its licensing scheme from "GPLv2 or later" to "GPLv2 only", in order to make it an option, not an obligation for the company to move to GPLv3.

Specifically, this means that copyright notice in the MySQL source code files will change from referring to "either version 2 of the License, or (at your option) any later version" to "version 2" only, in the MySQL 5.0 and MySQL 5.1 code bases.

Six years ago in the summer of 2000, when MySQL AB licensed its software under the GPL, our founders David Axmark and Michael Widenius made this choice because the GPL was a license followed and respected by everyone. We have kept to it, because the GPL is the most palatable license, and poses the least friction for our user base.

MySQL has been part of the GPLv3 Committee B advising FSF since the GPLv3 draft was announced in January 2006. For GPLv3, we have seen fantastic improvements and hope for GPLv3 to spread. Even though my activity level as co-chair for Committee B was by far higher in the spring than what it has been in the past few months, MySQL AB continues to work with the FSF for GPLv3 to be the new, widespread license under which Free Software is licensed. However, now, until we get clear and strong indications for the general acceptance of GPLv3 over GPLv2, we feel comfortable with a specific GPLv2 reference in our license.

I have been in contact on the topic with Professor Eben Moglen, General Counsel for the Free Software Foundation, and Chairman of Software Freedom Law Center. He has emailed me:

I appreciate MySQL's thoughtful contribution to the GPLv3 drafting process, showing how a business model and an entire company can be built around Free Software. Looking at recent developments and announcements, I believe MySQL will soon be in a position to see the GPLv3 being adopted over GPLv2 by various Free Software projects.

Tuesday, 19 December 2006

How to cope with timezones

"How can you manage your cross-cultural teams at MySQL, with people from over 25 different countries, with a variety of nationalities, native languages, religions, political beliefs, and value systems? And how can you get anything done when four out of five MySQLers work out of their home office, not meeting regularly face to face?"

I would lie to you if I said that the above issues are easy. They aren't. And that is why people frequently ask me those questions. Yet, the main challenge is not cultural diversity or virtual offices. The main challenge is timezones.

My direct reports work in my own timezone (Central Europe), but also on the US East Coast, on the US West Coast, and in Australia. This covers most of the timezones I actively work with, with the exception that I also have frequent calls with my colleagues in Finland (on Eastern European time), and sometimes with the UK and Malaysia.

The maths here doesn't work out that well. The gap between Cupertino and Munich is nine hours, which gives us exactly zero hours of common working time. Not a lot.

In practice, this means that most meetings are scheduled in the evening. Monday evening from six onwards is the Management Team conf call, which lasts for one hour to one and a half. Tuesday evening from eight onwards is the Development Management Team conf call, one hour but sometimes more. Sprinkled through Monday evening to Thursday evening are conf calls with various teams and subteams.

It may be rude of me, but whenever anybody from California suggests a meeting "Friday morning" (their time zone, of course), I say "sure, if the next meeting is Monday morning", making clear that I refer to my timezone. As this computes to Sunday evening for them, they are usually quick to retire and suggest an alternative to their Friday morning.

So far, so bad. It figures that regular conf calls that usually involve a majority of people on California time should be in the European evening. However, this is not the end of the story. Going with meetings in the Californian morning only will, mildly put, lead to suboptimal performance from European teams and employees -- unless they are extreme evening people, veritable night owls.

So what is my recommendation?

Actually, let's go back to another regular Weekly Conf Call that I am on. It is Tuesday mornings at seven, my time. Our CEO, from Finland quite as I am, has a fundamental understanding for timezone issues and was willing to schedule the Community Conf Call in his evenings, dragging a few other Californians along for a Community update from ten to eleven Monday evening.

This worked wonders!

It is not as if I couldn't have meetings in my evenings. I can listen in, and my level of participation is usually not deteriorated by more than 20-40 % compared to if the meeting had been during working hours. I can even lead meetings, with the same timezone loss of 20-40 %. All of this is of course provided that, at the time of the meeting,

  • I don't have any evening events of a business nature (like I will tonight),

  • I am not having dinner,

  • I don't spend time with my family, and

  • I don't have any private evening engagements.

However, a good, efficient meeting isn't over when the chair says "see you next week same time". That's when the real work starts. And that is when I am at a real disadvantage, late in the evening.

The wonders I referred to was about the feeling of relief and anticipation when one of the Community Conf Calls ended at eight in the morning. The children had just gone to school, I was home alone. It was getting to full daylight outside. We had orally resolved a few tricky issues, and ideas on some remaining tough problems were brewing in my head. What a feeling to be able to get to work on them right away! I wrote the meeting notes. I wrote a proposal, for three hours, in detail, which has later on been approved and implemented. There is not any chance whatsoever that I would have been able to put in those hours if the meeting had ended in the evening, with dinner, with family and with my biological daily rhythm.

This is what I wrote to thank the Californians staying up late for the meeting:

[.. lots of stuff on the proposal itself ..]

Finally, I'd like to thank everyone in California for sharing the burden of doing off-business-hours meetings. Believe me, I know what it is like!

The benefit of the time-of-day on productivity is huge. The effects don't show as much during the meeting, but directly afterwards. I have now, five calendar hours after the meeting ended,

a) had breakfast while thinking about the meeting
b) planned and written a detailed proposal in item 1
c) written the meeting notes covering most relevant issues
d) handled the usual unavoidable interruptions (Skype with Colin, Lenz, IRC with mmj and the build team, a phone call with Bertrand, a private phone call)

Had we had the meeting yesterday evening my time, I would have

a) written lousy or no notes last evening
b) forgotten >50 % of the meeting overnight
c) had something else on the top of my mind this morning
d) at most written a very general proposal this morning

i.e. it would have been very likely for us to re-heat the same old arguments next meeting, as opposed to progressing.

So this is why I think we will be more productive and less stressful if we even out the evening burden between California and Europe: Meetings are bearable at odd hours, but active, concentrated solitary work (such as working out proposals based on freshly discussed ideas) needs to happen at peak time.

Don't get me wrong. I do work in the evenings. I do so out of my own free will, and I enjoy it. But I do it only when it harmoniously fits in with the concept known as Having A Life, i.e. when it does not unduly intrude upon meeting with people outside MySQL. And having a schedule or a deadline does intrude upon that harmony. Having an element of have to (have to take notes, have to make a proposal right now) makes for an improductive, frustrated Kaj, if this requires me to work in the evenings. Some such meetings are OK, but not all, and we need to spread the burden.

Worst of it all is to be called by European colleagues in the late evening. I probably shouldn't name names, because I am sure our founders Monty (Eastern European timezone) and David (Central European timezone) prefer to see their names mentioned in more favourable contexts. And I understand that they are examples of human beings with another daily rhythm than mine. Try chasing up Monty from bed for a meeting at 8, or even 9!

Drawing my conclusions on how to cope with timezones, I arrive at seven interdependent items which are not in any way specific to MySQL but applicable to any company where people work in different timezones:

  1. Set clear expectations about the extent to which people are to work other times than regular business hours.

  2. The ideas brewing in the heads of meeting participants have a half-life. The ideas need to be noted in writing immediately, or risk being lost due to dinner, family interruptions, and sleep.

  3. Some individuals like to work in the mornings, others in the evenings, depending on personality and regardless of time zone.

  4. Spread out the burden of having to work at inconvenient times of day.

  5. Make sure that the meeting ends during the peak working hours of those participants who get the most Action Items. If you're the boss, stay up late. If you're the scribe or subordinate, don't have a bad conscience for asking others to stay up late.

  6. Be considerate of those who meet at inconvenient hours. Thank them. Respect their Have A Life factor. Respect their tiredness.

  7. Say "good evening", if you greet somebody in their evening. "Good morning, Edwin" when it's morning for me but evening for Edwin shows little respect for Edwin staying up late.

Summary: Show respect to people in other timezones! Spread out the burden of meeting at awkward times! And pick a time so that those who get the most action items have their working day ahead of them!

Monday, 18 December 2006

Thank you, Quality Contributors!

To show our gratitude towards those who help us, and to help MySQL users help us even better, we will soon be announcing a "Quality Contributor Programme". As we have identified the best contributors of 2006 based on submitted bug reports, I asked a number of people last Friday and Saturday whether they would accept to be listed on our Quality Contributor list on our website at

I am overwhelmed by the quantity and quality of the response during the past 48 hours. Let me already now give some pre-announcement recognition to some of those who have helped us make MySQL better.

Don't worry: we do understand that the main reason users report bugs is to get them fixed. However, we still think we have plenty of opportunities of improving our ways when it comes to making it easier for you to help us, even if our bug fixing capacity should remain unchanged. Expect to soon hear more about this from Giuseppe Maxia, our QA Developer in charge of the MySQL Quality Contributor Programme.

To be specific, we are looking at making it easier to not only supply bug reports, but also test cases and (something which is interesting only for a subset of all bug reporters) bug patches. That will involve legal aspects such as our Contributor License Agreement (which exists in a click-through form).

Hence, a big Thank You for your bug reports goes to

  1. Martin Friebe

  2. Debian user community

  3. Heinz Schweitzer

  4. Carl F. Karsten,

  5. Olaf van der Spek

  6. Peter Laursen, Webyog Softworks Private Limited ("Webyog")

  7. Jocelyn Fournier,

  8. Gisbert W. Selke, TapirSoft

  9. John Yodsnukis,

  10. Paolo "pabloj" Magnoli,

  11. Dave Pullin, ColdLogic LLC

  12. Marc Castrovinci,

  13. Jeremy Cole, Proven Scaling LLC

  14. Yoshiaki Tajika, NEC System Technologies

  15. Roberto Spadim, Spadim Technology / Brazil

  16. Philip Stoev, DBIx::MyParse

  17. Stefaan "Annunaki" Lesage, PeopleWare N.V.

  18. Frank Maas, Cheiron IT,

  19. Jasper Potjer, Gios Voice Professionals

  20. Peter Brawley, Artful Software Development

  21. Paul McCullagh, PrimeBase XT,,

  22. Sebastian 'Cybot' Mendel, phpMyAdmin Team

  23. Felix Geerinckx

  24. David Dindorp, Dubex A/S

  25. Mark Johnson

  26. Scott Noyes

  27. Arkadiusz 'arekm' Miśkiewicz, PLD/Linux

  28. Vyacheslav Kvasnitsky, Real Web Solutions,

  29. Joshua Kugler,

  30. Kevin Benton,

  31. Andreas "Andi" Krüger, Biosigna Medical Diagnostics GmbH

  32. KimSeong Loh , GlobaLINK Solutions Pte Ltd

  33. Daniel Kasak,

  34. Matthew Heald

  35. Michael Wallner,

  36. Mick Francis, Deltascheme Ltd.

  37. Alexander Hristov,

  38. Bill Karwin

  39. Jérôme Despatis, Source RH

  40. Christopher Yeleighton, formerly

  41. Kevin Roberts, Consulate General of Canada in Atlanta

  42. Patrick "petitchevalroux" Poulain,

  43. Paul Rivers, UC Berkeley

  44. Ching Pong "Asuka Kenji" Siu,

  45. Adam Dixon

  46. Dan Kloke,

  47. Peter Benjamin Volk, FOSS:, AMTC-Dresden (, TU-Dresden (

  48. David Shrewsbury

  49. Anthony Willard

  50. Peter Brodersen,

Thursday, 14 December 2006

MySQL 4.0 has reached the final stage of its lifecycle

MySQL 4.0 has now reached the final stage of its active development life cycle. As I noted on 12 July 2006 when announcing the MySQL Lifecycle Policy, keeping legacy versions of our software alive is expensive and time-consuming. While we know that database administrators hate to upgrade their databases, we believe that the vast majority of our customers and our community are better served by us focusing our attention on newer releases. However, we don't want to abandon users of our older products -- so we are asking them to help subsidise the cost themselves.

This means that those who wish to continue to receive our support for MySQL 3.23 and MySQL 4.0 will need to be covered by a MySQL Enterprise subscription, starting 1 Oct 2006 for MySQL 4.0.

In practice,

  1. We are no longer producing new binary updates for MySQL 4.0 for the
    general public.

  2. Soon, we will be removing the archived versions of old MySQL 4.0
    binaries from our web site.

  3. The MySQL 4.0 source code will remain available on our web site in tarball format.

As a general rule, we encourage everyone to upgrade from MySQL 4.0 to a newer release.

However, those who wish to continue to get support for MySQL 4.0 during its Extend Lifecycle Timeframe (which will continue for another two years until 31 Dec 2008) are referred to the MySQL Enterprise subscription service.

A MySQL Enterprise subscription will not only give you access to support for older versions, but also assistance with migrating to the most current production release, MySQL 5.0.

Monday, 13 November 2006

Thank you, campers!

The first MySQL Camp is over. A whopping 223 registered attendees, most of whom were overwhelmingly active participants. Plenty of valuable feedback. Constant attention by Ken Jacobs (who assured the audience that "Oracle would never do anything to harm MySQL"), VP of Oracle. Superb Google hosting, facilities, food. Lots of beer by Proven Scaling. Fantastic sessions. What more could one hope for?

Thank you, Google! Thank you, Jay! Thank you, MySQL campers!

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!

MySQL Camp: mysqlnd native PHP driver

Small but good interaction with Bill Karwin of Zend, Taso Du Val of Fotolog and others during the MySQL Camp session on mysqlnd native PHP driver that I've blogged about earlier.

Ulf Wendel of MySQL will soon be posting a survey on the new API calls to mysqlnd, so stay tuned for that.

Friday, 10 November 2006

MySQL Camp: Measuring MySQL Community

At MySQL Camp (over 200 registered participants!), one of the first sessions was lead by Jay and themed "Measuring the MySQL Community".

The purpose of having MySQL community metrics is to know how MySQL is serving its community. At which rate is it growing? Or is it shrinking? Ideally, we would be able to say "in October 2006, the number of installations of MySQL grew by 3,2 % from 10 340 455 to 10 671 350 installations" and "the community activity index grew from 10,4 to 10,8".

There are built-in problems with this, though. While we know that we have over 10M yearly downloads, we don't know how many of those are in active use. And we know many get their MySQL packages from distributions.

Sheeri Kritzer proposed making a the server "scorebord" public. Basically, SHOW STATUS information would be aggregated as a service somewhere on MySQL Forge. "In November 2006, 417 petabyte was stored worldwide in MySQL databases (up 10,4 % from october). During the same month, 57G queries were launched against MySQL databases (up 9,4 %)."

This would require an opt-in type of "phone home" service from MySQL or some of the tools using MySQL (GUIs) to ping MySQL.

Jonathan Laventhof supported the idea and pointed out the necessity of a good privacy policy. Moreover, he proposed the new positive measure of "time to goat" -- the time from downloading MySQL to the first productive use of it, such as a blog entry on goats.

There's a great spirit here at the MySQL Camp. I'm looking forward to the upcoming sessions!

Friday, 27 October 2006

ABI fixed; 5.0.27 & 5.0.28 built

A week ago, I noted the following:

The MySQL 5.0.26 released 3 Oct 2006 contains an embarrassing ABI breakage. We’re fixing this bug right now, and making a new build including the first binaries which will carry the name “MySQL Community Server” and “MySQL Enterprise Server” (which obviously did not exist on 3 Oct 2006). We’ll notify both our community and our customers of the new builds when they’re available.

Sorry about the trouble. We’re also improving our internal QA and build processes, in order to avoid future, similar problems.

Now, we have fixed the ABI breakage and built new releases.

  • MySQL Community Server 5.0.27 is built and the packages are being seeded to our mirrors. We will send a release announcement, as we've always done, to, when most mirrors are up to date. This is the first binary carrying the name “MySQL Community Server”.

  • MySQL Enterprise Server 5.0.28 is built and our customers are being informed about how to get the new binaries. This is the first binary carrying the name "MySQL Enterprise Server".

Thursday, 26 October 2006

Pure PHP driver FAQ: Asking Georg Richter

Within hours of yesterday's blog on a pure PHP driver, Georg Richter had been on the German PHP IRC channel as well as on efnet IRC. Georg wrote an FAQ in German.

"For MySQL's PHP team (Ulf Wendel, Andrey Hristov and myself), the plan to publish a new library under the PHP license in March 2007 is not only a challenge and a programming task, but also an opportunity to improve upon what we already have", Georg writes. "The new MySQL differentiation between Community and Enterprise gives us the possibility to speed up the implementation of features essential to PHP, without being as dependent on MySQL release cycles as before", he concludes his overview.

Then, Georg provides this FAQ, based on the "partly skeptical, partly enthusiastic" questions he got over IRC and email, as the maintainer of the mysql extensions:

Q: A new PHP driver -- is this yet another MySQL Extension for PHP?

A: No. When we talk about the "pure PHP driver", we refer to a new library that substitutes libmysql.

Q: libmysql is tested in detail, and stable since a long time. Why something new?

A: The libmysql API was developed primarily for C/C++. MySQL wants to keep it lean. MySQL supports many programming languages, that all differ in their properties and working methods, and this reflects itself as differing requirements on the API. It's impossible to get all of these onto one library. Besides technical arguments, there are also legal ones. There are incompatibilities between the GPL and the PHP license, as pointed out in the original blog.

Q: Will PDO and ext/mysql support the new library?

A: Initially, we will only support ext/mysqli. When we have a certain stability, we'll actively support the PDO developers. At any rate, we will take PDO into account already in the design phase, including the wishes of the PDO developers.

Q: So what are the advantages for the developer? What candy will we get?

A: There will absolutely be advantages. Personally, I am looking for a clear performance boost, which our first tests have already indicated. Other advantages are less memory usage and leaner code. On top of that, we plan new functions, like client side query caching. But these are still only in the design phase.

Q: And what are the disadvantages?

A: With choice comes the need to decide between two solutions: The proven old one, and the new one, that will surely need some maturing time. Also, it will to begin with not be possible to use the embedded server with the new library.

Wednesday, 25 October 2006

Developing a pure PHP driver for MySQL

Talking to the PHP community members, I see a recurring theme:

How does MySQL integrate with PHP -- both from a technical and from a licensing perspective?

MySQL provides several ways to integrate between PHP and MySQL, most notably the ext/mysql and ext/mysqli drivers for PHP. These rely on the GPL licensed libmysql library, which by its nature is not compatible with the PHP license. With our not-so-optimally-named "FOSS Exception" , we have extended the rights of our community to use MySQL together with a number of non-GPL FOSS licenses, including the PHP license. This solution works well for many in the PHP community.

But we want to do more:

We plan to develop a pure PHP driver for MySQL, to be licensed under the PHP license itself and donated to the PHP Group for inclusion into PHP6.

We hope this will remove any and all licensing issues that the PHP community might otherwise have with MySQL.

Besides resolving licensing issues, we want the new pure PHP driver to technically integrate better with MySQL:

  • we intend to add support for client-side query caching in the PHP driver for MySQL, probably already to MySQL 5.1 Community Server

  • we intend to add support for a Prepared Statements cache to the PHP driver for MySQL, also implemented on the MySQL Server

We believe both of these will bring added technical value to users of PHP6. Tentatively, we should be able to deliver this in stages starting Q1 of 2007, in time for the preview release of PHP6.

We are still working out the details of this. Expect to see more specifics soon after the PHP conference in Frankfurt early November. Once we have worked out the details, I look forward to this initiative turning into a commitment from our side, and delivering results in the form of a more community-friendly, pure PHP driver for MySQL!

Tuesday, 24 October 2006

YouTube & MySQL & babies

Expect the unexpected! There is a hilarious video on YouTube, called

Do babies dream of being database engineers?

Friday, 20 October 2006

Coming to MySQL Camp

Just booked my flight to MySQL Camp in Mountain View 10-12 Nov 2006. That is the un-conference where we look forward to hanging out with some core MySQL community members. Quite a few proposed session topics, on anything from advice on getting VC funding, to high performance database schemas for folksonomy applications. I might consider presenting the one on how to run a global distributed organisation if the topic gets enough votes.

Right now, I counted 29 attendees in the participant list. Hope to meet with many more MySQL community members there!

ABI broken; new build coming soon

The MySQL 5.0.26 released 3 Oct 2006 contains an embarrassing ABI breakage. We're fixing this bug right now, and making a new build including the first binaries which will carry the name "MySQL Community Server" and "MySQL Enterprise Server" (which obviously did not exist on 3 Oct 2006). We'll notify both our community and our customers of the new builds when they're available.

Sorry about the trouble. We're also improving our internal QA and build processes, in order to avoid future, similar problems.

Central European Customer Conference

Yesterday, we finished this year's Kundenkonferenz in Munich. With over 100 customers, prospects and some community members, it was a successful event.

I was especially happy to listen to Kristian Köhntopp's Performance Tuning workshop. I had never seen MySQL Performance Tuning been presented with such a combination of profound knowledge and excellent sense of humour, before attending Kris's presentation!

Tuesday, 17 October 2006

Introducing the MySQL Community Server and the MySQL Enterprise Server

Today, you will see an announcement of a new flagship commercial offering from our company, called MySQL Enterprise. I want to explain to you why we are making these changes to our business -- and to the delivery of our software.

We recognise that the needs of the MySQL Community are different from the needs of commercial enterprise customers. After 11 years of producing our software, we can no longer hope that a single offering is the best solution for both Community and Enterprise users. Consequently, we are introducing two different offerings for each distinct target group.

The MySQL Community Server is:

  • for the Open Source fluent audience, do-it-yourself (DIY)

  • for those who don't need support

  • free-of-charge

The MySQL Enterprise Server is:

  • for the non-DIY commercial user

  • part of the 'MySQL Enterprise' subscription offering

  • for those who want extra help developing, deploying and managing MySQL DBs

  • coupled with access to MySQL technical support

  • assisted by new automated DBA monitoring and advisory services

With this differentiation, we aim to better serve both categories of MySQL users -- those who are willing to spend time to save money, and those who are willing to spend money to save time.

If our changes succeed in their objective, both audiences will benefit from a more stable, feature-rich and high-quality database. The open source benefits for each of the audiences mutually reinforce each other:

  • Community users get new features at no-cost to them -- funded by paying customers

  • Enterprise users get a more stable, reliable and predictably-released product -- thanks to community participation

Each of these components of the virtuous circle of open source contributes to the development and spreading of a better MySQL for everyone.

By the name MySQL Enterprise, we want to make clear that this is the offering we expect business users of MySQL to be interested in: Are you using MySQL in a production enterprise setting? Go for MySQL Enterprise!

We believe the users of MySQL Community Server expect

  • early access to MySQL features under development

  • that MySQL AB will listen to their input

  • timely corrections to bug fixes they report

  • help with enhancing MySQL for their particular needs

  • channels to communicate with the rest of community for getting assistance

  • an easier process for having contributions accepted in MySQL

  • commitment to Open Source -- including free, unrestricted availability of source code

and this is what we will continue to deliver.

We're happy to note the growth in contributions flowing into MySQL and its ecosystem. To facilitate these, we have

and this is now showing results:

  • 159 Forge projects by 58 distinct contributors

  • 44 Forge snippets by 25 distinct contributors

  • 361 forge users registered

  • 1696 distinct Forge Wiki page titles

  • 184 Forge wiki contributors

  • MySQL Server kernel contributions accepted, such as Jeremy Cole's

On top of this, we expect to soon launch a competition for voting on the look-and-feel of our new MySQL Community Server logotype and Web site. We will also be establishin a pilot program for MySQL Quality Assurance contributors. Most importantly, we're launching the MySQL Winter of Code program, featuring the Connectors Contest and the Storage Engines Encounters, which I will be telling you about separately next week.

Technically, the MySQL Enterprise Server inherits the current MySQL 5.0.26 code base, as does the MySQL Community Server. However, we will be encouraging and incorporating contributions in the form of minor enhancements and experimental features already into the 5.0 version of MySQL Community Server. This way, contributors don't have to wait until the next major release for their improvements to get into use, and enterprise users can continue using 5.0 without seeing any destabilisation of the code base due to new functionality being introduced.

As part of our differentiation, we will do more frequent binary releases of the MySQL Enterprise Server software than of the MySQL Community Server. However, all of our database software is open source, so we will continue to make all releases available over our BitKeeper tree and as source code tarballs -- even if the MySQL Enterprise Server binaries will not be available for public download but limited to our commercial customers and our core QA contributors.

Finally, we will continue to be active good citizens in the greater Free and Open Source Software world. We're participating in the GPLv3 drafting process, we're supporting the Free Software Foundation as FSF corporate patrons, and we're supporting campaigns against the spread of software patents around the globe.

So: Click here to see today's press releases on MySQL Enterprise, which describes our new flagship commercial offering, directed at paying enterprise customers. It refers to the MySQL Network Monitoring & Advisory Services, which is a commercial only offering we are about to launch. In due course, I'll be sharing more about that with you. Stay tuned, and please give me your feedback on what you think (including private email to k a j at m y s q l . c o m)!

Saturday, 14 October 2006

EPLA, SWPAT: Meeting to plan some action

In an article in yesterday's Süddeutsche Zeitung, an EU Commission source is mentioned as saying "it's unclear on whose mandate anti-software-patent campaigner Florian Müller is acting".

Allow me to clarify: On ours.

MySQL AB may be Florian's first and longest-running sponsor in the fight against software patents. However, financing Florian Müller's activities in the EU -- and on the national level in various European countries -- requires a broader group of European companies concerned about software patents in general, and the plans for an European Patent Litigation Agreement in particular. Amongst Florian's other sponsors, let me mention Germany's leading Internet provider 1&1 and Materna, a leading German software company in the ICT sector. All of the sponsors met today in Frankfurt at a management and partly even owner / board of director level.

Our cause is to establish a better patent regime in Europe. Over time, this regime will hopefully spread across the world. We want a competitive society and advocate a free market where innovators are allowed to learn from and even imitate ideas of others, but not to steal intellectual property. As we see it, economic growth, innovation, and employment are not served by today's patent system where pure software patents are being granted even in Europe.

Stay tuned for a call for actions for what small and medium size companies can do to constructively contribute to the political process of establishing a patent regime that truly stimulates innovation and competition. Most of today's incumbent players grew big in a world without software patents. Let them not raise entrance barriers now, by simply changing the rules of the game!

Friday, 29 September 2006

Presenting at the Kundenkonferenz in Munich 19.10.2006

Tomorrow, I have been living a month in Munich. Relocating to Germany brings me closer to MySQL customers, users, and developers. Already, I've attended several meetings (OK, still just internal ones) that I wouldn't have, from Finland.

Looking forward to plenty of interactions with locals, starting from the MySQL Kundenkonferenz Thursday 19.10.2006 here at the Park Hilton, right here in Munich.

Tuesday, 8 August 2006

Making MySQL Linux Standard Base 3.1 compliant

At OSCON, I met with Ian Murdock, Jim Zemlin and Amanda McPherson of FSG (, together with our founders Monty and David. We discussed ways of making MySQL Linux Standard Base 3.1 compliant.


Starting MySQL 5.1, we will strive for LSB 3.1 compliance. We'll make the packages (RPM files, dpkg files) LSB compliant. Tarballs will still exist, but for other purposes, and will not aim at LSB compliancy.

LSB compliancy is planned to make MySQL behave (even more) like expected by users, and to reduce the number of packages built by MySQL. This reduction will simplify choice for users, and reduce build work for us. LSB compliant packages should at least cover RHEL 4 onwards, SuSE 9 onwards, Ubuntu, Red Flag and other distributions. (RHEL 3 will never be LSB compliant but will be end-of-lifed sooner).

Given that MySQL 5.1 is already in beta, it might be that the LSB compliant packages need to be made available in addition to such packages, that the LSB compliant ones are eventually supposed to substitute. This would be the case, if directories move so much that simple package upgrades will create problems for beta users of MySQL 5.1. We will assess this separately, once we're there.

The next step is to test the MySQL 5.1 builds against the LSB test suite, running the appcheck validation tool against a MySQL build. And then we will set up a pristine LSB testing environment. This will affect not just our Build team, but also our Architecture, QA and Maintenance teams.

To achieve LSB compliance, I expect us to have

  • to fix functions ("MySQL 5.1 now uses function X, the equivalent LSB function is Y")

  • to set up directories differently

Thanks to Ian, Jim and Amanda (and Monty and David) for a good meeting! Looking forward to making MySQL LSB compliant together.

Wednesday, 26 July 2006

Code Contributions & Consideration

Consider this:

You create a piece of code that is truly valuable for MySQL. We give you a T-shirt. Does this feel right?

Of course it doesn't. The CLA (Contributor License Agreement) just contains the T-shirt as a default so-called consideration and a token of appreciation. Several people rightly reacted to the imbalance of T-shirts versus valuable code in my original CLA post.

The legal concept of "consideration" in American or English law means more-or-less compensation, i.e. a countercommitment to make the contract not just balanced but enforceable. Wikipedia's definition of consideration starts like this:

Consideration is defined as a bargain for the exchange of something of value. An example of consideration is the sale of a car for payment (e.g. the sale of a Toyota for $3,000). Consideration is a central concept in the common law of contracts. Under classical contract theory, consideration is required for a contract to be enforceable.

In several cases during the history of MySQL, consideration for code contributions has been money and shares of MySQL AB. On a case by case basis, serious money can move hands. We don't mind paying good money for good contributions. MySQL AB is not a charity, nor do we expect code contributors to be charities towards us.

For quite a number of contributors, I still expect the major consideration to be that we take over the maintenance burden of the patch. And for many contributors, the code contributed may be interesting for some MySQL users, but not for large enough numbers to merit "serious money".

Some contributions are just the starting point of code patches that can be accepted into the code base, complying to coding standards and having gone through the scrutiny of reviews. But rest assured, if you fix bugs in the form of acceptable code patches, there will be much more than just T-shirts coming your way!

With contributors of gems, we have not just agreed for them to join MySQL AB (like Mark Matthews for Connector/J) but compensated them with cash and/or shares in MySQL AB. Such transactions happen after relations have been built up long-term.

Sunday, 23 July 2006

How to Now Contribute Code to MySQL

While most of the code in MySQL is written by employees of MySQL, we are open to contributions by companies and individual contributors. In an attempt to make it easier to contribute to MySQL, we have created the MySQL Code Contribution Program.

MySQL Forge is a collection of projects based on MySQL. The Code Contribution Program is one step beyond that: It's for code that goes directly into the MySQL-owned and managed code base.

As such, MySQL has accepted contributions before. Through the Contributor License Agreement (now released as beta), we have streamlined the legal aspect of the process.

Beside the legal side of the contributor program, there is the development aspect. Contributors may need help and guidance from MySQL developers. For both the legal and development aspect, the MySQL Community Team is the proxy. Potential contributors can reach us through the mailing list, where you can approach us with specific questions.

Here is the beginning of a simple FAQ we are starting:

What is the purpose of the Code Contribution Program for MySQL AB?

From our own perspective, the purpose of the "MySQL Code Contribution Program" is

  1. to drive more fixes by the community to simple bugs, i.e. fix more bugs quicker

  2. to get more contributions in the form of new features, i.e. offer more features for our users

  3. to breed a larger recruitment base of devs familiar with MySQL both for our customers and ourselves

What are the benefits to the developer contributing to MySQL?

I believe that people contributing to MySQL are somehow scratching their own itch. Likely reasons why developers contribute to MySQL are

  1. to avoid having to maintain their patch, which they wrote just in order to fix their own problem with MySQL

  2. to increase their market value for recruitments, not just by MySQL AB but by any company

  3. to get feedback and users for their projects, by using MySQL as the wide-spread fundament of their (academic, research) project

We acknowledge that especially Category 1 people (and companies) consider all admin work to be bureaucracy. This is why we keep the paperwork and legalese to a minimum. But we cannot go below the minimum. Our paying customers are sensitive to our IP rights. They are entitled to know for sure that we as their suppliers own what we sell them.

What are the terms of the CLA?

The MySQL Contributor License Agreement (CLA) means, in simple terms, that:

  • The developer assigns and transfers the copyright of the contribution to MySQL. In return, the developer receives back a broad license to re-use and distribute the contribution.

  • The developer grants a patent license to MySQL and its users, in the event that the developer owns a patent that covers the contribution.

  • The developer represents that he or she coded and owns the contribution, and is legally entitled to grant the assignment and license.

  • The developer may provide support for free, for a fee, or not at all.
  • MySQL has no obligation to accept or use the contribution.

If MySQL accepts and maintains the contribution, and it is deemed of material value to the Project, the developer's benefit is that we relieve the developer of the burden of maintaining the contribution and will provide the developer attribution in the GA release notes (unless the developer asks not to be mentioned). The developer may also select two of the following items: a MySQL Press book, a MySQL shirt, a US $100 rebate to a conference or training class, or a US $100 donation to the Free Software Foundation (FSF) by MySQL AB.

Why does MySQL AB require copyright transfer? Red Hat does not!

The GNU Project does.

MySQL is the owner and copyright holder of the entire MySQL product, whereas Linux does not have one single entity as a copyright holder.
This makes the MySQL Dual Licensing model possible. The MySQL users benefit from this in the form of further product development
financed by MySQL (with currently over 80 developers on MySQL's payroll). While MySQL has developed most of the MySQL database itself, and continues to do so, MySQL also wants to simplify the processes for contributors to MySQL.

Caveat for Europe

We received some comments on legal issues related to some European jurisdictions (notably Germany), which might still influence our timetable. This means that the CLA is still in Beta form, and may receive some updates to improve its global reach.

Friday, 21 July 2006

MySQL Max Build Policy

Starting MySQL 5.1 (1), we're simplifying life when it comes to the number of builds for each platform. We will be building only one binary package for each platform (2): the binary known in MySQL 5.0 as "max". The assumption is that users prefer one binary with all options enabled, rather than having to choose the proper version at install time (or worse still, rely on others having made the proper choice on their behalf).

And with only one version, there is no need to call it "max". "The max version is dead. Long live the max version!". Not to speak in riddles, the standard mysqld binary is intended to contain all mysqld-max features. While 5.1.11 e.g. in Linux (x86) package still has three binaries


the plan is to reduce this to two. Already now in 5.1, the only difference between mysqld and mysqld-max is the BDB table handler. The only real difference going forward is removing support of BDB, which is the first step towards removing it also from the source after 5.1.

We think the majority of our users agree that the simplification is beneficial. This way, MySQL will by default contain MySQL Cluster, together with all other functionality we deem stable enough to provide our user base with.

In MySQL 5.0 and earlier, the Standard/Max duality has proven problematic from the user's perspective:

  • The question "Which package should I install?" is a very common one on the mailing list.

  • There is a limit to the number of flavours a user can decide between, more flavours is just overwhelming.

  • The risk of the user picking the wrong binary and then thinking "this is not supported" is high.

  • As we want customers to try new things, we should see to it that they already have them installed.

I imagine the user asking himself or herself questions like

  • Has my DBA installed the version I want and need?

  • Are security functions (such as SSL) available in all binaries?

  • Does the Debug version have the extra debug information on top of Standard or on top of Max?

  • Is MySQL Max somehow related to MaxDB? (Footnote: No, it is not)

I won't hide the fact that our Build team also saves some time by not providing multiple binaries: We get a shorter turnaround time for builds, for tests and for uploads to mirrors. And it helps our commercial Support team, which now needs to ask users to separate between flavours for versions, and keep track of differences between flavours.

However, our simplification is not as much about reducing our own build complexity, as about simplifying life for our user base.

  • Fewer choices means less time spent choosing, simpler lists on the Web.

  • The user/developer is less dependent on which particular version he has, when he uses/develops applications based on MySQL.

  • The developer does not need to convince his DBA or ISP to upgrade into a particular flavour of a release.

  • ISPs and DBAs don't have to make complex decisions on which flavours to support.

  • Distributors will hopefully pick up our choice of configuration, to further reduce the number of different MySQL configurations available (and thereby the confusion).

Like with any decision, we don't have all the facts at hand. So now is the time to let us know if we're on track or not. This can be done on
the forums at, or on the mailing lists at or as comments to this blog (if you register yourself first).


(1) The MySQL 5.1 download pages at say

As we're working on making some changes to how we will provide binary distributions of MySQL 5.1, this release currently only provides "Max" binaries for a few selected platforms as well as the source distributions.

Compare this to the download pages for MySQL 5.0 Community Edition - Generally Available (GA) Release at where we say

The Standard binaries are recommended for most users

The Max version includes additional features that have not been exhaustively tested or are not required for general usage. When these features have matured and proven to be stable, they will be incorporated into future releases of the Standard binaries. The Max version also, for most platforms, contains MySQL Cluster storage node, management server and mysqld/ndb enabling programs.

The Debug binaries have been compiled with extra debug information, and are not intended for production use, because the included debugging code may reduce performance.

(2) A separate server binary with additional debugging support enabled continues to be included.

Tuesday, 18 July 2006

Podcast with Scott Mace available on IT Conversations

During the MySQL Users Conference late April, I had the pleasure of being interviewed by Scott Mace in his ITConversations series. The podcast is now available online.

In his commentary to my podcast, Scott says

Open-source database management software is in millions of hands. Find out how MySQL profitably blazed this trail, and how Kaj Arnö of MySQL is helping define GPL 3.0, and how MySQL lives with the complexity of software patents and multiple storage engines. Kaj also discusses how MySQL both competes and cooperates with Oracle. Also, whatever came out of last year's summit of open source database providers? Arno also discusses the forthcoming Falcon storage engine, MySQL-powered Netflix's lawsuit against Blockbuster, .Net plans, its SCO partnership, and the great vodka chocolate giveaway.

Scott Mace is a writer, editor, analyst and -- as listeners of his podcasts will notice -- expert podcaster. You might also want to listen to the other IT Conversations podcasts with people like Steve Wozniak, Clayton Christensen, Lawrence Lessig, Steve McConnell and Tim O'Reilly.

Wednesday, 12 July 2006

MySQL Lifecycle Policy

Database administrators hate to upgrade their databases. At MySQL, we like to think that we have been early to recognise this, and we have given more or less unlimited support to even very old releases, on a multitude of platforms. However, this has not been without cost to ourselves.

Many of our users know that the cost of maintaining several releases is high. We have thus been asked to clarify our support lifecycle policy. After long internal discussions, that were not always easy, we are now pleased to say that we have an explicit support lifecycle policy. It addresses the timeframes we will provide updates and continued support for current and older versions of the MySQL server.

Keeping older versions alive for a long time is appreciated by our community and our customers alike. However, we are no longer in a position to maintain our older versions without remuneration. This means that those wishing to enjoy MySQL's support in their usage of MySQL 3.23 and MySQL 4.0 need to plan for their future, as our support of these releases will be limited to those covered by a MySQL Network subscription, starting in 1 Aug 2006 (for MySQL 3.23) and 1 Oct 2006 (for MySQL 4.0).

This means that we are no longer offering publicly available binary updates for our 3.23 and 4.0 releases. The sources of these will still be provided. We are also evaluating whether we will continue hosting archived versions of old binaries, as well as the timeline for the support of MySQL 4.1.

We hope the clarity offered by this explicit support lifecycle policy will give a good base to our Customers and Users alike, when planning for their future use of MySQL!

Friday, 30 June 2006

SWPATs: No Lobbyists As Such -- 377 pages for free!

Followers of MySQL AB know that we strongly oppose software patents. We have concluded that software patents are harmful to the software industry at large. This is why we support those who work for an abolishment of software patents. We also work with other companies and groups to build a joint defense against software patents.

MySQL AB as a company, and I myself as VP Community, were heavily involved in Florian Müller's campaign 2004-05 in Europe. We were involved both as sponsors and advisors.

The story of this David against Goliath campaign is now available for all as a book. Florian Müller's memoir-style book
No Lobbyists As Such - The War over Software Patents in the European Union
has been released under the Creative Commons license this month.

On 377 pages, Mueller tells the story of the legislative process that ended in July last year with a landslide vote of the European Parliament against a proposal for a software patent directive.

The book is now available on the Internet for download:
The file may be redistributed under a Creative Commons license.

Wlodzimierz Marcinski, who as Polish deputy minister of science blocked an EU Council decision in favour of software patents all alone in December 2004, has said he looks forward "to reading Florian Mueller's book that tells the story from the perspective of the citizens who became involved and through their untiring commitment made such a difference."

At MySQL AB, we have had access to drafts of the book. It connects well with our self-experienced work, talking to politicians and co-sponsors of My official quote as reviewer is that as a reader, I felt like "standing in a parliament and talking directly to the politicians who made the decisions".

Other reviewers are equally enthusiastic:

  • William New, editor-in-chief of the news service Intellectual Property Watch ( Mueller's book "really reads like a spy novel, very instructive as well as entertaining and engaging."

  • Professor Brian Kahin, former Senior Policy Analyst at the White House Office on Science and Technology Policy: "Mueller's lucid, gripping account succeeds as an engrossing introduction to one of the major policy problems of our time and to Europe's struggle for integration."

  • Benjamin Henrion of the non-governmental organisation FFII: The book "vividly conveys the feeling of what we experienced", and is a "must-read for all who are concerned about software patents, and for those who want to know how things work in EU politics."

    The book is also available in German as "Die Lobbyschlacht um Softwarepatente",

    You can read more about the book author Florian Müller at at and at his blog site at
  • OSBC Europe in London

    GPLv3 was the theme of the presentation in OSBC Europe in London this Tuesday, where I was on a panel together with Dietmar Tallroth of Nokia and Eben Moglen of the FSF.

    I stressed four key topics:

    1. Ubiquity: We need a GPLv3 that not only achieves the same level of ubiquity as GPLv2, but goes beyond it.

    2. Software Patents: We need a GPLv3 that goes as far as possible protecting the industry from the adverse effects of legislations that allow software patents, without sacrificing the goal of ubiquity.

    3. Dual licensing: We need a GPLv3 that supports the proliferation of companies licensing their products both under GPL and under commercial licenses, as this further expands the universe of GPL software and encourages the establishment of new viable businesses.
    4. Clarity: We already have a GPLv3 draft that supports the detachment of GPL from being hardcoded one particular legal system, and makes it usable in many countries.

    Wednesday, 31 May 2006


    OK, so I am a late adopter. Flickr is a great place that any photographer should be aware of. And not just be aware of, but posting in.

    So it shouldn't be a big surprise to me that half of bloggers have Flickr accounts. After posting my initial photo sets I registered my first few contacts. By looking at my contacts' contacts, you'll likely find most any photographically active MySQL blogger.

    There's a lot to learn and to use (what's the difference between a friend and a contact? does it matter? will friends merely labelled as contacts be offended, or vice versa?) but it's an excellent way of sharing pictures.

    The topic of my first sets? Snapshots from a recent visit to Moscow and Sergiy Posad, with local MySQLers in both Development and Support.

    Friday, 21 April 2006

    DotOrg Pavilion

    Come visit the DotOrg Pavilion at the MySQL Users Conference next week!

    The DotOrg Pavilion is where you will find a wide range of open source projects that compose the larger FOSS ecosystem in which MySQL thrives. Regardless of your specific interests in MySQL topics, we're sure you'll find the DotOrg pavilion to be a mecca for OSS enthusiasts, writers, speakers, and advocates. Meet and greet with some of the world's most recognized free software organizations, as well as discover new up and coming projects.

    Exhibit Hall Hours are:

    • Tuesday, April 25 - 10:00 a.m. - 4:30 p.m.

    • Tuesday Night Reception - 6:00 p.m. - 7:30 p.m.

    • Wednesday, April 26 - 10:00 a.m. - 5:00 p.m.

    Register for an Exhibit Hall Pass here.

    We're happy to have signed up the following exhibitors:

    1. The Apache Geronimo Project

    2. The Eclipse Foundation

    3. The Electronic Frontier Foundation (EFF)

    4. MediaWiki

    5. opentaps (an Open Source ERP solution)

    6. The OpenI (Open Source BI tool)

    7. phpMyAdmin (PHP MySQL administration tool)

    8. (a collaborative W3C effort for the Semantical Web)

    9. SWiK (a Wiki for Open Source projects)

    Thursday, 9 March 2006

    Sorrento MySQL Developers Conference

    Tomorrow, I'll be taking off for Sorrento close to Naples in Italy. Some MySQLers are already there, and most of us will come during the weekend. It's the yearly Developer Conference, where large parts of the Services organisation is also taking part.

    I'll use the time to interview some of our devs about MySQL 5.1 and their User Conference presentations.

    Tuesday, 7 March 2006

    SWPATs: Florian starts to blog

    Florian Müller has started his own blog. His new website promotes his book on the EU fight against Software Patents in 2004 and 2005. As part of it, he has also started a blog, well worth following.

    Saturday, 4 March 2006

    BOF sessions during MySQL UC

    What are we going to have BOF (Birds-of-a-Feather) sessions on during the MySQL UC?

    Looking at the corresponding web page, the list is short today. It just has Zak Greant and myself moderating a GPLv3 Jam Session.

    So please submit your own ideas into our BOF Request Form.

    I'd be interested in seeing BOF sessions on topics such as

    • Performance Tuning

    • Architecture

    • Cluster

    • Replication

    • GUI tools

    • MySQL Network

    • PHP/LAMP

    • Java

    • .Net

    The ground rules on our BOF web page are:

    Birds of a Feather (BOF) sessions provide face to face exposure to those interested in the same projects and concepts. BOFs can be organized for individual projects or broader topics (best practices, open data, standards). BOFs are entirely up to you. We post your topic online and onsite and provide the space and time. You provide the engaging topic.

    If you're interested in moderating your own BOF, please fill out the questionnaire today. If you have any questions, feel free to contact Vee McMillen via email:

    Please note that audio/visual equipment, including projection equipment, will not be available for BOF sessions. If you require any audio/visual equipment, you may contact, the official convention audio/visual producer, for rental rates.

    Friday, 3 March 2006

    Hiring: Developers, developers ...

    Believe it or not, we have a shortage of developers at MySQL. We have more positions open than there are candidates to fill the posts with.

    As such, MySQL AB enjoys an inflow of quite a lot of applications. It feels like a privilege to be attractive to professionals across the world.

    MySQL developers on conference in Malta

    However, we have very specific needs. On, I counted eight positions open regardless of your location in the world, and five of them are in development:

    There are other worldwide positions in Services (Support Engineer, Senior Consultant, Senior Curriculum Developer) and five European positions in Services/Engineering (SAP Practice Manager, Senior Consultants, Senior Instructor, Technical writer - Certification Exams, Development Engineer / Unit-Testing and Benchmarking).
    Brian (part of)
    A hurdle? See Step 1.


    1. read "Finding an open source programming job", an interview of Brian Aker, our Director of Architecture and a benevolent hurdle to pass for anyone interested in a Dev job at MySQL

    2. do your background research on MySQL (at least the product, preferrably also the company)

    3. do something (code, implement) related to MySQL and your desired position

    4. send a personal email to whomever you might know (or have met, or have heard presenting) inside MySQL AB; this speeds things up, but is obviously not a requirement

    5. fill in our Job Application Form on the web (it'll likely be processed faster than if you email, especially addressing how you fit the qualifications

    Friday, 3 February 2006

    Linux Asia / New Delhi 8-10.2.2006

    Colin Charles (MySQL Community Engineer) and David Axmark (MySQL AB co-founder) will be visiting Linux Asia in New Delhi next week (8-10 February 2006). If you're there, be sure to talk to them about MySQL 5.0 & 5.1, MySQL Cluster, our Users Conference in California in April, and about whichever way we can help you make more out of MySQL!

    Monday, 30 January 2006

    The Truth behind European of the Year?

    Norbert Bollow, the man who already made himself a name in the campaign against software patents by founding, now runs a new website where he questions whether the 'European of the Year' award really [was] decided by the votes in the public poll, as it should have according to the predefined rules set by European Voice itself.

    Banana Republic runs a good summary in German of what it's all about. My own thinking, also quoted in that article, is that I have a hard time understanding how anybody -- including the declared winner Jean-Claude Juncker -- would have been able to gather more votes over Internet than Florian Müller did. I'm not questioning Jean-Claude Juncker's merits as European of the Year, but I'd be very surprised if he were the legitimate winner of the ballot.

    So if you aren't particularly fond of Banana Republic like political intransparency winning grounds in Europe (regardless if you're an EU citizen or not), why not sign a bundle of open letters on the web site (at the bottom of the page)!

    Thursday, 26 January 2006

    On licensing

    The GPLv3 draft suggests some new dimensions and options for developers of GPL software. At MySQL, we believe in Free Software and in Open Source. We believe in ubiquity.

    So to be very clear:
    We do not intend to make any changes that would harm the community.

    What we do want, is input from the MySQL community on licensing. GPLv3 is not yet written in stone, and as co-chair of the Discussion Committee B at FSF, I am depending on your feedback. Feel free to ask questions, raise concerns, come with suggestions!

    Monday, 23 January 2006

    Lobbyists prepare for next software patent battle

    In an article in ZDNet UK, Florian Müller describes the new debate on SWPATs, which will soon start in the EU.

    This time the debate around software patents in Europe is going to be 'bigger and more complex' according to an anti-patent campaigner.

    Pro-patent companies and lobby groups are getting ready for the European Commission's next attempt to change the law around patents.

    Last year, the directive on the patentability of computer implemented inventions, commonly known as the software patent directive, was rejected by the European Parliament.

    But the debate around software patents has now reopened, with the EC's launch of a public consultation into how the patent system should be changed. Although this consultation does not mention software patents directly, there are fears that the Community Patent legislation could ratify the European Patent Office's current practice of granting software patents.


    Florian Mueller, the founder of and a key campaigner against last year's directive, said the next battle over software patents could be more difficult to fight than the last.

    "The new patent fight is going to be bigger and more complex because the Commission appears to be looking at the introduction of a community patent, the harmonisation of substantive law, that is, what can and cannot be patented, a streamlining of the judicial system and possibly also some patent quality initiatives," he said.

    Although Mueller stopped campaigning full-time against software patents early last year to concentrate on other projects, he said that he may consider returning.

    "I can imagine becoming involved again if medium-sized IT companies are prepared to provide a much more significant war chest this time around. We'll definitely need more resources than the last time," he said.

    In addition to what is mentioned in the article there are a couple of interesting dates:

    • Until 31 March 2006, the Commission accepts submissions of responses to the Consultation Paper. But answering this paper is challenging, and requires a lot of effort.

    • On 13 June 2006, there will be a hearing in Brussels.

    Pundits expect that already after the summer break, the Commission will present a suggestion for SWPAT legislation or presumably even a package of several suggestions.

    Wednesday, 18 January 2006

    Finnish FOSS survey on contributions to MySQL

    Niklas Vainio, researcher at the Hypermedia Laboratory of the University of Tampere in my native Finland, is doing a survey on free/open source software (FOSS) communities. He would like MySQL contributors, including developers, bug fixers, documentation writers, testers, packagers and coordinators, paid or not, to participate in the survey at

    The survey has six pages and a total of 63 questions. It brings up a lot of interesting questions.

    Niklas hopes the survey will increase our joint understanding of the structure of FOSS communities and company participation in FOSS. The research is part of the project Managing Open Source Software as an Integrated Part of Business ( The results of the survey will be available publicly later this year.

    Besides answering the survey, you may wish to contact the researcher himself at with any questions or comments. His blog is at

    Tuesday, 17 January 2006

    GPLv3 first draft launched @ MIT

    I think the FSF has done a great job in preparing the first draft for GPLv3. "The FSF" here means Richard Stallman plus Eben Mogler, their lawyer.

    The GPLv3 first draft was launched today 16 Jan 2006 here at MIT in Boston. It's the start of a nearly year-long process with at least one more coordinated draft (in late June) published before a final release, likely in November. Those are the likely dates; earlier and later dates are possible at least in theory.

    Generally speaking, GPLv3 tries to address all important GPLv2 shortcomings. Judging from what I've seen and examined so far, it does quite a good job of it. Let's see where the discussions go.

    Discussions now take place fully openly over the FSF GPLv3 website with those who represent special interest groups being invited by the FSF to four Discussion Groups.

    • Group A is major projects (e.g. Perl, Apache, Debian)

    • Group B is Big Business creating or embedding GPL software (e.g. IBM, Sun, HP, but also Trolltech, Red Hat, MySQL)

    • Group C is big users (e.g. government, enterprises)

    • Group D is individual hackers, other "leftovers" not fitting into other groups

    Together with the Senior Counsel IP of Hewlett Packard, I got elected co-chair of Group B.

    The draft and its rationale can be found at and respectively.

    GPLv3 attempts at solving several issues:

    1. making it compatible with non-US law

    • using "propagation" instead of "distribution"

    • detaching language from US-specific statutory law

    • perhaps introducing official non-English translations

    2. making it more compatible with other FOSS licenses

    • doing large parts of what the MySQL "FOSS Exception" does today

    3. create options where none exist today

    • allow requiring GPLv3 users to make their server-side SW downloadable

    • enable patent retaliation against offensive patent holders

    4. clarify the intention of preserving freedom in current gray areas

    • disable GPL SW use with Digital Rights/Restrictions Management

    There is going to be some controversy in the GPLv3, but most of the work will be plenty of eye-balls attempting to find bugs in the wording of mostly non-controversial issues. As the patent retaliation and server-side download clauses are optional, they are not nearly as hot as the DRM incompatibility.

    For most (practically all) GPL software, the license is written in such a way that the upgrade from GPLv2 to GPLv3 will happen automatically, without any actions needed (or even possible) by the developers. There is an auto-upgrade clause in GPLv2.

    We do have to understand that there is a long process ahead of GPLv3 until it becomes reality. But the atmosphere of the day was a good one, with the attendees showing proper respect for RMS and Eben, for the process and for each other. The task at hand is not a power play but one of discovering and documenting argumentation, flaws, and logic towards FSF, who as benevolent dictator will decide what GPLv3 will be.

    I'm looking forward to contributing to the GPLv3 process!

    Monday, 16 January 2006

    New SCO announcement

    Today, SCO announces MySQL Network for SCO OpenServer 6 at the National Retail Federation event in New York. The announcement is also on the MySQL Partner Site.

    The news of this announcement, beyond the September 2005 SCO partnership press release, is that the porting to OpenServer 6 has now been completed, and thus SCO will begin reselling MySQL Network through their partner channel to their customers as planned in Sep 2005.

    We got some questions on the nature of the deal between MySQL AB and SCO back then, and I might as well answer some PAQ ("Presumably Asked Questions") in advance.

    • Although SCO will be offering our commercial MySQL Network subscriptions to their customers, the deal also has allowed us to offer a community edition of MySQL 5.0 for OpenServer -- available now under the GPL at

    • From a community perspective, I am thus happy to use the money we receive from SCO to expand the universe of GPL software.

    • FOSS is about choice. By porting MySQL to OpenServer, we are offering more users access to more open source software.
    • SCO's platforms are quite widely used in retail and other SMB industries so we are helping fulfil our mission to make database management affordable and available to more people.