Why so few developers are using Firebird SQL?

Why so few developers are using Firebird SQL? 1 Recently I started a new project in which I need to choose another database besides MySQL. Since then, I had been using MySQL for basically everything, but given the MySQL licensing scheme and a few restrictions of the project itself, this time I had to use something else. So I choose Firebird SQL.

But there’s something about Firebird that always bothered me: why so few developers actually know and use Firebird? Basically (at least here in Brazil) I only see it being used among Delphi developers. Why isn’t it as popular as MySQL or PostgreSQL? Given its features (listed below), can we say that the project lives an unfair situation?

Firebird have several features which makes it a great choice:

  • Really free:: contraty to MySQL, you can use Firebird in your commercial applications without any fee or legal problem. (BTW: I know that PostgreSQL have this advantage too)
  • All the basic features of large RDBMS:: stored procedures, triggers, A.C.I.D. compliance, online backup, generators, referential integrity, etc…
  • Small footprint: had you seen its embeddable version? Just amazing: in less then 1 Mb you have all the features of the default one without cutting anything!
  • Low hardware requirements: basically, if something computes, it can run Firebird.
  • Available in all the major OS platforms: Linux, Windows, Mac OS, Solaris and others
  • Reasonable performance: Firebird performance remains between MySQL and PostgreSQL.
  • Really active project: despite its low popularity, it’s a quite active project. In april/2009, for example, was announced the 2.5 beta version of the project.
  • Databases with unlimited size: the database size limit is determined by the filesystem in which the database is stored. But, if your database exceed its limit its always possible to split it in several files.
    (the largest database known have 960 Gb link)
  • 100% SQL 92 compability
  • Connectivity: basically you can access a Firebird SQL through any programming language

