tags:

views:

501

answers:

2

I'm using the Qt/Mfc Migration Framework to begin to convert some UI code from MFC to Qt. I'm wondering whether I absolutely have to keep the Qt migration code in a seperate library or if it would be possible to include it in my project. In order to do that, I would have to modify it slightly (add #include "stdafx.h" for example and change some other include paths). The Qt LGPL exception, which is also used for the migration framework, reads:

Nokia Qt LGPL Exception version 1.0

As a special exception to the GNU Lesser General Public License version 2.1, the object code form of a "work that uses the Library" may incorporate material from a header file that is part of the Library. You may distribute such object code under terms of your choice, provided that the incorporated material (i) does not exceed more than 5% of the total size of the Library; and (ii) is limited to numerical parameters, data structure layouts, accessors, macros, inline functions and templates.

Would I trigger the license or am I still in the green?

+2  A: 

Either I'm misunderstanding what you want to do, or you clearly aren't allowed to do it.

You say you want to "include the Qt code in my project", which implies you want to link the whole of their library (or all the pieces you're using) into your own module, rather than keeping it in a separate DLL.

But the terms say you can "incorporate material from a header file" (my emphasis) not the main library.

And they say "provided that the incorporated material (i) does not exceed more than 5% of the total size of the Library", not the whole library.

And they say "limited to numerical parameters, data structure layouts, accessors, macros, inline functions and templates", not any of the main code of the library.

Seems blatantly obvious to me, but have I misunderstood something?

RichieHindle
Well, I am just talking about the MFC/Qt migration code, which is like 8 files. But I guess you are still right. They aren't just header files and I suppose they are not limited to numerical parameters, etc.
drby
+1  A: 

Any component of the Qt solutions must be built as a DLL if you want to use it under LGPL terms. It doesn't matter whether you modify it or not.

rpg