Friday, 30 September 2005

Eolas: SWPATs go bananas in the US

"Microsoft loses in Eolas patent ruling" says ZDNet:


In a decision made public Wednesday, the patent office upheld the validity of a patent held by the University of California and its Eolas Technology spinoff. In 2003, a jury awarded more than $500 million in damages to the university and Eolas, but an appeals court this year partially upheld Microsoft's appeal, saying the company should be able to present evidence that similar inventions predated Eolas' patent application.


If even Microsoft cannot defend itself against too broad or too trivial SWPATs, what can smaller companies do? I hope Microsoft will now start supporting NoSoftwarePatents.com.

Thursday, 29 September 2005

Tuesday, 27 September 2005

MySQL's Quid pro Quo

At MySQL AB, we say we follow the principle of Quid pro Quo (something for something, a favour for a favour) in our business model. Some things we offer free of charge to the community in thankful return for all the contributions and assistance we receive. Some things we offer to customers only in thankful return for all the money they give us.

There is a fine line defining what is free as in freedom, what is free as in without cost, and what is paid for. We spend a lot of time thinking about and discussing this line with the goal to serve our community and our paying customers the best (and we are keen to hear your advice to us!). We believe there is an optimal balance where the community continues to be passionate about what we provide, and the customers continue to passionately pay us for the unique value-add they receive. If we would not stay on that fine line, we could easily harm our relationship with either group (or, more likely, with both groups). But we think we can stay on that line, and therefore we think we have the opportunity to build a fantastically profitable company without deviating from the founding FOSS principles.

Our main contribution to the FOSS world
is naturally the source code of the MySQL server. Originally the work of Monty and David (our founders), it today comprises software produced by nearly 100 engineers around the world. We pay those engineers a monthly salary and give them other benefits, so I think it is appropriate to say that it is MySQL AB that contributes this software to the FOSS community. We have more than 6 million installations under GPL worldwide. If we may say so ourselves, this represents a significant contribution to the well-being of planet Earth. Most recently, active community members set up the ContactLovedOnes.org site for victims of the Katrina hurricane. Our contribution was very modest, but we did contribute the database software needed for the application to run.

And we have contributed more than just the core server. In 2003 we acquired the NDB Cluster product from Ericsson and released it under the GPL. In 2004 we took over the continued development of the Eventum support ticket system with a commitment to keep it open source. And throughout our history we have developed graphical tools that we release for the free use by anyone. We also publish information on our website, such as the MySQL reference manual. We do retain the copyright for our documentation, but we still make it publicly available on the web for all our users and customers. All of this does perhaps not sound like much, but there is a lot of hard work behind it! And those who do it need to get paid by someone. In our case, they get paid by MySQL AB.

I also claim that our "FOSS Exception" is a contribution to the community. To make this understood, we should probably have named it Extension instead of Exception. It is an unfortunate fact that not all free / open source licences are legally compatible with each other. Our software comes under the GPL but we do want those who use MPL and other popular licences to be able to use MySQL freely. So we unilaterally stated that we we are fine with users combining our GPL software with other FOSS-licensed software. You are not allowed to combine it with closed source software (even in the extension), but you can otherwise mix and match FOSS licences as you wish. Another way to solve this problem would be to harmonise all the FOSS licences of the world, and perhaps that will happen one day. Until then, the MySQL FOSS Exception is what you need.

There is another form of contribution as well. We are active financial supporters of the Free Software Foundation. We also invested a large sum of money and plenty of work hours in the campaign against software patents in the EU. That campaign still goes on and we are ready to continue to do our share of the work. Again, the phenomenal results in the form of a defensive victory against SWPATs in EU would not have been possible without the active participation by so many in the FOSS community.

That more or less concludes the list of contributions from MySQL AB to the FOSS community. We are proud of what we contribute, but we also realise that the community around us makes similar contributions every day, and in the aggregate those contributions may well be far more significant than the ones we are doing. However, at the end of the day we should not be comparing the size of contributions -- we should just be very thankful that we live in an ecosystem where a majority of the participants voluntarily contribute something, with a better and more innovative world as the result!

So then you may ask what it is that MySQL AB does not give away free of charge? If the company claims to have a great business model, then surely there must be products or services that are reserved for paying customers only? Yes, that's absolutely right, and here follows a list of what you will have to pay for in order to get from us:

  • MySQL certification and training
  • consulting services (performance tuning, database design, migrations, etc.)
  • features added to the product outside the normal development roadmap
  • technical support
  • the right to use our trademark and logo
  • MySQL Network (our subscription offering which contains technical support, alerts, updates, advisor software that helps the DBA, knowledge base, certified binaries, legal indemnification, etc.)
  • the MySQL server under a commercial licence (for those who wish to distribute MySQL embedded in a non-FOSS application or product)


