User Group Sponsorships

In the wake of Meetup.com changing their sponsorship agreements, Technocation, Inc., an international not-for-profit group, has set up a fund for user group sponsorships. You can use the button below to donate any amount of money in US funds via PayPal:





(all monies sent through that button will be earmarked as a directed donation to the “User Group Fund”. In the interest of not cluttering up this blog post with a Donate button for each currency, you can use PayPal to send funds in *any* currency to “donate@technocation.org”. Just be sure to specify if you want the money to go to specifically to the User Group Fund.*)

Note that meetup.com’s fees are $144 per year ($12 per month).

Four years ago, MySQL and Meetup.com entered into an agreement. I have no idea of the details of this sponsorship, though from reading in between the lines, I believe the sponsorship was an in-kind sponsorship — that is, no money exchanged hands, but there were mutually agreed upon benefits. I have no idea what the benefits to Meetup.com were — publicity or free consulting, perhaps.

What I do know is that Meetup.com is changing the way they are doing sponsorships. Arjen Lentz blames Lenz of the community team for not setting a reminder, saying that doing so “would’ve preempted anything”. The only thing a reminder would have done would have been to give MySQL more time to figure out what to do, and the end result would be the same — user groups can stay at meetup.com, and find a way to pay the fees, or they can migrate to a free system.

He also notes that it’s “Interesting that none of the MySQL Community team are themselves organisers or meetups/usergroups, they’d have been informed.” David Skujarne feels similarly, noting “it feels like this was just tossed this back to organizers to fix.” And yet, I have had a conversation earlier this week from a prominent community leader who was worried that MySQL was “taking over” a certain community event that is in its early planning stages. So which way do we want it? Do we want a volunteer-led community, or a community led by paid liaisons from MySQL?

Arjen commented to another post with his concern “that many will just shut down the group rather than move or pay.” In all my discussions with user group leaders, not one of them has even thought to shut down the group. Some have made the decision to stay on meetup.com and pay fees out-of-pocket, others have made the decision to move to a free service, still others are dedicated to finding sponsors (send mail to donate@technocation.org if you would like to be matched with a sponsor), and a few have passed the baton to another leader to make the decision.

Mostly, though, I have had people offering me money (David will be happy to know that those people include individuals on the MySQL Community Team) and moral support so that user groups can continue. And so, I have turned those monetary offers into something more: a fund. Let’s see how long we, as a community, can keep ourselves going.

Will some user groups close up shop? Probably. My own user group has had 40 user group meetings, which would not have happened if MySQL did not sponsor us. If the Boston MySQL User Group closed tomorrow, we still would have had those 40 meetings. So that is still a benefit. With luck and financial contributions, as a community we can stop whining and do something about the situation we find ourselves in.

* If you would like to send a physical payment (check, money order, postal order, in any currency), you can make it payable to Technocation, Inc. and send it via post to:

Technocation, Inc.
PO Box 380221
Cambridge, MA 02138
USA

Should you need it for your records, Technocation’s EIN (US tax id) is 20-5445375. Technocation, Inc. is a 501(c)3 corporation, and donations are tax-deductible to the fullest extent of the law.

In the wake of Meetup.com changing their sponsorship agreements, Technocation, Inc., an international not-for-profit group, has set up a fund for user group sponsorships. You can use the button below to donate any amount of money in US funds via PayPal:





(all monies sent through that button will be earmarked as a directed donation to the “User Group Fund”. In the interest of not cluttering up this blog post with a Donate button for each currency, you can use PayPal to send funds in *any* currency to “donate@technocation.org”. Just be sure to specify if you want the money to go to specifically to the User Group Fund.*)

Note that meetup.com’s fees are $144 per year ($12 per month).

Four years ago, MySQL and Meetup.com entered into an agreement. I have no idea of the details of this sponsorship, though from reading in between the lines, I believe the sponsorship was an in-kind sponsorship — that is, no money exchanged hands, but there were mutually agreed upon benefits. I have no idea what the benefits to Meetup.com were — publicity or free consulting, perhaps.

What I do know is that Meetup.com is changing the way they are doing sponsorships. Arjen Lentz blames Lenz of the community team for not setting a reminder, saying that doing so “would’ve preempted anything”. The only thing a reminder would have done would have been to give MySQL more time to figure out what to do, and the end result would be the same — user groups can stay at meetup.com, and find a way to pay the fees, or they can migrate to a free system.

