Re: Comparing databases - Mailing list pgsql-advocacy

From Josh Berkus
Subject Re: Comparing databases
Date
Msg-id 200311231156.33692.josh@agliodbs.com
Whole thread Raw
In response to Re: Comparing databases  (Paul Ganainm <paulsnewsgroups@hotmail.com>)
Responses Re: Comparing databases
Re: Comparing databases
List pgsql-advocacy
Paul,

> Hmmm... there's a difference between "throwing ideas out there" and
> stating falsehoods -

I'm pretty sure his e-mail contained a "probably lots of innaccuracies"
disclaimer.  'nuff said.

> Could I (in theory - I only wish that I was that good!) take the MySQL
> code and add a few lines and call it PaulieSQL and release it under the
> GPL?

Yep.   But, as members of the Firebird project should be aware, you have 2
hurdles to overcome:

a) probably about 90% of the knowledge or MySQL code, internals, and
architecture belongs exclusively to MySQL employees.  You would have to
replicate all of that knowledge through reverse engineering in order to be
able to support PaulieSQL (based on numerous complaints that the MySQL code
is poorly documented and confusing).  Effectively, to fork the project you
have to supply an entire development team, not just one or two people.

b) MySQL trademark, domains, and "mind share" would still belong to MySQL AB.
This is actually a huge hurdle as people who tried to fork the OpenOffice.org
code found out ("Real Office" or something of the sort) as projects with no
"Slashdot recognition" find it hard-to-impossible to attact new developers.

Both of these hurdles *can* be overcome, as Firebird has demonstrated, but
most projects are not able to.  In the case of MySQL, 98% of their user base
are already people who don't like messing with the internals of things, and
don't care that they don't understand the source.   This makes them a very
poor developer pool for starting a fork.

> Got an URL for the fiasco? I've vaguely heard about this, but am still
> not clear.

No.  It happened on mailing lists, and I've lost the link to relevant
archives.  Let me give you a blow-by-blow based on conversations I had at
PHPCon:

Last spring, the PHP developers got interested in SQLite and started debating
the wisdom of their being "joined at the hip" to MySQL.

Last summer, MySQL AB, without advance notice to anyone including the MySQL
community, licensed the MySQL 4 client library as GPL and not LGPL as earlier
libraries were.   This meant that projects with different licenses, such as
PHP, could no longer ship the MySQL client libraries with their code unless
they paid MySQL AB for a commercial license.   E-mails from leaders of the
PHP community to MySQL leadership were ignored.

This fall, the PHP project announced that PHP5 will not ship with any MySQL
libraries or with default MySQL support, but will instead include SQLite and
ship with support for that library enabled.    Fully 50% of the attendees at
PHPCon came to talk to us at the PostgreSQL booth ....

> I must say that I'm confused about who has the right to do what with the
> various licences out there - I really will have to sit down and read it
> some day.

Well, our license, the BSD license, says "do anything you want, just include
the license and don't sue us."

> IIRC (and I may be *_completely_* wrong here - the fact that it was
> MPL'd by Borland originally, means that they can fold any contributed
> code back into their commerical product, but that nobody else can. At
> least AFAIK.

Hmmm ... is it still MPL'ed?   I don't mind contributing mods to the Firebird
community, but I'm not going to write code for Borland for free.

> I like the nice pejorative feel of "transaction-spooling" - must use
> that somewhere.

<grin> It's not perjorative.   Transaction-spooling does make some things,
such as incremental backup and point-in-time recovery much, much easier.
Unfortunately, it is also sort of a "single-user database" strategy and
causes many problems around locking and transaction isolation which are not
necessarily solvable. Still, it's a very valid architecture for some database
uses.

> There is the Stored Procedure and Trigger Language which *_is_* under
> transactional control - syntax fairly like Oracle from what I can see.

You guys desperately need a better name for that.

> How do you know that MS SQL Server is a money loser?

Microsoft's 2002 SEC filing.   In fact, all of their software products lose
money except Windows and Office.  They keep SQL Server alive becuase it's
part of their "vertical business" domination scheme.

--
Josh Berkus
Aglio Database Solutions
San Francisco

pgsql-advocacy by date:

Previous
From: Rod Taylor
Date:
Subject: Re: Comparing databases
Next
From: Josh Berkus
Date:
Subject: Re: Comparing databases