This is the thinking of the “fine line” by MySQL AB. We have chosen a specific business model that we call Quid pro Quo, and we have chosen the GPL licence to represent it. The GPL is not perfect, but it is the best one we could find. Our ambition is to show the world -- with your help -- that we can build a fantastically profitable open source business and thereby provide evidence and inspiration for the whole world. We think the world deserves successful open source companies, and we are set on being one of them!

How does this resonate with you? Is there rhyme and reason in our thinking -- or are we perhaps too generous with our precious property? Or are we too strict? How would you do it if you were the owner of MySQL AB? I am open to your ideas!

PHP database interfaces: PDO or PDBC?

In a comment to my posting on MySQL 5.0 getting bug free, Lukas Smith wants MySQL to promote PDO.

I had a chat with Georg Richter about this. He tells me he is working on a PDBC ("JDBC for PHP") specification and prototype which allows people

a) to write database independent programs
b) to migrate easily from or to other applications (e.g. Java)
c) write powerful applications
d) to reuse existing code written in Java or C++.

Georg's goal for the upcoming OSDBCON (and PHP Conference) is to find some people from other OS DB projects which like the idea and would like to contribute to PDBC.

So, if you want to be involved in PDBC, talk to Georg at the OS DB Conference 8-9 November 2005 in Frankfurt (where I will also give a presentation on "10 Years of MySQL: Building a Commercial Open Source Software Company").

Monday, 26 September 2005

Announcing MySQL 5.0 Release Candidate

Dear user of MySQL,

I'm proud and excited to announce the first Release Candidate of MySQL 5.0. This milestone signals that we are nearing what is certainly the most important release in MySQL's history.

MySQL 5.0 has new functionality that I hope will be welcomed, adopted, and put to productive use by the community of MySQL users -- you. On the commercial side, MySQL AB is getting a lot of good vibes from new enterprise customers who are beginning to understand the impact MySQL can have on their IT infrastructure and costs of running mission-critical applications.

The betas of MySQL 5.0 have already been downloaded two million times, and have thus been tested extensively in a lot of different scenarios. From the feedback we get from our community, we know it is already in production use at numerous sites. Go get your own copy at http://dev.mysql.com/downloads/mysql/5.0.html

Without question, MySQL 5.0 is the most ambitious release to date for MySQL AB. Of course, everything we do at MySQL centers around our three priorities of Performance, Reliability, and Ease of Use. Version 5.0 of MySQL is certainly true to these company-wide imperatives.

Key new features of MySQL 5.0 come in three groups:

a) ANSI SQL standard features formerly unknown to MySQL
b) ANSI SQL standard compliance of existing MySQL features
c) New MySQL Storage Engines, Tools and Extensions

The new ANSI SQL features include:


  • Views (both read-only and updatable views)

  • Stored Procedures and Stored Functions, using the SQL:2003 syntax, which is also used by IBM's DB2

  • Triggers (row-level)

  • Server-side cursors (read-only, non-scrolling)



Implementing ANSI SQL standard ways of using existing MySQL features means there will be fewer unpleasant surprises ("gotchas") for those migrating to MySQL from other database systems:


  • Strict Mode: MySQL 5.0 adds a mode that complies with standard SQL in a number of areas in which earlier versions did not; we now do strict data type checking and issue errors for all invalid dates, numbers and strings as expected

  • INFORMATION_SCHEMA: An ANSI SQL-compliant Data Dictionary for accessing metadata, in parallel to the MySQL specific SHOW commands

  • Precision Math: A new library for fixed-point arithmetic, giving high accuracy for financial and mathematical operations

  • VARCHAR Data Type: The maximum effective length of a VARCHAR column has increased to 65,532 bytes; also, stripping of trailing whitespace no longer occurs



New MySQL Storage Engines, Tools and Extensions are:


  • XA Distributed Transactions

  • ARCHIVE Storage Engine for storing large amounts of data without indexes in a very small footprint, intended for historical data that may be needed for future audit compliance (Sarbanes Oxley or otherwise)

  • FEDERATED Storage Engine for accessing data ín tables of remote databases rather than in local tables (only in MAX version)

  • Instance Manager: a tool to start and stop MySQL Server, even remotely



To find out more details on what's new in MySQL 5.0, follow the pointers from http://dev.mysql.com/doc/mysql/en/mysql-5-0-nutshell.html

To find out the changes specific to MySQL 5.0.13 in relation to 5.0.12, see http://dev.mysql.com/doc/mysql/en/news-5-0-13.html

