[ODE] On the meaning of ODE stability (was some quick notes on 0; 6) ...
Jon Watte (ODE)
hplus-ode at mindcontrol.org
Sat Jun 24 00:43:24 MST 2006
Justin Couch wrote:
> That argument doesn't stand up to reality. You could apply this same
> argument to any library that a game uses - OpenGL/OpenAL, DirectX,
Having shipped lots of software, SDKs, frameworks, and even an OS, I
would say that it does. The difference between OpenGL and ODE is threefold:
1) ODE is much more of a moving target than OpenGL. We have no guarantee
of backwards compatibility. Perhaps at 1.0 we will make such a guarantee
-- but that would force us to do a lot more crufty engineering and make
us less nimble (which is not necessarily something we want).
2) OpenGL has lots of people dedicated to the drudgery of compatibilty
checking. They get pay checks for doing just that. ODE doesn't -- and
compatibility with old software is not sexy, so it's really hard to find
someone to do it for free, consistently (some would say impossible).
3) ODE comes with source. Most "real" games that ship and use it, have
actually modified the source. Clearly, those modifications are not part
of the systemwide libraries. This says, to me, that static linking, or a
side-by-side DLL, is the right way to go.
> horribly negative attitude towards its users. You, as library developers
> should be listening to what your users want and make sure it functions
I'm a user, and I do not want a system-wide library. If there was a
suggested system-wide install of ODE, I would ignore it in any app I
shipped, and either link statically, or ship my own DLL (that I install
with the app, not in the system). FWIW: I, too, have some modifications
to the ODE library I use. Some of which have been submitted as patches,
and some of which have been rejected.
> I'm another one of these developers that has another language binding
> over ODE (in my case, Java). We're needing to use the system library
> approach because that's how the language and runtime environment works.
If you want to create a systemwide install library, feel free! It is,
however, not reasonable to expect people shipping games on the previous,
current, or foreseeable future ODE library to work with a systemwide
library, for the reasons I've outlined above.
More information about the ODE