On May 11, 2008, at 6:23 AM, Tom Donovan wrote:
Roy T. Fielding wrote:
This is a showstopper. It must be fixed in 1.3.x before release.
My fix is also incomplete: All of the other DBD drivers that do
not have
redistributable client libraries must also default off. Oracle is
one
for sure -- I am unaware of the terms for the other drivers.
....Roy
Was it discovered that the MySQL exception doesn't work? Or is the
concern about incorporating APR or httpd into commercial software?
The concern is that someone building a program like httpd, on a platform
that just happens to have a lot of databases installed, will
automatically
compile into apr-util hard dependencies on all of those libraries even
though they have no intention of using them. In particular, it makes it
difficult for our own developers to build binaries for our releases that
can actually be redistributed under our license.
In my case, compiling with --disable-shared caused the ab executable
to fail at runtime when it tried to load libmysqlclient_r. ab doesn't
use a DB. The fact that all this unnecessary crap is getting bundled
into what was supposed to be a portability library is another problem.
Actually, I don't understand how this is supposed to work at all.
Having these interfaces in a library means that anything we
pick as a DBD interface must be redistributed with the binaries.
An operating system distro may be able to pick and choose a suite
of databases to always have installed, but I don't see how we are
going to do that just distributing httpd.
I suggest that the way forward is to separate DBD from apr-util and
make it capable of finding and remapping the DB shared libraries at
initialization time, rather than compile time.
....Roy