A few years ago, Grant would have had little choice but to defer to the practices of his current vendor. Today he has an alternative, in the form of open source database systems. MySQL, well-known as a database for serving Web pages, has set out a roadmap that will bring enterprise features to the product during the next few years. From its roots in academia, the PostgreSQL database has seen increasing uptake in the enterprise. The most interesting alternative, however, is the lesser known Firebird, a full-featured, true open source database with a 20-year track record of enterprise use.
Firebird had its roots at Digital Equipment Corp., when DEC's database designer Jim Starkey founded a new company in the early '80s and contracted to write a database system for the then nascent workstation market. His creation, Interbase, pioneered breakthrough concepts such as multiversion concurrency control and BLOBs -- binary large objects. From the start it was designed to be enterprise-ready, with features like advanced query optimization, nested transactions, two-phase commit, triggers, and stored procedures. Based on these strengths, Interbase built up a strong position in the financial services industry.
In the early '90s, ownership of Interbase passed to Borland, which bundled the database with development tools such as Delphi and CBuilder. Borland tools had always been very popular in the former Soviet Union, and Interbase benefited from that success; it became one of the leading database systems in that part of the world, with about 30% of cities and regions in Russia using Interbase to drive their financial systems. In the U.S., where Borland lacked the means and will to compete against Microsoft, Oracle, and IBM, Interbase gradually lost the marketing battle for the enterprise market.
Borland open-sourced Interbase in 2000 and from the user base a vibrant community sprang up. Development was put in fast-forward mode as users dealt with issues that had bugged them in Interbase 6.0 and quickly produced a rock-solid release called Firebird 1.0. The current production release, Firebird 1.5.1, was released earlier this year. Considering its history, Firebird 7.5.1 might have been a more appropriate name. Development hasn't stopped, and the original design team is currently undertaking a complete rewrite and cleanup of the code base. However, the most exciting new development is Oracle-mode Firebird, nick-named Fyracle.
"Fyracle started out as a marketing project", says Paul Ruizendaal of Firebird distributor Janus Software. "We had noticed that Jorg Janke had run into trouble when trying to port Oracle-based ERP+CRM application Compiere from Oracle to PostgreSQL, citing a lack of essential features. We knew Firebird was up to the job. Rather than rewriting Compiere to match with Firebird syntax, we decided to create an emulation layer that would allow Compiere to run virtually unchanged. The key element was the creation of a PL/SQL compiler for Firebird. We are very pleased with the level of interest that early betas have generated."
Firebird's support for Compiere answers a strongly felt need among current and prospective Compiere users. Some don't mind having to install Oracle to run Compiere, but many more find that a major drawback for an open source ERP package. Michael Judd of U.K.-based Compiere reseller Jaztek and Sjoerd van Dijk of Dutch reseller ActFact agree. "The availability of open source database support for Compiere will cause quite a stir in the community," they said.
Bill Pribyl, author of several O'Reilly books on programming with PL/SQL, is excited about Firebird's emerging PL/SQL ability. "There are hundreds of thousands of PL/SQL programmers around the world, and PL/SQL may be the most successful language for stored procedures in use today. It would be great to give this community a little bit of choice -- particularly for smaller applications that don't need Oracle's depth."
The level of interest in Fyracle has somewhat surprised Ruizendaal. "From its origin as a Firebird marketing project, Fyracle is turning into a product. People have contacted us about using Fyracle to move some applications of their main database as a way to manage license cost. Others are evaluating Fyracle as an embedded database. Yet another group is looking at Fyracle to create demo CDs for their Oracle-based applications. We have learned that people do not need 100%, picture-perfect emulation. They need a product that makes porting a simple, affordable and practical endeavour."
And Grant? Grant has directed his development team to evaluate Firebird and to select workloads that could potentially be moved off the main database. Also, he has obtained support from his board of directors to take the proprietary vendor to court if need be. As a first step, the matter has been referred to the company's legal counsel.