I spent the end of the last week at the Firebird Conference 2008 in Bergamo, giving talks on using Delphi with the open source database server. You can see images of the conference (including myself) on this web album of Carlos Cantu (of Firebird news fame . There are several images also in Martijn Tonies blog.

The conference itself was quite small in terms of attendees (with a few Italians among a rather International crowd) but there were talks by Firebird experts (including some of the actual developers paid by the Firebird Foundation) and the level of the technical discussion was very interesting. I followed more talks about configuration, monitoring, and programming from various languages, as I'm not a hard-core database guy.

The initial keynote was given by Philippe Makoswki, vice-president of the Firebird Foundation, who outlined the current development and the status of the project. Firebird is heavily used (totaling over 5 million downloads, mostly for the Win32 version --  even though the Linux edition is part of several distributions, so it is very hard to track its usage). The current problems range from the limited funding, to the too many versions to maintain. While version 2.5 is in the works, version 1.5 is still heavily in use!

What surprised me is that the Firebird Foundation is actively developing drivers for Java, .NET, and Python... while there are hassles using it from Delphi's dbExpress architecture. With Delphi likely the most common development tool for Firebird, this seems odd. Of course, the reason is they want CodeGear to fill the gap. And, for sure, over the last few years CodeGear has been equally unresponsive, considering how many Delphi developers use Firebird.

I gave a talk on dbExpress and Firebird (in Italian, mostly introducing dbExpress) and a second talk (in English) highlighting the different drivers and libraries you can use to write Delphi applications for Firebird. The offering is still large:

  • ADO with ODBC driver
  • IBX (not officially)
  • IBO (coming soon to Delphi 2009)
  • dbExpress plus third party drivers (Upscene, CoreLab - now Devart)
  • UIB (a set of components I use quite often)
  • ZeosLib
  • FibPlus

I'm pretty sure there are several others, but I noticed quite a few not currently under development, and so unlikely to support Delphi 2009. While doing experiments, I also wanted to figure out how hard is it to write a native dbExpress driver... and I got very close to write the core functionality of one... Now, I'm not sure I'll have time to finish it, but it there is interest, I can certainly share the code.

Overall, it was a nice conference... the first of a sequence of three in a month. Next is SDC in the Netherlands, later EKON in Germany. And a book to finish writing...