He also notes that it’s “Interesting that none of the MySQL Community team are themselves organisers or meetups/usergroups, they’d have been informed.” David Skujarne feels similarly, noting “it feels like this was just tossed this back to organizers to fix.” And yet, I have had a conversation earlier this week from a prominent community leader who was worried that MySQL was “taking over” a certain community event that is in its early planning stages. So which way do we want it? Do we want a volunteer-led community, or a community led by paid liaisons from MySQL?

Arjen commented to another post with his concern “that many will just shut down the group rather than move or pay.” In all my discussions with user group leaders, not one of them has even thought to shut down the group. Some have made the decision to stay on meetup.com and pay fees out-of-pocket, others have made the decision to move to a free service, still others are dedicated to finding sponsors (send mail to donate@technocation.org if you would like to be matched with a sponsor), and a few have passed the baton to another leader to make the decision.

Mostly, though, I have had people offering me money (David will be happy to know that those people include individuals on the MySQL Community Team) and moral support so that user groups can continue. And so, I have turned those monetary offers into something more: a fund. Let’s see how long we, as a community, can keep ourselves going.

Will some user groups close up shop? Probably. My own user group has had 40 user group meetings, which would not have happened if MySQL did not sponsor us. If the Boston MySQL User Group closed tomorrow, we still would have had those 40 meetings. So that is still a benefit. With luck and financial contributions, as a community we can stop whining and do something about the situation we find ourselves in.

* If you would like to send a physical payment (check, money order, postal order, in any currency), you can make it payable to Technocation, Inc. and send it via post to:

Technocation, Inc.
PO Box 380221
Cambridge, MA 02138
USA

Should you need it for your records, Technocation’s EIN (US tax id) is 20-5445375. Technocation, Inc. is a 501(c)3 corporation, and donations are tax-deductible to the fullest extent of the law.

The MySQL Bible is Here!

A year ago, the outline was being written. A lot of work was crammed into the intervening months, and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

A year ago, the outline was being written. A lot of work was crammed into the intervening months, and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

What If…..

So, I was pointed to a post by Dean Ellis saying that MySQL needs a mothership which was written in response to another post by Baron Schwartz saying a mothership might not be the best thing for MySQL. Selena Decklemann recently posted about the issue of not having a company behind the software in the Postgres world.

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

So, I was pointed to a post by Dean Ellis saying that MySQL needs a mothership which was written in response to another post by Baron Schwartz saying a mothership might not be the best thing for MySQL. Selena Decklemann recently posted about the issue of not having a company behind the software in the Postgres world.

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

Meetup.com Confirms Automatic MySQL Sponsorship Ended

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, this agreement has ended, so there’s going to have to be a more manual process to get MySQL to sponsor the meetup groups. At its cheapest, a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, this agreement has ended, so there’s going to have to be a more manual process to get MySQL to sponsor the meetup groups. At its cheapest, a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

I apparently have_community_features

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, but for now, it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, but for now, it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

MySQL Documentation Licensing Woes

By now many folks know that MySQL documentation is not changing its license. This is an issue with many sides, but before I go through them, I want to address a comment made by Masood Mortazavi:

People who are interested in forking the server — and potentially interested in creating what is in effect separate communities of their own — should probably develop their own docs for their own forks.

(There is a cost involved here, I know. However, it should be a cost worth paying if developers of forks really believe in their work. MySQL AB certainly paid that cost in developing the docs while it had already made the code itself freely available under GPL. So, the playing ground among all forks, etc., and including MySQL itself, is actually quite level.)

MySQL AB paid the cost in developing the *software* as well. Why is it that the cost of writing documentation from scratch is acceptable, but the cost of writing the *software* from scratch isn’t?

I totally understand the concern that if people have the same rights to fork the documentation as they do to fork the code, confusion may arise. Many do not agree that the risk is high enough to warrant keeping the documentation “closed”. However, even if that is the case, Section 2 of GPLv2 states:

You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.

So, if Sun/MySQL[/Oracle/whatever] was *really* worried about confusion, they would publish the documentation with a GPLv2 license, and then have their legal department send cease and desist letters to anyone who modified the documentation without having a prominent notice stating that they have modified the documentation.

