Firebird SQL
An open source SQL relational database management system descended from the Borland InterBase 6.0 codebase, with a compact footprint, full SQL support, and a long-lived community.
Created by Firebird Project (forked from Borland InterBase 6.0)
Firebird SQL is an open source SQL relational database management system descended from the Borland InterBase 6.0 codebase. It supports a substantial portion of the SQL standard, ACID transactions, stored procedures and triggers in a procedural SQL dialect (PSQL), multi-generational concurrency control, and an embeddable single-file deployment mode. Firebird is notable for its compact footprint, its near-zero administration model, and its unusually long history as a community-maintained fork of a commercial database.
History & Origins
Firebird’s story begins with InterBase, originally created in the 1980s by Jim Starkey at Groton Database Systems. InterBase was acquired by Ashton-Tate, then by Borland, and over the years became known for an unusually capable engine in a small package — including its pioneering use of multi-generational architecture (a form of MVCC) and its support for stored procedures, triggers, and event notifications.
In July 2000, Borland (then known as Inprise) released the InterBase 6.0 source code under the InterBase Public License, a Mozilla-style open source license. A group of developers, several of them long-time InterBase contributors, organized to continue development of the open codebase. That project became Firebird.
The first stable open source release, Firebird 1.0, shipped in March 2002. It was largely the InterBase 6.0 engine with bug fixes and small improvements, still written in the original C. Over the following years the project undertook a significant rewrite: Firebird 1.5 (2004) ported the codebase from C to C++ and cleaned up many internal subsystems, setting the stage for the more aggressive feature work in 2.x and 3.x.
Borland (and its successor, Embarcadero) continued to develop and sell the proprietary InterBase product alongside the open source Firebird, and the two projects have diverged significantly in the years since.
Design Philosophy
Firebird’s design reflects its InterBase heritage and the priorities of its open source maintainers:
- Small and self-contained. A Firebird server install is measured in tens of megabytes, and the engine can be embedded directly into an application as a library.
- Zero-administration by default. Databases live in a single file (or a small set of files), with automatic management of indexes, statistics, and storage.
- Multi-generational concurrency. Readers do not block writers and writers do not block readers; transactions see a consistent snapshot via record versioning rather than long-held locks.
- Standards-oriented SQL. Firebird aims for SQL standard conformance, with extensions where the standard is silent (e.g., its PSQL procedural dialect).
- Backward compatibility. Database files and schemas migrate forward across major versions with comparatively little drama, an important property for the long-tail business applications that depend on Firebird.
These priorities make Firebird a natural fit for embedded and small-to-medium-server workloads rather than for the very large multi-tenant deployments that dominate the discussion around databases like PostgreSQL or MySQL.
SQL and PSQL
Firebird supports a broad set of SQL features: joins, subqueries, common table expressions (including recursive CTEs), window functions, MERGE, and a rich set of built-in scalar functions. It also has a procedural extension, PSQL, used to write stored procedures, triggers, and executable blocks.
A small example of PSQL:
| |
Triggers, selectable stored procedures (procedures that act like tables in FROM clauses), and EXECUTE BLOCK (anonymous PSQL blocks) round out the procedural surface.
Architecture
Historically, Firebird shipped in three flavors:
- Classic — one server process per connection.
- SuperServer — a single multithreaded process for all connections.
- SuperClassic — a hybrid model.
These were unified as configurable modes of a single executable starting with Firebird 3.0, which also introduced fine-grained SMP support so that the engine could effectively use multi-core hardware.
Firebird’s storage uses multi-generational architecture: each update creates a new record version, and old versions are kept as long as some active transaction might still need to see them. A background garbage collection step reclaims obsolete versions. This design avoids the read-locking penalties of older single-version designs and predates similar mechanisms in many of today’s mainstream databases.
The engine also includes:
- Events — a publish/subscribe mechanism that lets applications wait on named events posted by triggers or stored procedures.
- External UDFs / UDRs — user-defined functions and routines written in C++ or another supported language.
- Two-phase commit for distributed transactions across multiple Firebird databases.
- Logical replication (added in Firebird 4.0).
Embeddable Deployment
One of Firebird’s distinctive features is its embedded mode. The same engine that runs as a server can be linked directly into an application; the application then opens database files locally without a separate server process. This makes Firebird a natural choice for desktop applications, point-of-sale systems, and tools that need a real SQL engine but cannot assume a database administrator is in the loop.
Evolution
| Version | Year | Highlights |
|---|---|---|
| 1.0 | 2002 | First stable open source release; based on InterBase 6.0 C codebase |
| 1.5 | 2004 | Codebase ported to C++; many internal cleanups |
| 2.0 | 2006 | 64-bit support; improved optimizer; expanded SQL |
| 2.5 | 2010 | New threading architecture; regex; CTE improvements |
| 3.0 | 2016 | Unified architecture; SMP; packages; built-in crypto |
| 4.0 | 2021 | Logical replication; DECFLOAT; long identifiers; time zones |
| 5.0 | 2024 | Parallelism for maintenance ops; statement cache; optimizer enhancements |
Across these releases the project has prioritized careful, backward-compatible evolution over rapid feature churn — a posture well-suited to its user base of long-lived business applications.
Current Relevance
Firebird occupies a niche that is easy to undersell. It is not the default choice for new web-scale applications, and it does not enjoy the marketing reach of PostgreSQL, MySQL, or the major commercial vendors. But it remains:
- Widely deployed in embedded and small-to-medium business applications, especially in Europe and Latin America.
- Actively developed, with major releases continuing through the 2020s and a steady stream of point releases.
- Well-supported by tooling, with mature drivers for languages such as Java (Jaybird), .NET, Python, Delphi/Object Pascal, PHP, and others.
- A pragmatic migration target for organizations still running InterBase, given the shared lineage and similar SQL dialect.
The Firebird Foundation coordinates development, maintains the official builds, and channels sponsorship from commercial users into ongoing engineering work.
Why It Matters
Firebird matters for several reasons.
First, it is one of the earliest and longest-running examples of a serious commercial database becoming a sustainable open source project. Many proprietary databases have been open-sourced over the years; relatively few have produced a community-maintained successor that remained healthy a quarter-century later.
Second, it is a working demonstration that small, embeddable, full-SQL databases are viable. In a landscape that often forces a binary choice between SQLite-class embedded databases and large multi-process server systems, Firebird shows that an engine can offer real stored procedures, triggers, MVCC, and standards-oriented SQL while still fitting comfortably inside a desktop application.
Third, its multi-generational architecture — inherited from InterBase — is a useful reference point in the history of database design. The same ideas that Jim Starkey pursued in the 1980s now power the concurrency models of many modern systems, and Firebird is one of the most direct living lineages of that work.
For developers who encounter Firebird in legacy systems, in embedded products, or in long-running business software, it is worth understanding on its own terms: a quiet, careful, surprisingly capable database that has outlived most of the commercial products that once stood beside it.
Timeline
Notable Uses & Legacy
Embedded and ERP applications
Firebird's small footprint, embeddable engine, and zero-administration deployment have made it a common choice for desktop and small-business ERP, accounting, and point-of-sale applications, reportedly with a particularly strong user base in parts of Europe and Latin America.
InterBase migrations
Because Firebird shares its on-disk format and SQL dialect lineage with InterBase, it is frequently chosen by organizations migrating away from commercial InterBase deployments while preserving existing schemas and PSQL code.
IBExpert and related tooling ecosystem
A long-running ecosystem of administration and development tools — including IBExpert, FlameRobin, and the Firebird-specific drivers for popular languages — supports Firebird in production and developer workflows.
Firebird Foundation members
The Firebird Foundation, a non-profit incorporated in the Czech Republic, coordinates ongoing development and is sponsored by a mix of commercial users and consultancies that build products on top of Firebird.
Language Influence
Influenced By
Running Today
Run examples using the official Docker image:
docker pull firebirdsql/firebirdExample usage:
docker run --rm -e FIREBIRD_DATABASE=test.fdb -e FIREBIRD_USER=app -e FIREBIRD_PASSWORD=app firebirdsql/firebird