Firebird in the press

Firebird is listed in the “100 Open Source Replacements for Expensive Applications” article:

31. Firebird

Replaces Microsoft SQL Server Standard ($899 and up)

Under development for more than three decades, Firebird is a relational database that boasts “excellent concurrency, high performance, and powerful language support for stored procedures and triggers.” Paid support is available through third-party providers. Operating System: Windows, Linux, Unix, OS X, Solaris

The official site for the FireServer Project is now on-line! You can find basic information about the project. There are no ISO downloads available yet. We expect to have the first ISO until the end of August.

Fireserver is a project of a custom linux server distro that includes Firebird as default database server, and can be used freely by any company who want to simplify their customer’s servers administration and support.

Buhl Data Service GmbH, the developer of the WISO Mein Büro2009 software has agreed to pay €15,000 (approximately £13,000) to adhoc dataservice GmbH for using its LGPL-licensed FreeadhocUDF open source library in his business software without observing the LGPL’s licensing terms. The GNU Lesser Public Licence allows software to be used free of charge, but it stipulates that developers must give prominent notice to where the licensed code was used, point out that the code is under the LGPL, include a copy of the LGPL, and make the library’s source code available.

The payment was negotiated as a settlement between the involved parties and concludes a court case. Back in January 2011, the regional court in Bochum, Germany, had ruledthat the use of the FreeadhocUDF library in WISO Mein Büro 2009 was not legitimate because it violated the LGPL’s licensing terms. The court ruled that adhoc dataservice GmbH was, therefore, entitled to know in which products the library was used, what product quantities were released, and how much revenue was generated.

The guys from HardSoft TV Show covered the last edition of the Firebird Developers Day. The matter went on air at 29/December, and can be viewed online in YouTube. Audio is in Portuguese, but you can check nice images from the place, public, etc 😉

In this next installment, we’ll be looking at two (arguably very contrasting) databases. The first is Gladius DB, which is a flat file database written in pure PHP. The second is Firebird, another database veteran, which has features similar to some of the better-known databases, such as Microsoft SQLServer.

InfoQ: Can you tell us briefly about yourself and your role in creating the ADO.NET provider for Firebird?

Jiri: Currently I’m project lead for the ADO.NET provider for Firebird project. And actually only one active right now. I’m doing majority of development (although there are some worth contributions) and all the stuff around, like testing, releases, issue tracker watching, replying in mailing list etc.

InfoQ: And for the benefit of our readers who are unfamiliar with it, who would you describe Firebird?

Jiri: Firebird is a fully featured RDBMS, with small footprint and zero maintenance. It supports all standard features you’d expect – stored procedures, triggers, views, UDFs, monitoring, online (remote) backup/restore etc. There’s also so called Embedded version, that just one main DLL and few supporting it, without install or need to copy something somewhere. You’ll just reference this DLL and you have all the features of standalone (network) Firebird in your application. And of course, whole Firebird is completely free (and open source).

InfoQ: In the SQL Server world we have to deal with a serious trade-off. If you choose to use the embedded version, SQL Server Compact, then you lose the ability to use a lot of features. Is there any sort of tradeoff like that for Firebird or do you really get access to the whole feature set either way?

Jiri: Absolutely not. Firebird Embedded is fully featured as “big” server. It’s even built from same sources, only with different output (DLL file). You can use everything Firebird offers. And not only that. Migration is super easy. You’ll just take the database file and put it to some place where server can access it and you’re done.

InfoQ: So what’s involved in writing a ADO.NET provider?

Jiri: It’s actually pretty simple. You’re fixing bug, moving with features as Firebird server moves further and improving stability and code itself. Cleanup, refactoring. With all that you’re trying to keep backward compatibility and not introduce some breaking changes. And on the other hand you’re moving along with .NET and ADO.NET (i.e. Entity Framework) world and other data access providers and components.

InfoQ: DId you also work on the Entity Framework provider? If so, what’s your opinion of the ORM?

Jiri: Yes I did. I worker on provider since early versions around 2007. I believe Firebird was first 3rd party ADO.NET provider to have working Entity Framework support (and it’s open source). I think Entity Framework is good ORM, comparable to others, like LLBLGen Pro or NHibernate. It’s not here that long but still very good. I don’t think anybody can say i.e. NHibernate is best because … Every project needs something more and something less. And every ORM (including Entity Framework) has strong points and places where there’s room for improvement.

InfoQ: What areas in particular do you think the .NET-based ORMs need to improve upon?

Jiri: There’s mismatch between relational world and OOP world, even if you believe ORMs are hiding it, it’s there. For simple small applications, this is not a problem. But for a big applications, the ORM needs to be flexible enough to allow really experienced developer hook in and in rare cases when performance is critical or special needs are placed in front of him/her allow to do it own way without creating huge disruption in your code.

InfoQ: If you had more resources available to you (i..e. developers, hardware, etc), what would you like to do with Firebird and .NET that you can’t do right now?

Jiri: Provide more seamless experience for .NET developers using Firebird and improve codebase. Move further faster and provide more features, both from Firebird world and (ADO).NET world.