My question to readers is: “If the Oracle Corporation decided to close the source of MySQL, would anyone notice?”

Your first thought may be, “I was *just* reading a blog post that talked about more community contributions being accepted!” However, if you actually search around for the details of the community contributions, you will note that, as in the past, it is still taking a lot of time to QA the contributions, and even once contributions are accepted, they are not put in a release we will see any time soon. For an example, see my comment to that post, where I link to documents showing that the only piece of community code that was specific enough to find will be put into MySQL version 7.1.

Hopefully, as announced at the Partner Meeting at the recent MySQL User Conference, the roadmap won’t be frozen as it is now, and features can get into a release if they are complete (including testing and QA) within a certain timeframe.

By now many folks know that MySQL documentation is not changing its license. This is an issue with many sides, but before I go through them, I want to address a comment made by Masood Mortazavi:

People who are interested in forking the server — and potentially interested in creating what is in effect separate communities of their own — should probably develop their own docs for their own forks.

(There is a cost involved here, I know. However, it should be a cost worth paying if developers of forks really believe in their work. MySQL AB certainly paid that cost in developing the docs while it had already made the code itself freely available under GPL. So, the playing ground among all forks, etc., and including MySQL itself, is actually quite level.)

MySQL AB paid the cost in developing the *software* as well. Why is it that the cost of writing documentation from scratch is acceptable, but the cost of writing the *software* from scratch isn’t?

I totally understand the concern that if people have the same rights to fork the documentation as they do to fork the code, confusion may arise. Many do not agree that the risk is high enough to warrant keeping the documentation “closed”. However, even if that is the case, Section 2 of GPLv2 states:

You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.

So, if Sun/MySQL[/Oracle/whatever] was *really* worried about confusion, they would publish the documentation with a GPLv2 license, and then have their legal department send cease and desist letters to anyone who modified the documentation without having a prominent notice stating that they have modified the documentation.

My question to readers is: “If the Oracle Corporation decided to close the source of MySQL, would anyone notice?”

Your first thought may be, “I was *just* reading a blog post that talked about more community contributions being accepted!” However, if you actually search around for the details of the community contributions, you will note that, as in the past, it is still taking a lot of time to QA the contributions, and even once contributions are accepted, they are not put in a release we will see any time soon. For an example, see my comment to that post, where I link to documents showing that the only piece of community code that was specific enough to find will be put into MySQL version 7.1.

Hopefully, as announced at the Partner Meeting at the recent MySQL User Conference, the roadmap won’t be frozen as it is now, and features can get into a release if they are complete (including testing and QA) within a certain timeframe.

Speaking About MySQL

This year’s Oracle Open World is taking place from October 11-15th, 2009 at the Moscone Center in San Francisco, CA. Paul Vallee noted that Oracle’s acquisition of Sun means that Open World will probably want a MySQL track, and Matt Yonkovit of Big DBA Head mentioned that a blog post on it would spread the word.

The Call for Presentations closes April 26th, which is in just 3 days. You can find out more and submit presentations at http://tinyurl.com/oow09prop. I spoke at Oracle Open World last year on “How to Be an Oracle ACE” and attending the conference was pretty mind-blowing.

If you do submit a talk, feel free to comment here with the title so we can get a broad range of topics submitted, not just 100 speakers submitting “MySQL for the Oracle DBA”.

This year’s Oracle Open World is taking place from October 11-15th, 2009 at the Moscone Center in San Francisco, CA. Paul Vallee noted that Oracle’s acquisition of Sun means that Open World will probably want a MySQL track, and Matt Yonkovit of Big DBA Head mentioned that a blog post on it would spread the word.

The Call for Presentations closes April 26th, which is in just 3 days. You can find out more and submit presentations at http://tinyurl.com/oow09prop. I spoke at Oracle Open World last year on “How to Be an Oracle ACE” and attending the conference was pretty mind-blowing.

If you do submit a talk, feel free to comment here with the title so we can get a broad range of topics submitted, not just 100 speakers submitting “MySQL for the Oracle DBA”.

Keynote: How To Be a Community Superhero

Slides:
http://www.technocation.org/files/doc/2009Keynote.pdf

