licence model

i read about a licence fee if im going to do a commercial program on panda3d, i´m very curious about this topic.

what do i need to know about doing a commercial program on panda3d?

thanks for sharing any experience

No, Panda itself is free to use for commercial usage.
However, it’s thirdparty packages are not.
For example, you need to ditch FMOD and switch to OpenAL (also supported in panda) unless you buy an FMOD license (which is expensive).
Also, some of the thirdparty packages have GPL license, and you need to be very careful with GPL.

thanks 1000 times for this informations…

acctually if your game is very small the FMOD is not that bad

But there are plenty of games using OpenAL.

Is FMOD the only component that should be removed in the basic Panda package (if you want to go commercial)?

And other than setting your game code to not use FMOD, what files should you delete from your distribution? or do you acutally have to recompile Panda to not use FMOD also?

No, you should be able to remove the files libp3fmod_audio.dll, libfmodex.dll, libfmodexp.dll and it should be enough. (To be sure, search for files containing “fmod” and remove those.)

Also, ARToolKit is GPL, and we link to it statically. (Ahgr!)
ARToolKit is used for augmented reality so you can build without it, if you don’t need it.

The FFMpeg that Panda uses should be compiled with the GPL parts removed, so only LGPL, but since it’s linked statically (LGPL does apply then), be very careful.

FFTW is GPL, eek. And we link to it statically! I need to get that fixed.
But you don’t really need it, you can compile without.
Also, you can get it under a different license: … right.html

OpenAL is LGPL, and linked statically. You can remove it easily though.
ZLib and libpng are free for commercial use.
OpenCV is free, as long as you put the license text anywhere.
FCollada and libsquish are MIT, no need to worry.

Well, you need to check the Nvidia Cg Toolkit, libtiff, libvrpn, and openssl for yourself.

thanks for the response - that’s a lot of good info.
I’ll look into the other ones you listed (unless someone already has and wants to answer here).

I think this is really important info for those who want to make commercial games/projects. Perhaps it should be part of the manual?

One question when you say you can "build without " ARToolkit , do you mean just leaving it out of my distribution or recompiling Panda?

Feel free to add it.

I’m afraid you’d have to recompile Panda. I agree, I don’t like it. Maybe we should link to it dynamically.

But if you want to release a commercial game with Panda, it’s good to compile your own version anyways - with optimize level 4, and all the components stripped out you don’t need, for optimal speed and smallest size.

Thx for the response.
Guess I’ll have to delve into compiling Panda (when the time comes around 2011 or so:) )

It’s fairly easy. This will help you with that: … on_Windows

The script itself is easy to understand and it’s easy to remove several modules of Panda.

Well this is my first post. With a very limited knowledge of programing i know this going to be a simple question for the likes of you all…

Should I compile for release after completeing my project or before i start?

You don’t need to compile Panda at all.
I do recommend making an optimized, stripped down build before you release your game though - but do it when you’re about to release your game, not now.

i have started to gather more info here.
Please add information so that we can be sane about this.

Very helpful, treeform! many thx!

For items that say “must include license” - does that just mean include a text readme with your distrib, or it needs to be in a credits screen somewhere? Just curious how people usually handle this.

To my knowledge people normally don’t handle this properly.
By my understanding you create a folder in your game with all the licenses … but i am still researching…

Netbpm is neither a part of Panda nor a dependency, is it?

silveralex, most licenses state that it needs to be somewhere in the ‘product documentation’. So you could ship a “readme” or “copying” file containing the licenses. In the credits will probably do, too.

There are some pieces of netpbm that have been integrated into some of the image converters, like the BMP and SGI readers. These have extremely permissive licenses, but typically include the standard “include this copyright notice in supporting documentation” bit.


I think the biggest problem is static linking with LGPL stuff and any kind of linking with dual licensed GPL stuff.

I think you’re right treeform.

Realize it’s maybe it’s not a high priority - but perhaps changing these to not be static could be looked into for a future Panda point release? (assuming it’s doable - I have no idea how integrated they are into the codebase)

I could change it, theoretically. But I didn’t (and Josh didn’t either) because of the enormous DLL hell that would follow.