My experience with Flamerobin is being really pleasant, but it’s really sad to see that since I wrote my Microsoft Access to Firebird database converter (MDB2FDB http://www.firebase.com.br/fb/downloads.php?categ=8) in 2006 that the Firebird popularity hadn’t changed at all!

Since I really like this software, and I think that its current popularity situation is unfair, maybe it could be interesting to list some actions that may help this project. So, here is my list:

Of course, I couldn’t finish this post without guessing (just guesses) the reasons why Firebird SQL is so unpopular if compared to MySQL or PostgreSQL:

  • There’s no big player like Sun/Oracle or IBM supporting it right now.
  • The official website is terrible (http://www.firebirdsql.org). Seems futile, but the first impression of the project is horrible. Makes you think it’s stalled.
    Firebird’s biggest sponsor today is IBPhoenix , which main business IS Firebird. But even it’s website falls in the same problem.
  • The fact of being Delphi related since it’s begning. With Delphi’s decadence, its popularity just floundered with it.
  • Poor documentation

Maybe things may change to Firebird SQL after Oracle bought Sun (many MySQL users are getting scared (I see no reason for this by the way)) and may play with Firebird, but it’s something improbable to happen. :)

Of course, these are just my opinions about it. I really whould like to know yours. Why do you think so few developers are using Firebird today?

113 comments on “Why so few developers are using Firebird SQL?

  1. Alex

    Firebird has not any active developers community.
    At least, if you want to use it with PHP – do not do it.
    pdo_firebird has very poor implementation and not any issues fixes for years.
    Once time you will get “Segmentation fault” and will can to do nothing with it. :(
    So, you must to use old and buggy ibase_* functions, manually implement placeholders emulation, and hope that all will works without crashes. No garanties here. And when you get crash – nobody helps you with it…

  2. Hans van Aardt

    Our company has been supporting Firebird in more than one hundred production environments for more than a decade. We currently serve the call centre collections industry where downtime is an absolute no-no and many of our sites have hundreds of users.

    Firebird does have it’s nitty gritty issues ,however, if you take time and study it you won’t be sorry. Make sure to get Helen Borrie’s book and work through it.

    Firebird 3 which should be released towards the end of 2015 will resolve many of the most obvious pain points. We just won a deal over another software vendor who rely on MW SQL – the reason was the client did not want to fork out $40 000 for a major SQL implementation :)

    If you need some help contact me at hans.vanaardt at voyagernetz dot com

  3. ivanS

    documentation for vb.net developers – nothing
    not supported bellow .net 4
    I not find any web hosting which support fbSql in my country

    and, yes, site is absolute disaster, so unprofessional, messy .. just…. no comment.

    so long firebird, bye bye

  4. Joseph

    Firebird 2.0 is what, 6 or 8 years behind schedule? And when it releases it will be outdated from the beginning with no clue as to whether it will take 10 years to see 3.5. Why would you choose Firebird over PostgreSQL which releases yearly, has many more developers, much greater popularity and support, and a great deal more features?

    Honestly there’s not a single reason to choose Firebird over PostgreSQL today.

  5. Ron

    Some strange comments here so I feel somewhat compelled to answer this old question.

    – Of course runtimes less than .NET 4.0 are supported. The ADO.NET library existed long before there was ever a .NET 4.0.

    – I’ve been using it in .NET for many, many years. Not sure what documentation is needed for a standard ADO.NET data access library. MSDN and forum posts have answered pretty much everything I have ever needed.

    – There are countless reasons to use Firebird instead of Postgresql. To say there aren’t is a ridiculous overstatement. Of course such blanket “My experience covers every development circumstance ever, anywhere” statements are common on the web. Hopefully people visiting the page recognize that kind of nonsense for what it is.

    – Right now in the summer of 2016 the site seems fine to me. My only criticism here would be navigating the documentation. But not enough to care. Of course this is an open source project. If someone doesn’t like it they can ask how they can help improve it.

    My personal speculations regarding its lack of popularity are:

    1) The world has gone from client/server applications where Firebird truly shines, to hosted solutions where it does not shine.
    2) New applications are being written with a web first mentality nowadays. It is correct to say that you’ll be hard pressed to find Firebird on the vase majority of hosted solutions out there. There is no compelling reason for many host providers to make it an option either.
    3) The other place countless new apps are being created are on Amazon and Azure. Again, they have excellent database options already.
    4) As mentioned, Delphi has been dying for years despite what its owners say. It’s the only development language where Firebird will be almost universally considered as an option. In other languages there are strong biases towards different database options which results in better database driver options.
    5) Most people using open source databases are also using open source drivers. Unless there is a critical mass for supporting a particular database these projects frequently stall and become abandonware when the original author(s) moves on.

    I’m happy Firebird is still a healthy option. It’s an outstanding option for client/server desktop apps that commonly have to be installed in hundreds/thousands of different locations where there is little or no I/T support, poor hardware, and unsupported operating systems (just because Microsoft stopped supporting Windows XP doesn’t mean everyone updated…).

  6. Robert C

    My 2 cents worth….

    I think MYSQL is so popular simply because of 2 reasons, just about every database tutorial uses MYSQL, and a preconceived notion that it is completely free (for commercial use).

    I started with Oracle DB’s, then learned delphi (and interbase) and FB, postgres, MSSQL. During the journey I looked into changing a project or 2 into MYSQL and a number of things stopped me at the time. Licensing was a major. From memory (please I don’t want to start a flame war as this was going back a number of years) MSSQL didn’t support triggers pre and post change, concurrency issues (table and row aren’t good enough when doing processing within procedures that rely on that data). External procedures … I can’t remember, but there was something fishy here too, and yes I used them.

    Like you I don’t understand why it isn’t more popular. It is an enterprise class database that has some nicer features than MSSQL or Oracle.

  7. anas hidayat

    I am Delphi Developer. Prefer to use firebird than MySQL. Reason:
    1. Free
    2. MySQL lack documentation of UDF in Delphi but Firebird not. They have many samples.
    Though internal function is limited, but if you can build UDF it’s more powerful than other databases.

  8. Geir Hole

    Looking into using firebird with D7, and hoping for a quick jump start how2
    by first chooso the best/free vcl for interfacing an a simple sample code snippet
    if possible ? ie a simple address book or other to get started…
    Also loking into mysql using the zeoslib… Any thoughts/info sharing available ?

  9. Luís

    My single reason to use firebird over PostgreSQL is the “connection leak” problem with hibernate. Hibernate creates transactions in PostgreSQL that cannot be closed due to the Lazy fetch type. In large operations, you get a full pool(C3p0) or a “too many clients” if you use native hibernate pool. Only Oracle 11g and firebird 2.5 do the job without entropy.

  10. Steve Naidamast

    I have been trying to use the Firebird database engine for quite a while now with a lot of issues getting in the way of my development. I believe these issues have plagued the Firebird database engine for years and are the direct factors in its low popularity.

    As a database engine, Firebird appears to be a very stable platform as it was based on the excellent Interbase implementation of the 1990s. However, Firebird has been moved into an Open Source environment that outside the community has been totally unresponsive to developer issues. If you try to contact the project members, you receive no response.

    The documentation for Firebird is rarely kept up to date with the publication of newly updated reference manuals for each new release leaving developers with the complexity of trying to understand if something has changed internally that may be causing their SQL code to fail.

    Third party tools for Firebird are wholly inconsistent in their reporting of sql syntax issues. I have been using the excellent database managers from the EMS SQL Manager company for years for a variety of database engines without any issues. However, with the one for Firebird errors, which are reported as from other database engines, are received from the Firebird engine itself. Many such errors never provide any inkling as to where in your SQL code the issue may be leaving one with hours of tinkering with the most minor of syntax problems.

    With the exception of StackOverflow, there is no real community support arena for this database engine, which should be a forum on the Firebird Database site leaving developers the unenviable task of researching the entire Internet for answers to their problems.

    While all the other database engines, both commercial and Open Source, provide relatively good documentation for their engines, the best documentation that Firebird offers are the Helen Borrie books outside the standard Firebired reference manual. These two books (now in 2 volumes) cost around $80.00 and appear to be the only documentation sources that may make using Firebird a much easier experience. However, who really wants to spend the money?

    I believe these have been the basic complaints that have been consistent over the years for which the Firebird project has never done a thing to rectify. As a result, it is apparent that the project members simply do not care enough to address them.

    I am returning to my favorite database engine, SQL Server. And for my own applications I am now in the process of moving my development databases over to SQL Server LocalDB…

  11. Eric Schneider

    I am finishing up support of the Firebird database for my Micro ORM call “Symbiotic” and the “Symbiotic Code Generator”. Should be available next week.


    I had some issues getting it up and running.

    I had to disable the service, then re-run the installer to install the client tools in order to get Flame Robin working.

    Also the Flame Robin “Create database” is not very intuitive. It’s not obvious you are specifying a full path and filename for the new database file. The entire UI for creating a new database is a bit vague.

    The sql errors are very cryptic, even the line numbers specified can be way off. Was a bit trick to find and build the sql to discover the database schema.

    That said, I have over 20 years experience creating and working with databases, and other than Sql server, I find Firebird is easiest to get up and running. DB2, then Oracle is the worst.

    So far it looks good, but I have only been using it for a week.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.