References:
I am @sheeri on twitter
My blog is at http://pythian.com/blogs/author/sheeri
My e-mail is cabral@pythian.com

Pythian became the first ever Sun Enterprise Remote DBA Partner — read the details at http://tinyurl.com/pythiansun.

Technocation, Inc can provide free web space for slides, videos and audio files. Their website is and you can e-mail them at info@technocation.org Technocation, Inc. is a 501(c) not-for-profit US corporation dedicated to providing educational resources for IT professionals.

http://planet.mysql.com has an aggregate of blog feeds relating to MySQL.

How to start a MySQL User Group

How to run a successful User Group

You can get your own free blog at www.blogspot.com or www.blogger.com.

The MySQL Forge Wiki is at http://forge.mysql.com/wiki. MySQL Forums are at http://forums.mysql.com and the mailing lists can be found at http://lists.mysql.com.

My mistake: http://sheeri.com/archives/13 and my response at http://sheeri.com/archives/14.

Wednesday conference material for you to edit and add notes and links to: http://forge.mysql.com/wiki/MySQLConf2009WednesdayNotes.

And a link to yesterday’s page, so you can edit that too: http://forge.mysql.com/wiki/MySQLConf2009TuesdayNotes.

And just for fun, a link to tomorrow’s page: http://forge.mysql.com/wiki/MySQLConf2009ThursdayNotes.

Slides:
http://www.technocation.org/files/doc/2009Keynote.pdf

References:
I am @sheeri on twitter
My blog is at http://pythian.com/blogs/author/sheeri
My e-mail is cabral@pythian.com

Pythian became the first ever Sun Enterprise Remote DBA Partner — read the details at http://tinyurl.com/pythiansun.

Technocation, Inc can provide free web space for slides, videos and audio files. Their website is and you can e-mail them at info@technocation.org Technocation, Inc. is a 501(c) not-for-profit US corporation dedicated to providing educational resources for IT professionals.

http://planet.mysql.com has an aggregate of blog feeds relating to MySQL.

How to start a MySQL User Group

How to run a successful User Group

You can get your own free blog at www.blogspot.com or www.blogger.com.

The MySQL Forge Wiki is at http://forge.mysql.com/wiki. MySQL Forums are at http://forums.mysql.com and the mailing lists can be found at http://lists.mysql.com.

My mistake: http://sheeri.com/archives/13 and my response at http://sheeri.com/archives/14.

Wednesday conference material for you to edit and add notes and links to: http://forge.mysql.com/wiki/MySQLConf2009WednesdayNotes.

And a link to yesterday’s page, so you can edit that too: http://forge.mysql.com/wiki/MySQLConf2009TuesdayNotes.

And just for fun, a link to tomorrow’s page: http://forge.mysql.com/wiki/MySQLConf2009ThursdayNotes.

MySQL Camp Schedule for Today

All the sessions for all the MySQL Camp days can be seen at, but here is today’s schedule in a nutshell (all sessions in Bayshore, on the mezzanine level of the hotel):


Tuesday 10:50 am – 11:35 pm

Matt Yonkovit (Sun/MySQL, Waffle Grid, Big DBA Head, [blog]) presents Learning from others’ MySQL Performance Mistakes. Matt has spent the last couple of years helping customers who are all dealing with the same MySQL related problems over and over again. During this session he will give you some of the most common issues in MySQL deployments he sees on a day to day basis, and how to fix or avoid them. These include:

* More is not always better
* Text Fields are not cool
* Data Size does matter
* Fun with Data Conversions
* Its all about IO
* Left join love
* Self Induced fragmentations
* MySQL is not Oracle

and more!!!! Come and join the fun.

Tuesday 11:55 am – 12:35 pm

Intro to XtraDB, a Scalable InnoDB-based Storage Engine Ewen Fortune (Percona)

XtraDB is a storage engine for MySQL based on the InnoDB storage engine, designed to better scale on modern hardware, and including a variety of other features useful in high performance environments. It is fully backwards compatible, and so can be used as a drop-in replacement for standard InnoDB.

XtraDB includes all of InnoDB’s robust, reliable ACID-compliant design and advanced MVCC architecture, and builds on that solid foundation with more features, more tunability, more metrics, and more scalability. In particular, it is designed to scale better on many cores, to use memory more efficiently, and to be more convenient and useful. The new features are especially designed to alleviate some of InnoDB’s limitations. Vadim will talk about current status of XtraDB and directions of development.

