GPL and the Collada DOM


I’m investigating adding Collada support into a proprietary 3D engine and I was wondering if anyone could explain the legal issues that might arise using the Collada DOM.

As the Collada DOM requires a few libraries, namely libxml2, libiconv and zlib, one has to take into account several licences. The collada dom licence is extremely permissive and presents no problems, the same goes for libxml2 and zlib.

However the libiconv licence is GPL and from my understanding requires the source code to be distributed along side the binaries and perhaps requires any program that includes it to be GPL as well! (i’m not sure about this but their FAQ states so, though it doesn’t make sense to me) Is this correct?

These legal issues confuse me :?


Rory Hart

Disclaimer: I am definitely not a lawyer.

Generally speaking, the way I’ve dealt with this issue is to simply not distribute any binaries that incorporate any libraries which require source distribution.

This has two advantages:

  1. You can choose which (if any) of your source you distribute, because you’re not distributing binaries that contain the GPL-ed libraries. This is also relevant because, depending on your work situation, choosing to distribute internal source could either be a source of kudos, or a source of unemployment.

  2. If something horrible happens (like someone claiming patent coverage of something that one of the libraries uses - not like anyone would ever do something asinine like that :frowning: ), you don’t have to pull anything off the shelf if someone gets an immediate injunction, you just have to stop using an internal tool.

As I mentioned in another post, my perspective is that it’s best to have a processing toolchain that converts from whatever source data format (say, a Collada mesh, and some .TGA or .JPG textures) into whatever format your target platforms needs (say, some pre-binary-formatted vertex and index buffers, and some pre-mipped .DDS files, if you’re targeting DirectX). This tends to make the final app/game faster (because all the heavyweight processing has already happened) and smaller (because you’re not linking in stuff you don’t really need at runtime).

Anyways, the legal issues confuse me as well, so I just try to avoid them as much as I can. :slight_smile:

Disclaimer: I am also not a lawyer.

We had the same problem internally.

We modified and built libxml2 without iconv support. I think there are config files to make that easy. You might not even have to modify libxml2’s source. Just rebuild with a few different options.

So libxml2 without iconv support means no GPL which means happiness :slight_smile:
Ok so I don’t remember the MIT license completely but it was very liberal and I think you can modify the source and distribute the binaries without any problems.


Looking through the source it looks like it’s LGPL’d, which is much more reasonable. If it were GPL’d that would’ve been bad news for me.