PyCEGUI question


08-05-2006 18:24:53


I wrote a scripting module for cegui to handle events in python, just like the lua module that comes with cegui.
Now this module includes a line like "import cegui" which imports the created by swigging the pycegui sources. I had to modify the sources a little bit to remove the Ogre-specific stuff (not many changes, merely commenting some %includes). There's also a _cegui.dll created by compiling the swig wrapper which gets then imported by the script.
Now, the big question, which license does the generated swig code have? Is it the same as pyogre's license (is it LGPL, the wiki said nothing about that)? The main problem is that ceguis main trunk needs to have the MIT license and if the is LGPL then this does not match. If this is the case, would you consider releasing your pycegui swig interface files as MIT instead of LGPL especially to cegui so that the cegui team can include this scripting module?



09-05-2006 07:02:24

The license for pycegui is as per pyogre - LGPL, check the cegui.i header.

As for releasing the swig files under MIT I don't think it's possible without:

- contacting / seek permission from significant contributors;
- checking out the implications of doing so since cegui0.4.1 is LGPL;
- splitting pycegui to a base pycegui, ogrerenderer and openglrenderer modules;

Does your scripting module have to specifically link against cegui_wrap.o or as a short term solution would defining a symbol (for conditional compilation) as Swig puts it help,

swig .... -DCEGUI_BASE_ONLY ...

Anyone else have any input on this?


10-05-2006 19:09:03

Thanks for your answers!

Regarding 3): I truncated the code so that no ogre- or opengl-specific code remains.

Regarding 2): Since CEGUI 0.5.0 will switch to MIT maybe I can see what changed between 0.4.1 and 0.5.0 and change this also in the interface files. Then it should be basically MIT, but I am not sure. Won't this also get a big problem for pycegui, because if CEGUI goes MIT with 0.5.0 then pyogre can't use the code anymore because it's LGPLed?

Regarding 1): Do you mean contributors of pycegui or cegui or both? I think cegui can be scrapped if I'd use the 0.5.0 code as a base for the interfaces files. I don't know about pycegui though.


P.S.: This seems to be a case where open source projects can't share their sources as both probably intend, just because they're entangled in stupid license stuff...


11-05-2006 00:12:03

Regarding 1) I meant the contributors of pycegui. If you use the 0.5.0 code as a base and wrote your own interfaces files you would be fine. If you based your own interface files of pycegui then it would, AFAIK, be LGPL. Saying that how many ways can you write a very simple interface file.

Regarding 2) If CEGUI goes MIT with 0.5.0 then it may well be a problem for pycegui. As I said before the OpenGL/OgreCEGUI renderers may have to abstracted to their own modules.

This seems to be a case where open source projects can't share their sources as both probably intend

Couldn't agree more. However if you sumbit the swig interface files with your scripting module what happens to pycegui?, effectively there are now two versions both being separately maintained.

Maybe you should start a thread of the main forum. I'm sure the same licensing issues have already been addressed by the Ogre team. You'll probably find a more knowledgeable response there.

PS, I've made some updates to the interface files for swig 1.3.29, some missing control event names/namespaces, the condional compile flag stated above and global event handling. I'll submit a patch on svn later today.