Is the following situation with FreePBX standard for VoIP?

Why Not Use FreePBX 13? Glad you asked. Despite the freepbx.org facelift1 and the eternal message that “The ‘Free’ Stands for Freedom,” it turns out the business practices haven’t changed much since the Sangoma takeover. If your idea of “freedom” is a closed source VoIP platform with no way to emulate the repository used to manage and upgrade the “GPL” components in FreePBX 13 and no way to install the FreePBX 13 GUI or its “GPL” components other than switching to the proprietary FreePBX Distro, then FreePBX 13 may be just the ticket. If you’d prefer a RealGPL platform that lets you choose which components you’d like on your server, then keep reading. And drop the Sangoma and Digium honchos a note and let them know how you feel about FREEDOM.

In relation to a question about Elastix VoIP. Because Asterisk is under the GPL was inferring that the various systems built on top were also open source -- apparently not.

Randomly, after David posted his answer, I'll add that PIAF (PBX In A Flash) has this friendly message:

root@arrakis:~ $ 
root@arrakis:~ $ passwd-master 

passwd-master - 2.0.5 released on 052613
CentOS release 6.4 (Final) - 32 Bit
* In order to run this free and compiled program you must agree to   *
* the following:                                                     *
*                                                                    *
* 1. I agree to honor the terms of use set out below                 *
* 2. I agree not to reverse engineer any of the binaries             *
* 3. I agree not to request the source code for this program         *
* 4. I agree to only run this program on a PBX in a Flash system,    *
* 5. I agree that this program is an 'independent and separate work' *
* 6. By typing Y, I agree that this act constitutes my legal         *
*    signature and agreement to all of these terms and conditions    *
*    of use.                                                         *
* 7. I agree that no warranty is expressed or implied for this       *
*    program including any warranty of fitness for any purpose.      *
*                                                                    *
*                                                                    *
* Tap the Y key to agree to these terms or ENTER to exit             *

1 Answer 1


Taking some examples from GPLv3 (which clarified something that were considered ambiguous in previous versions):

A compilation of a covered word with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.

The mere act of communicating with other programs does not, by itself, require all software to be GPL; nor does distributing GPL software with non-GPL software.

The GPLv2 FAQ clarifies when an aggregation should be released under GPL or not:

Mere aggregation of two programs means putting them side by side on the same CD-ROM or hard disk. We use this term in the case where they are separate programs, not parts of a single program. In this case, if one of the programs is covered by the GPL, it has no effect on the other program. Combining two modules means connecting them together so that they form a single larger program. If either part is covered by the GPL, the whole combination must also be released under the GPL—if you can't, or won't, do that, you may not combine them.

What constitutes combining two parts into one program? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged).

If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.

By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.

and from Wikipedia:

if a program consists only of own original custom software, or is combined with source code from other software components, then the own custom software components need not be licensed under GPL and need not make their code available; even if the underlying operating system used is licensed under the GPL, applications running on it are not considered derivative works. Only if GPLed parts are used in a program (and the program is distributed), then all other source code of the program needs to be made available under the same license terms.

So if they included GPL parts in their application, they should release those changes, if they're communicating with those applications they are not forced to.

  • I don't doubt that they have some very clever lawyers reading the GPL :) It's interesting the way they've combined proprietary and open source, and, probably, good for Linux/etc. Thanks for the thorough response. I'm not too familiar with GPLv3, more GPLv2 and GPLv2 with CE.
    – Thufir
    Commented Dec 29, 2016 at 15:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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