Subject: Re: the in's and out's of dependencies between packages...
To: Greg A. Woods <firstname.lastname@example.org>
From: Richard Rauch <email@example.com>
Date: 05/31/2000 16:13:15
I've always thought that one of the intended wins of a dynamic library is
that you can update the library without updating the application. It's
kind of sad that we seem to be unable to make them work that way. To my
mind, that was generally the biggest value to shared libraries---avoiding
duplicated code was a comparatively minor feature.
Do our shared libraries actually (by their construction) prevent such
transparent upgrades from happening? Or is it just a result of the way
that most authors build and maintain shared libraries that you have to
upgrade everything else whenever you change a shared library?
If the problem is inherent in how our shared libraries are created, could
the shared libraries be changed so that applications could accept
transparent library upgrades?
(Side note, since this came up before I think: Certainly shared libraries
in general are able to support such transparent upgrades. The Amiga
managed it quite nicely, both for commercial software and for various
forms of freeware. It never seemed to be a big deal, it just
worked---though the mentality of the Amiga community may have been better
oriented for effective resource reuse, and the lack of sources for
commercial software (plus the general lack of compilers for end-users)
also forced software developers to NOT assume that the user could just
recompile the world at the drop of a hat. Still, pressures aside, it
worked and didn't seem to be much of an onus to support properly. There
may, of course, be technical reasons why shared libraries in a UNIX-like
environment just can't be made as effective. I'd love to hear a
technical explanation from someone, if that is so.)
"I probably don't know what I'm talking about." --firstname.lastname@example.org