[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.


			/ h+

More information about the ODE mailing list