Subject Re: [IBDI] Re: About IBX and Firebird (and a Jason rant on "free beer" again)
Author Jason Wharton
> Jason, you should acknowledge that not everybody likes IBO's native
> model, so IBX & FibPlus will have always a place, the same way ODBC/OLE-DB
> drivers and generic packages like Zeos have a place in the same showroom.

I did acknowledge that. I said if you really like and prefer IBX over IBO
then that is a good reason to fork it and keep it up to date with Firebird.
But to do it just so there is another alternative available is blind
duplication of efforts which may be more harmful than good to the big
picture.

I especially see no point to porting IBX's TDataset implementation to work
with Firebird since my TDataset implementation is far more complete than
IBX's is. I'd do a line item chart of it but I've learned the people in the
IBX camp refuse to cooperate in those types of comparisons. They just don't
want the facts plainly known is the problem.

Anyway, here's just a few points off the top of my head. I trust if my IBX
understanding is out of date (which I highly doubt) I will be corrected on
it.

Refresh method in IBX refreshes the current record only. In order to do a
real refresh in IBX one has to store aside information from some columns,
Close the dataset and then Open it and then do a Locate using the
information stored aside. In IBO you call Refresh and everything is taken
care of for you. You can even do a refresh while using CachedUpdates with
IBO.

Inserting a record into the buffer of IBX forces it to the end rather than
being a true insert. In IBO you can insert wherever you like into your
dataset. It also flags the record as being potentially out of sort order and
all operations which rely on a particular sort order take these records into
proper consideration. Both flexible and useful.

Filter, Filtered, FindFirst, FindNext, FindLast, etc. are simply not
implemented in IBX. In IBO they are fully implemented and integrated with
however else you desire to use the query. Input parameters, where clause
items, whatever. IBO knows how to deliver these aspects and utilizes the
server where possible instead of just flooding the client with fetches. case
insensitivity is also a snap to integrate into this too.

SetRange, FindKey, GotoKey, Locate(), etc. is all implemented in IBO as it
was in TTable (for those fortunate few who actually knew the right way to
use this component).When supporting Indexes exist all dataset operations are
able to minimize the number of records brought to the server. This makes for
very rapid dataset operations that IBX either can't do or it has to bring
all the data to the client and then do the operations. Again, IBO's
implementation of this is in cooperation with all other dataset operations.
I also make it so that this is all possible with TIBOQuery so you get the
best of both TQuery and TTable made available to each TIBOQuery and
TIBOTable components. With TIBOQuery there is just a little manual config to
do.

IBX's bookmarks are a simple arbitrary integer that quickly become invalid
and are for the most part worthless. With IBO bookmarks are persistent and
durable. There are untold benefits to having this capability. It was like
pulling teeth to get it but the benefits are superb.

I'm sure there are more points as well. Anyway, the architecture to support
all this capability took me just about 5 years to complete and my vision of
it was clear from the beginning. I'd like to see conditions remain so that
this technology will survive and thrive. Sure 90% of people can wrangle
around and fiddle until they get a semblance of a smooth operating GUI out
of IBX's architecture by putting a lot of helper code in their applications,
but take away 90% of my customer base and I would for sure have to fold up
shop. What would your options be then?

<rant>
This whole "free beer" software trend just may teach us a sad lesson, you
generally get what you pay for. Fortunately, things continue to go quite
well for IBO and Trustware, but I am determined to apply influence where I
see necessary to ensure the continued health of my profession and current
livelihood. I don't settle for anything that is half-baked or cheesy and it
shows. I also don't feel to settle for anything less than a just
compensation for my efforts that benefit others monetarily. If you have a
problem with that, it certainly is a problem. Yours, not mine.

Then again, I could just be a fat pig spoiled American brat who resents
seeing the rug pulled out from under his party... <g>

That's why I chose the Trustware concept so privileges would go to all
regardless of economic standing. I don't want to be a brat. I want to see
everyone raised to a higher standard of living, not have the whole software
economy and industry cave in on itself. When the day comes that farmers,
builders, teachers, doctors, distributors and resellers of life's essentials
are willing to provide, by their own free will and choice, my life's
essential needs (none of this vain opulence crap America is so hung up on)
then I will be overjoyed to provide benefits to their lives by my own
talents by my own free will and choice.

My biggest complaint with current OSI trends like GPL. etc. is the
infringements on free will and choice in the usage and integration of the
products. They are designed to ultimately take choice away from people in
the long haul. This is with regard to the virulent, rather than trusting,
nature of its clauses. This supposed utopian model will quickly degenerate
into despotism if it isn't upheld in full cooperation by the free will and
choice of its recipients. It's kind of like communism. Good ideals but
enforced rather than willingly espoused and respected. It kills the
lifeblood of the human soul to force them to be a certain way no matter how
wonderful the ideals being enforced are. I see some sad parallels developing
in the industry and I don't like it. I think it is degrading to the inherent
goodness of the human soul.

Anyway, enough of my ranting. Perhaps our industry is just a little ahead of
its time and the others will eventually catch up. We'll see.

Just some food for thought here... I don't necessarily have a conspiracy
theory about how America's economy is being weakened by the radicals trying
to get every smart little cookie on the planet slaving over "free beer" OS
project A, B, C and D. But, then again, how many of these big name OSI
proponents are still in the trenches doing software development? Some I'm
sure, but I think we should use some caution and keep our eye on the big
picture. What really is their motivation? I'd like to see America stay a
strong nation in all respects, including its software industry. (Not
excusing butt-heads who think opulence almost beyond human imagination is
their right when people the world over are in great need. I need not mention
any names.)

I think to a large measure America has done good with its position of global
power and I would not like to see the scene this world would cast if America
were to fall down in the dumps and lose its power. Should it eventually
crumble the power vacuum would be enormous and very disabling to the world,
I think. What I wish is that the people of America weren't so gluttonous...
Unfortunately the crooks are rising in might and the solid honest in heart
wo/men who primarily founded and built this nation are being swept under the
rug... "Hurry, hurry off to the casinos... with smiles painted on (obviously
fake)." is now the mainstream ploy it seems. The freeways are littered with
their billboards. Bullcrap, bullcrap, bullcrap! Wake up America!!! There is
no such thing as unearned happiness that lasts.

This is partly the answer to some of the other threads on this list
regarding free software and the like...
</rant>

FWIW,
Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com