1

Our question more specific would be

  1. if the whole work has to be published (a must) under GPLv.3 or LGPLv.3 as the used gettext.inc, gettext.php, streams.php are GNU GPLv.2 or later and Smarty is LGPLv.3 or if the whole work could be distributed also under a commercial license which is not compliant with GNU GPL principals?

  2. Would it be good and is it even possible to license the combined distribution under AGPL as the application is a social network script?

In particular the critical included parts are:

  • gettext.inc - GNU-GPLv.2+,

  • gettext.php - GNU-GPLv.2+,

  • streams.php - GNU-GPLv.2+

    all 3 contain the same copyright notice in their files which clearly states GNU GPLv.2+ ( https://github.com/neo22s/php-gettext)

    Copyright (c) 2005 Steven Armstrong <sa at c-area dot ch>
    Copyright (c) 2009 Danilo Segan <danilo@kvota.net>
    
    Drop in replacement for native gettext.
    
    This file is part of PHP-gettext.
    
    PHP-gettext is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
    

and as to be considered too for:

  • jquery-ui.touch-punch - GNU GPLv.2,
  • jquery-ui.triggeredAutocomplete - GPLv.2,

both contain a Dual License while it is not clearly stated which of those licenses they are actually using in that particular case.

Dual licensed under the LGPL-2.1+ or MIT licenses

and perhaps:

  • jquery.form - GNU-LGPL-2.1+,
  • tinymce.js - GNU-LGPLv.2.1,
  • HTMLPurifier - GNU-LGPLv2.1,
  • PHPMailer - GNU-LGPLv.3,
  • Smarty - GNU-LGPLv.3,

This is what we found in the FSF FAQ:

If I use a piece of software that has been obtained under the GNU GPL, am I allowed to modify the original code into a new program, then distribute and sell that new program commercially?

If I use a piece of software that has been obtained under the GNU GPL, am I allowed to modify the original code into a new program, then distribute and sell that new program commercially? (#GPLCommercially) You are allowed to sell copies of the modified program commercially, but only under the terms of the GNU GPL. Thus, for instance, you must make the source code available to the users of the program as described in the GPL, and they must be allowed to redistribute and modify it as described in the GPL.

These requirements are the condition for including the GPL-covered code you received in a program of your own.

When is a program and its plug-ins considered a single combined program? (#GPLPlugins)

It depends on how the main program invokes its plug-ins. If the main program uses fork and exec to invoke plug-ins, and they establish intimate communication by sharing complex data structures, or shipping complex data structures back and forth, that can make them one single combined program. A main program that uses simple fork and exec to invoke plug-ins and does not establish intimate communication between them results in the plug-ins being a separate program.

If the main program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single combined program, which must be treated as an extension of both the main program and the plug-ins. If the main program dynamically links plug-ins, but the communication between them is limited to invoking the ‘main’ function of the plug-in with some options and waiting for it to return, that is a borderline case.

Using shared memory to communicate with complex data structures is pretty much equivalent to dynamic linking.

2
  1. if the whole work has to be published (a must) under GPLv.3 or LGPLv.3 as the used gettext.inc, gettext.php, streams.php are GNU GPLv.2 or later and Smarty is LGPLv.3 or if the whole work could be distributed also under a commercial license which is not compliant with GNU GPL principals?

As you are using a library/package under the GPLv2+ license, the license terms on that library/package require that you also use the GPLv2, GPLv3 or AGPLv3 license for the whole work. You are not allowed to distribute it under a different license.

  1. Would it be good and is it even possible to license the combined distribution under AGPL as the application is a social network script?

It is possible to license the work under the AGPLv3, due to a special clause in the AGPL license that allows combining it with GPL libraries/packages. Otherwise, the extra conditions in the AGPL regarding distribution on remote usage would have been incompatible with the GPL license.

If it is desirable or not to use the AGPL license is something we cannot give advice on. That is completely up to you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.