LUNCH BREAK

Tuesday 2:00 pm – 2:45 pm

Roland Bouman will present a session on Grand Tour of the Information Schema and its Applications

The following topics will be covered:

Introduction of the information schema and it’s components

How to generate WIKI documentation from the information schema

Generating code (triggers, SPs) to maintain a rich history database

Creating a stored procedure to check violated foreign key constraints

Creating a stored procedure to create federated tables

Tuesday 3:05 pm – 3:50 pm

Setting up MySQL on Amazon Web Services (AWS)

Ronald Bradford, Principal at 42SQL will step you though getting started with AWS.

This introduction will assume you no nothing about AWS, and have no account. With Internet access via a Browser and a valid Credit Card, you can have your own running Web Server on the Internet in under 10 minutes, just point and click.

We will step into some more detail using the supplied command line tools for more advanced usage.

Tuesday 4:25 pm – 5:10 pm

Yves Trudeau (Sun/MySQL, Waffle Grid, Big DBA Head ) presents NBD (MySQL Cluster) performance tuning and pitfalls. In the recent months Yves has worked on many NDB Cluster engagements and come through many unusual situations that are relevant to people interested in NDB Cluster. Here is a brief list of the topics to be covered:

* Identifying bottleneck
* Minimizing disk footprint
* Minimizing latency (logger type application)
* Realtime options
* Using CPUs efficiently
* The e1000 pitfall

Tuesday 5:15 pm – 6:00 pm

InnoDB Database Recovery Techniques

Peter Zaitsev (Percona)

Have you ever had Innodb database corrupted or have deleted data accidentally and want it back ? This session will go through various approaches you can use to get most of your data back using MySQL build in features as well as third party open source tool.

This session speaks about Innodb database recovery techniques (apart from recovering from back).

First we will discuss various types of Innodb corruption and data loss scenarios ranging from user error to hardware failures.

Then we will look at Innodb storage data structure to see what foundations does it has for corruption discovery and recovery.

Then we will go into approaches one can use to recover data including:

* Recovering Innodb dictionary running our of sync with .idb files
* Recovering minor corruptions using innodb_force_recovery and build-in MySQL Features
* Recovering deleted data and dropped tables using Innodb Recovery Tools package
* Dealing with complex data loss scenarios such as failed filesystem or failed RAID subsystem.

All the sessions for all the MySQL Camp days can be seen at, but here is today’s schedule in a nutshell (all sessions in Bayshore, on the mezzanine level of the hotel):


Tuesday 10:50 am – 11:35 pm

Matt Yonkovit (Sun/MySQL, Waffle Grid, Big DBA Head, [blog]) presents Learning from others’ MySQL Performance Mistakes. Matt has spent the last couple of years helping customers who are all dealing with the same MySQL related problems over and over again. During this session he will give you some of the most common issues in MySQL deployments he sees on a day to day basis, and how to fix or avoid them. These include:

* More is not always better
* Text Fields are not cool
* Data Size does matter
* Fun with Data Conversions
* Its all about IO
* Left join love
* Self Induced fragmentations
* MySQL is not Oracle

and more!!!! Come and join the fun.

Tuesday 11:55 am – 12:35 pm

Intro to XtraDB, a Scalable InnoDB-based Storage Engine Ewen Fortune (Percona)

XtraDB is a storage engine for MySQL based on the InnoDB storage engine, designed to better scale on modern hardware, and including a variety of other features useful in high performance environments. It is fully backwards compatible, and so can be used as a drop-in replacement for standard InnoDB.

XtraDB includes all of InnoDB’s robust, reliable ACID-compliant design and advanced MVCC architecture, and builds on that solid foundation with more features, more tunability, more metrics, and more scalability. In particular, it is designed to scale better on many cores, to use memory more efficiently, and to be more convenient and useful. The new features are especially designed to alleviate some of InnoDB’s limitations. Vadim will talk about current status of XtraDB and directions of development.

LUNCH BREAK

Tuesday 2:00 pm – 2:45 pm

Roland Bouman will present a session on Grand Tour of the Information Schema and its Applications