MySQL 5.0 is also reflected in our GUI tools and Connectors:


  • MySQL Administrator 1.1.3 and MySQL Query Browser 1.1.15 are aware of the new MySQL 5.0 features, can be used to write and test stored procedures, create views, include them in scheduled backups and much more.

  • The latest shipping versions of our Connectors work with MySQL 5.0, and all connectors (MySQL Connector/ODBC, Connector/J and Connector/NET) will support all flagship features before 5.0 goes GA.



We're pleased that we've reached a point of stability where it's been a while since we received a significant inflow of bugs that drastically impacted a large number of users. Of course, we recognize we haven't crossed the finish line yet, so we still very much need your involvement to ensure that MySQL 5.0 is the best that it possibly can be.

With MySQL 5.0 being that stable, I encourage you to do all of your new database development using MySQL 5.0:


  1. Download 5.0 from http://dev.mysql.com/downloads/mysql/5.0.html

  2. Use the new features you need

  3. Report any issues you find through our bug-reporting system at http://bugs.mysql.com/.



To show our appreciation for your efforts, we'll be fixing the bugs you find as fast as we can.

And, to provide a little extra motivation, we will be giving away Apple iPod nanos, and even full conference passes to our 2006 MySQL Users Conference, to those who deliver the most valuable feedback. Read more on http://dev.mysql.com/mysql_5_contest.html. Without your involvement and your excellent input, we at MySQL wouldn't be able to do our job: to produce high-quality database software for you to trust and use.

I look forward to your input



Thank you -- we look forward to hearing back from you -- not just about bugs but any feedback on how MySQL can help support you.

Kaj Arnö
VP Community Relations
MySQL AB

Oktoberfest 2005

This was my fourth Oktoberfest, and the first one in voller Montur, i.e. dressed in Lederhosen, a Bavarian white shirt, and Haferl shoes and socks. And it was the best one so far!

The Hippodrom tent on Sunday morning

Friday in Munich started just fine, having arrived by train from Vienna (SAP TechEd). Within three hours, I had already ticked off the top three items on my permanent Munich wish list:

  1. Buying Müslisemmeln (small non-sweet breads with raisins) at Rischart


  2. Running my favourite 11 km jogging round around Isarwehr starting from and ending at Viktualienmarkt (where I lived for two years) and going through Englischer Garten and past Deutsches Museum


  3. Leaving some money at the Hugendubel book store at Marienplatz (bought two books by Boris Akunin; his hero Fandorin is a 19th century Russian James Bond)


But the weekend had more in store.

My wife, myself and my long-time friend Miki drinking a Maß

Friday evening, my wife Kirsten and I first had a hoiber Hendl (half a chicken) at the Haxnbraterei and then made it at 22:00 into the Augustiner tent. Within 2 seconds of getting our beers (1 litre each) served, we made instant friends with the neighbouring Bavarians at our table. With a forced stop at 23:00, not many beers were consumed, but the ride back home to our friend Miki was a merry one with the usual barriers of communication disappeared.

Saturday, we met with Florian Müller to discuss how to help him becoming "European of the Year". Stay tuned!

But as Wiesn is something you have to do day-time, we went directly to meet our friends Tom & Gitti at the Winzerer Fähndl tent. Had plenty of opportunities to eat and drink some more.

As if two days (OK, with some interruptions) of Wiesn wouldn't be enough, we continued 10:30 on Sunday morning. This time at the hip Hippodrom for a breakfast of Weisswurst and (what do you think?) beer.
Weisswurst for breakfast

The climax came right after we were joined by our 11 year old son for some family fun. We went to the Teufelsrad, an attraction from 1910 aptly named "Devil's Wheel". It's a wheel with some 5-6 m in diameter, where they ask for the crowd to come up, sit down and try to stay on board fighting both the centrifugal force and the "evil" assistants using ropes and other tricks to launch the poor contestants into the periphery. While my son only managed to be in the top third of the "boys from 8 to 12" category, my wife was the overall winner of the "ladies 18 to 92" category. An eternal honour, something she as a Saupreiss ("damned northern German") will always be able to refer to in front of Bavarian friends.
My wife winning at the Teufelsrad

Thursday, 22 September 2005

Florian Müller for "European of the Year"!

Who could believe that a single person can make a difference in European politics?

Well, I could, since otherwise I wouldn't have staunchly supported Florian throughout his campaign against Software Patents. But I have to confess, Florian took us all for a ride I had no clue about in the beginning. And now he is mentioned alongside the likes of Tony Blair, Gerhard Schröder, Angela Merkel, Bono, and Bob Geldof who are also nominated by European Voice for the European of the Year awards.

Florian just issued a press statement, partly quoted below:

In a first reaction, Mueller said that he is "honored by this nomination", but he was quick to share the glory: "I really owe this to all activists and citizens who supported our cause, especially to the FFII (Foundation for a Free Information Infrastructure)". Mueller has previously been listed among the "top 50 most influential people in intellectual property" by Managing Intellectual Property magazine.

Software patent critics are also pleased to see that Michel Rocard, the European Parliament's rapporteur on the software patent directive, has been nominated for the "MEP of the Year" award. On 6 July, an overwhelming majority of MEPs voted 648-32 against the EU Council's proposal for a "directive on the patentability of computer-implemented inventions". Campaigners like Mueller and the FFII were worried that the proposed legislation would have given software patents a much stronger legal status in Europe.

The FFII's Brussels representative, Erik Josefsson, was among the first to congratulate: "I'm extremely proud that Florian Mueller and Michel Rocard have been nominated because they represent countless European citizens who are concerned over software patents. Hopefully many will vote for the two, so that Europe's political leaders fully appreciate the importance of our cause."


Go vote Florian on http://www.ev50.com/poll/! I want to see former European Parliament President Pat Cox award Florian to be the European Campaigner of the Year on 29 November at the Palais d'Egmont in Brussels.

Hey, why be modest. Let's go for European of the Year, while we're at it.

Wednesday, 21 September 2005

Scale out with MySQL

Scale out with MySQL is highlighted in an interesting article CIO Jury: Microsoft licensing slammed by UK IT chiefs in the CIO Jury forum of silicon.com -- who add "Microsoft wants to have its cake, eat it and charge users to watch".

One IT director who did not wish to be named simply said open source "looks more and more tempting" while Paul Broome, IT director at 192.com, said he plans to migrate off Windows server and SQL server as soon as he can.

Broome said: "It's a millstone to enterprise for an SME. To allow us to grow, all new database servers will use 64-bit Linux and MySQL. We've had enough. We can't scale out with Microsoft as it's too expensive."


Good thinking, Paul!

Tuesday, 20 September 2005

Katrina: Contact Loved Ones with LAMP

I just heard of contactlovedones.org, a web site to help Katrina victims get in touch with each other.

It runs on LAMP and Asterisk. Feels good!

Thanks to Yaakov Menken, CEO of capalon.com in Baltimore, for the choice of technology.

Monday, 19 September 2005

German c't 20/2005 has several MySQL related articles

Germany's highly regarded c't magazine has some articles on databases in their 20/2005 issue that should hit the stores today.


  1. A database comparison

  2. A database GUI comparison

  3. A database challenge (the only one available online)



The articles are very well researched. The only errors I could find were caused by myself when I didn't respond in time ot the author of the database comparison. Yes, MyISAM has full text search. Yes, MySQL 5.0 has stored procedures, triggers, views and subqueries, regardless of whether you use InnoDB or MyISAM as the table handler. Sorry, Peter Schüler, for not replying in time!

The first article compares MySQL, Firebird, PostgreSQL, MSDE 2000 and (conditionally) SQLite.


  • Firebird is portrayed as an "even more naked database than MySQL or Postgres", i.e. lacking UI

  • PostgreSQL is noted for its ambitious goals of being Object Relational. While noting that VACUUM is not as bad as it used to be, the author also comes with a few fresh notes that I probably should learn more about

    • "The complexity of functions and optimisation possibilities sets high requirements on DBAs of PostgreSQL DBs."

    • "Without professional practices, you easily run into a knife already when installing the system"

    • "leaving out the root PW has PostgreSQL issuing a 32 char long alphanumeric code, that is very hard to type"

    • "configuration decisions at installation time require intensive preparations"




  • MSDE 2000 or "Microsoft SQL Server Desktop Engine 2000" is included, being free of charge (although not Open Source as the other databases). However, the author claims that it "allows only five simultaneous clients, has a limit of 2GB on DB size, lacks Full Text Search, provides only oSQL.exe as GUI, and lacks documentation"



For MySQL,


  • the author finds it noteworthy that the MySQL GUIs are not provided as part of the standard MySQL downloads, but have to be downloaded separately ("BTW, during the last months, MySQL has added the GUI frontends MySQL Administrator and MySQL Query Browser, which however have to be downloaded separately or installed from our CD")

    • As a result, we already had an internal debate at MySQL where we agreed on a todo item of collecting not only the GUI frontends but also the Windows related Connectors into the Windows install package

    • Thanks for the tip, c't!


  • MySQL Stored Procedures are portrayed as "apparently not yet fully developed; docs are in English only; some SQL statements are not allowed in Stored Procedures; however, the most important Flow Control statements are included even if they don't belong to the standard -- mostly FOR..NEXT is missing"
    • Yup, we knew that, can't argue against it


  • not surprisingly, MySQL gets kudos for having plenty of interfaces and books
    • Thanks for the flowers, c't!




