The FreePBX Source Code
Since FreePBX’s humble beginnings in 2004 it has been committed to the overall General Public Licensing format for all of it’s open source modules. The GPL is a copyleft license, which means that derived works can only be distributed under the same license terms. This is in distinction to permissive free software licenses, of which the BSD licenses and the MIT License are the standard examples. GPL was the first copyleft license for general use. There are several different types of GPL licenses, of which FreePBX uses these three:
Long Term Source History
FreePBX’s history is long and varied just like it’s usage of nearly every successful version control system. FreePBX proudly started out as a CVS repository in 2004 which was migrated to SVN a short time later. In 2014 FreePBX moved to git and is now hosted on http://git.freepbx.org/projects/FREEPBX along with mirrors on http://www.github.com/freepbx
Recent activity can be seen here: http://code.freepbx.org/project/FREEPBX
In a nutshell, FreePBX (https://www.openhub.net/p/freepbx):
One repository per module
Since the move to GIT in 2014 FreePBX has been broken up into individual repositories for each module. This allows developers the flexibility to work on a subsection of the code base instead of having to work on the entire FreePBX code base at one time. The full open source module list can be see in two different locations:
- http://git.freepbx.org/projects/FREEPBX (https://github.com/freepbx)
- http://git.freepbx.org/projects/FPBXCN (https://github.com/FreePBX-ContributedModules)
A place for supported modules and contributed modules
As seen above there are two types of “projects” for FreePBX. One if just called “FreePBX” while the other is called “FreePBX Contributed Modules”. Contributed modules are modules that have been submitted to the FreePBX project but do not have an active developer or publisher. If any of these modules appeal to you then download them and take them for a spin. If you are able to improve on them submit them back to the FreePBX project to help us make it better.
I want to know more!
Great! Have a read on our development wiki to learn more about how to develop and contribute to FreePBX. You can even learn how to easily get in contact with the FreePBX developers through various communication methods: http://wiki.freepbx.org/display/DC/Developer+Corner+Home
FreePBX Manual/Tarball Install
Looking to just download one of the latest FreePBX “tarball” installers to roll your own distribution or update an existing one? Here are the two latest releases ready to install and get going. If this is a brand new install, the FreePBX Distro above is your quickest and easiest way to get a complete “FreePBX appliance” fully installed and ready to configure for your needs.
Installing FreePBX from scratch requires the installation of many prerequisite components. Although there are several pre-configured ISOs available (see above), detailed instructions for several flavors of Linux can be found on the Installation Instructions Page.
Once installed, FreePBX is fully upgradeable in the GUI using the Online Module Administration page to upgrade individual modules as well as the base FreePBX code through the FreePBX Framework Module.