Havok Releases Free Version For PC Developers
An anonymous reader writes "Havok has released the free version of its widely-used physics and animation engine (but without source code), including tools that integrate with Autodesk 3ds Max and Maya. Developers may use Havok for free for non-commercial games, middleware, and academic projects. Here are the SDK and tools."
The copyright holder of a work can make an exception for Havok; it doesn't restrict them, but rather third parties (from creating a combined work under a license which restricts the user more tightly than the GPL itself).
Yes, though, the GPL is restrictive. I think people understand that (and the purpose of those restrictions) when they decide to use it.
The point of the GPL is to produce software which is freely redistributable. But if you integrate non-Free software, then you lose the rights that the GPL is meant to protect. You can no longer share the entire project. You can no longer examine the way the entire project works. You can no longer sell the project. You can no longer fix and support the project.
If you do not want to grant others the freedom to your software that the GPL offers, then you should not license your code under the GPL and instead you should pick a more appropriate license.
From the Terms and Conditions (http://tryhavok.intel.com/terms.php), it seems as though:
You can distribute a Havok-enabled game, as long as Havok cannot be separated from it by the end user.
You can distribute game middleware/game engines/game tools as long as Havok is not included in them at all (I guess the end user will have to get their own license)
Where game mods fit into this I am not sure.
I'm not a lawyer, blah blah blah
The above sentence is self-contradicting)
ODE is terrible---very limited, rebuilds datastructures each frame...
Bullet is good though (used in several commercial games and also integrates nicely with ogre (what I use ) )
I don't know that the GPL expressely forbids linking to non-GPL libraries. However, there is definitely a license conflict between Havok and the GPL. . .
From the Havok license:
"i. publicly demonstrate, and publicly distribute a Havok-enabled non-commercial end-user compiled, binary executable software application or game for the Windows PC Platform, in which the Software is compiled and distributed within the software application or game in an integral, non-separable way, for no direct or indirect commercial value;". Notice, particularly, "compiled, binary executable. .
From the GPL v3 (GPL v2 is basically identical in this regard): See section 6 (not copied here because it's fairly long). In a nutshell, if you distribute binary/object code of the GPL'ed work, you MUST offer recipients access to the source code. So, if you honor the terms of the Havok license, you violate the GPL, or vice-versa.
Also from the GPL v3: See section 5, wherein the user is given permission to modify the work and distribute copies, but those copies MUST be licensed with the GPL (and so the user gets permission to modify the work). Access to the source code, and the right to modify it, means that end users could seperate Havok from the GPL'ed software. So, again, you would have to either violate the Havok license (by providing users access to the source and the right to modify it), or violate the GPL.
There's absolutely no way you can simultaneously abide by the terms of both the Havok license and the GPL.
In other words, it's fine to create GPL software that links with standard Windows libraries. If, however, you want to link it with libraries that are add-ons - like WinG was back in Windows 3.1 days (to pull an example off the top of my head) - you're violating the terms of the GPL.
Because there is an absolutely unfathomable amount of brilliant mathematics running behind the scenes. The kind of stuff that competitor physics engine authors would love to pore over.
Even if they can't use that work, they can certainly learn some of the tricks that Havok uses.
Now, if what you want is open source physics, check out ODE ( http:://ode.org ) and bullet ( http://www.bulletphysics.com/ ) both are fully open source, both are well documented, and both are quite good, but aim at different usages.
ODE is great for robotics simulation, and is decent for games. ODE's strength is in joint types ( motors, sliders, etc ). ODE has a clean C api and is very easy to use.
Bullet is faster and more stable than ODE; however it is targeted more towards gaming. It's weak in joint types, but has much better performance when dealing with large groups of bodies. Bullet also has soft-body simulation as well, which is very very impressive. Bullet has a C++ api which, well, is well designed but perhaps over-designed. Finally, bullet supports Collada export, so you can wire up rigs in Blender and use them in your game.
I've been using ODE for five years. I love it. But recently I worked with the bullet folks to port their demo app to cocoa ( they have a windowsy demo, which uses GLUI, but was fugly on OS X ). I learned a lot about bullet doing that and I can see myself moving that direction in the future, when the joint types mature.
Anyway; I just wanted to make it clear that there are valid open source physics engines out there.
lorem ipsum, dolor sit amet
Actually, they are: