Subject Re: [IB-Architect] [IBDI] ODBC driver
Author Bill Karwin
There's some more info regarding this history. This might be
interesting in retrospect.

Intersolv provided the 16-bit Windows ODBC driver for InterBase 4.0,
around 1994.

InterBase switched to Visigenic as the 32-bit ODBC driver vendor. I
forget why, but it might have been related to software quality.
Visigenic had been the de facto ODBC vendor for just about every DBMS
who didn't make their own ODBC driver.

Then Borland acquired Visigenic (Nov 1997-Jan 1998), and Visigenic
officially announced that they had no interest in being the de facto
ODBC vendor anymore. They were becoming more interested in CORBA, and
felt that there was no more growth potential in the ODBC line of
business (once you're the technology provider for every database, where
do you go from there?). It had already become pretty clear by that time
that they were not interested in supporting ODBC. Shortly before the
Borland merger, Visigenic publically told all their customers (like
InterBase) to switch to Intersolv.

It sure would have been nice if at that time Visigenic had simply
_given_ the source for the ODBC driver to InterBase. I think I
suggested it at the time, but nothing happened. At that time (early
1998), InterBase Software Corp was a subsidiary of Inprise, and was on
the path to independence. So it wasn't exactly part of Inprise, and a
gift of ODBC source code would have been complicated.

So InterBase contracted with Intersolv to create an ODBC driver for
Win32, and that started shipping with InterBase 5.1 (ca. March 1998).
This was good because Microsoft keeps revising the ODBC standard, and
Visigenic had no interest in bringing their drivers up to date.

The Intersolv driver was fine quality (even though it's limited to ODBC
3.0), but they make their money with $100,000/year licensing contracts.
And it's Windows-only. The licensing for non-Windows ODBC was an
additional licensing cost _per platform_, and the demand on other
platforms was never high enough that we opted to get it, even though
Intersolv offered it. Simple rule: if the product costs more than the
revenue you fail to get by not having that product, don't spend the
money.

For InterBase 6.0, InterBase asked Intersolv (ca. Jan 1999) to provide a
solution for an ODBC 3.5 driver. They said they had put their ODBC
driver in sunset mode, but they offered to do an InterBase port of their
"DataDirect" solution, which is an ODBC/OLEDB/JDBC three-in-one
technology. It worked a bit like InterClient/InterServer. That is, a
thin client for any of those three client interfaces, communicating over
a network with a server-side proxy (like InterServer) which in turn
interacts with the database server.

This sounded attractive, since it was the same cost as the simple ODBC
driver (which did not support ODBC 3.5), gave us OLE DB as a gimme, and
allowed us to outsource JDBC development. InterBase was having trouble
keeping up with the rapid evolution of the JDBC standard anyway. Having
an extra couple of Java engineers to put onto other projects just about
recovered the cost of the deal.

However, there were several problems with this DataDirect solution. For
one, it sucked. It was new technology, full of bugs, and didn't work
very well. It didn't run as an NT service, only as an application, even
after we _gave_ Intersolv (now called MERANT) the code from InterServer
to teach them how to write NT services.
Also, it would've been overly complex to run an extra daemon just to
allow apps like Excel to connect to InterBase (there was no DLL
implementation like the traditional ODBC driver); we thought some users
wouldn't like this difference. And finally, it was still very
expensive, and we had to pay MERANT even more money for custom
development to implement support for IB 6.0 dialect features.

So even before things fell apart in 1999, we had decided to drop the
plans for DataDirect (Kinobi beta testers may remember the confusing
lack of ODBC from the beta releases), renew the licensing deal for the
traditional ODBC 3.0 driver, and revive InterClient.

InterBase is open-source now, with a tiny fraction of its once strong
revenue. We can assume that Inprise doesn't want to pay for licensing
MERANT ODBC. They'll be happy to let an independent value-add company
bear that cost--or else develop and support a new driver, which will be
just as expensive, ultimately.

One other thing that Inprise has up their sleeve: since they acquired
Visigenic, I assume they now own the rights to the old ODBC 2.5 driver
that shipped with IB 4.2 and 5.0. If Inprise wanted to invest any
effort in InterBase, they could bring that code up to the latest
Microsoft ODBC standard, and sell it as an add-on to InterBase 6.0. A
bargain at $299 per seat! :-P

Maybe someone out there could approach Inprise, ask for that source, and
promise them 25% of any gross revenue from selling the driver on
shop.borland.com. A nice little side business for an InterBase
hacker... Inprise might go for it, because it would cost them virtually
nothing, and it's 25% of revenue they wouldn't see otherwise.

Regards,
Bill Karwin