The following topics will be covered:

Introduction of the information schema and it’s components

How to generate WIKI documentation from the information schema

Generating code (triggers, SPs) to maintain a rich history database

Creating a stored procedure to check violated foreign key constraints

Creating a stored procedure to create federated tables

Tuesday 3:05 pm – 3:50 pm

Setting up MySQL on Amazon Web Services (AWS)

Ronald Bradford, Principal at 42SQL will step you though getting started with AWS.

This introduction will assume you no nothing about AWS, and have no account. With Internet access via a Browser and a valid Credit Card, you can have your own running Web Server on the Internet in under 10 minutes, just point and click.

We will step into some more detail using the supplied command line tools for more advanced usage.

Tuesday 4:25 pm – 5:10 pm

Yves Trudeau (Sun/MySQL, Waffle Grid, Big DBA Head ) presents NBD (MySQL Cluster) performance tuning and pitfalls. In the recent months Yves has worked on many NDB Cluster engagements and come through many unusual situations that are relevant to people interested in NDB Cluster. Here is a brief list of the topics to be covered:

* Identifying bottleneck
* Minimizing disk footprint
* Minimizing latency (logger type application)
* Realtime options
* Using CPUs efficiently
* The e1000 pitfall

Tuesday 5:15 pm – 6:00 pm

InnoDB Database Recovery Techniques

Peter Zaitsev (Percona)

Have you ever had Innodb database corrupted or have deleted data accidentally and want it back ? This session will go through various approaches you can use to get most of your data back using MySQL build in features as well as third party open source tool.

This session speaks about Innodb database recovery techniques (apart from recovering from back).

First we will discuss various types of Innodb corruption and data loss scenarios ranging from user error to hardware failures.

Then we will look at Innodb storage data structure to see what foundations does it has for corruption discovery and recovery.

Then we will go into approaches one can use to recover data including:

* Recovering Innodb dictionary running our of sync with .idb files
* Recovering minor corruptions using innodb_force_recovery and build-in MySQL Features
* Recovering deleted data and dropped tables using Innodb Recovery Tools package
* Dealing with complex data loss scenarios such as failed filesystem or failed RAID subsystem.

Oracle buys Sun

It’s true — http://www.nytimes.com/2009/04/21/technology/companies/21sun.html?_r=1&hp.

Ronald Bradford asked, “What does this mean for MySQL?”

Lots of people are going to be proclaiming that it is the death of MySQL, as they did when Oracle bought InnoDB.

But it is not. MySQL and Oracle may both be databases, but they are not competitors. To say they are competitors is like saying that an upscale bar and the corner convenience store are competitors because you can get soft drinks, coffee and tea at both. There are many applications for which Oracle is the appropriate solution, and there’s no reason to even try to see if MySQL can do the same job. Similarly there are many applications for which MySQL is the clearly appropriate solution and there’s no need to even consider Oracle.

So, in the end, what this acquisition means to me is that Sun’s going to get a little more of a boost — stock prices had been sinking for a while now, and Oracle will get some good hardware, which seems to be their latest foray.

EDIT (4/20/2009 10:09 pm PDT) — Just adding another reason I believe Oracle won’t kill MySQL — they make a ton of $$ off InnoDB hot backup…

It’s true — http://www.nytimes.com/2009/04/21/technology/companies/21sun.html?_r=1&hp.

Ronald Bradford asked, “What does this mean for MySQL?”

Lots of people are going to be proclaiming that it is the death of MySQL, as they did when Oracle bought InnoDB.

But it is not. MySQL and Oracle may both be databases, but they are not competitors. To say they are competitors is like saying that an upscale bar and the corner convenience store are competitors because you can get soft drinks, coffee and tea at both. There are many applications for which Oracle is the appropriate solution, and there’s no reason to even try to see if MySQL can do the same job. Similarly there are many applications for which MySQL is the clearly appropriate solution and there’s no need to even consider Oracle.

So, in the end, what this acquisition means to me is that Sun’s going to get a little more of a boost — stock prices had been sinking for a while now, and Oracle will get some good hardware, which seems to be their latest foray.

EDIT (4/20/2009 10:09 pm PDT) — Just adding another reason I believe Oracle won’t kill MySQL — they make a ton of $$ off InnoDB hot backup…