The MySQL GUIs get a lot of positive comments. "With the new frontend components, MySQL is on its way to establish itself as the most comfortable of the server databases"

  • MySQL Administrator is "worthy of its name". The article contains a good description of the Admin functionalities, which go "even beyond what the newest version, MySQL 5.0, has to offer"
    • "The extremely versatile tuning possibilities of MySQL Server puts quite some requirements on the administrator. The information rich MySQL Administrator finally offers the correspondiding tool that helps keep the settings under control and to manage their effects on disk space and other resources"

  • MySQL Query Browser is "chock full with useful functions".
    • "As can be expected, the Query Browser helps to write queries and browse the result set".

    • "It is extraordinary that QB offers an extensive, cut-and-pasteable command reference, as is the extra documentation on PHP 4 and the MySQL C API, as is the connection to MySQL Administrator"




On behalf of MySQL AB and the GUI team, I blush. OTOH, I take pride in having recruited Mike Zinner (together with Brian Aker based on a tip by Georg Richter) two years ago. It sure was a successful recruitment! I'm looking forward to meeting with Mike in Vienna this week.

And thanks, c't, for never taking the easy shortcuts and always preferring thorough research.

Sunday, 18 September 2005

MySQL 5.0 getting bug-free

Hello world,

This is a good week to start blogging. MySQL 5.0 is more bug free than ever, we've just posted our Call for Participation for the MySQL Users Conference 2006, and I exceeded my 2005 running quota by hitting over 500 km and a new PR on my standard 13 km run.

Besides, last week, my appointment to "Vice President, Community Relations" at MySQL AB was finalised. It won't be until October before we'll make an official Press Release about this, but information usually moves more freely through the community and over blogs, anyway.

Being appointed to VP Community Relations at a company with an installed base of over 6 million, and with a user community without which neither the company nor the product would exist, is challenging, to say the least. My humble approach is to continue the tradition of our founders Monty and David, and turbo charge it by increasing the quality and quantity of the flow of information interesting to the MySQL user community.

At a SIGOSSEE ("Special Interest Group in Open Source Software for Education in Europe") meeting on Thursday, I already had my first external appearance since getting my new position. Some 50-60 education specialists attended my presentation in Stockholm.

But back to MySQL 5.0. Most of the MySQL developers have concentrated fully on getting the 5.0 release bug free already for months, and it is showing results. At the beginning of the week, we had 10 showstopper bugs left, having fixed 7 and got 4 new ones from the week before. As we are strict with the interpretation of what constitutes a showstopper, I can safely say that we haven't seen any significant inflow of bugs with drastic impact on large user groups for a while by now. With MySQL 5.0 being that stable, I'm looking forward to larger user groups upgrading to 5.0. Translating this to marketing speak, we will very soon do a Release Candidate for MySQL 5.0. In old MySQL parlance, that used to be called a Gamma release.

As for the MySQL Users Conference, did I mention that you can now submit Speaking Abstracts for review? The slow starters have time until 7 November 2005, but at least for my part, I have just made a spontaneous and strangely-timed new year's resolution to, from now on, start doing things way before the deadline. Let's see where that ambition takes me. Our Quick Poll on http://dev.mysql.com/ indicates that the top five most interesting UC topics are PHP, New Features in MySQL, Web Applications, Performance Tuning and Java -- all getting votes from more than 25 % of the respondents.

Weather has been excellent home in Grankulla. A temperature of 13 degrees and great sunshine was conducive to a new personal record of 1:09:39 on the 13 km run from home to Ikea, Esbo centrum and back home. That's an OK time for someone like me, given that I mostly talk on phone or with a co-runner (at MySQL AB usually Patrik Backman or Zack Urlocker, or with my son Alexander or daughter Sophia).

Next week, I'm off to SAP TechEd in Vienna. In addition to business meetings, I hope to connect with some of the Austrian models that I took pictures of at the World Bodypainting Festival last July in Seeboden, Austria.

And at the end of the week, already being in Vienna, I'll take the train to Munich to go to Wiesn (outside Bavaria more commonly known as Oktoberfest), where I plan to take my newly bought Lederhosen into production use.

Pfiat Ei! (*)

Kaj

(*) Bavarian greeting, more or less the closing tag of Grüss Gott.