Log in

View Full Version : Licensing Questions


Rusakov
23rd October 2011, 17:00
I'm planning on making a GUI for AviSynth and I would like to make it proprietary. I saw this in the AviSynth source code license:
Linking Avisynth statically or dynamically with other modules is making a combined work based on Avisynth. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of Avisynth give you permission to link Avisynth with independent modules that communicate with Avisynth solely through the interfaces defined in avisynth.h, regardless of the license terms of these independent modules, and to copy and distribute the resulting combined work under terms of your choice
Do I need to learn C++ in order to understand what kind of interfacing is allowed by AviSynth.h or is there a simpler description for it?

IanB
23rd October 2011, 22:38
You may freely #include "Avisynth.h" in your source code, you may then freely use any of the definitions derived from that.

The CreateScriptEnvironment DLL entry point is published in Avisynth.h so you may freely use that.


If you include internal.h or other files to access deeper into the internal structure then you are bound by the GPL. There is very little need for anyone ever doing this and will require extensive C++ knowledge to leverage.

If you "borrow" any other code from the Avisynth project then you are bound by the GPL.


Plugins publishing the DLL entry point, AvisynthPluginInit2, is a documented requirement for plugins to be loadable, but is not covered by our GPL, i.e. it's part of the plugin authors code so is covered by the plugin authors licence.

If you "borrow" code from somebody else's Avisynth project then in addition you are bound by their licence conditions.


It will help if you have some knowledge of C++, but many quite happily manage to code some impressive plugins without formal C++ training.


There is also Kevin Atkinson Avisynth C Interface, which is a C wrapper around the C++ interface, Kevin's conditions of use are similar to the main Avisynth conditions. It is now included as a formal part of the core project and maintains Kevin's conditions of use.


So the short answer is Yes, you can make it proprietary. And a smattering of C++ will help you but is not essential, there is lots of sample code out there.


Good luck with the GUI project.

Rusakov
23rd October 2011, 22:48
Thank you very much. :thanks: