Having invested enormous energy in the Asterisk® and FreePBX® open source communities for a dozen years, it’s always disappointing when commercial interests fundamentally change the direction of open source projects. We witnessed it first hand with the Fonality® takeover of the Asterisk@Home and trixbox® projects many years ago. Today there is no trixbox or Asterisk@Home open source project. Fonality’s business phone systems appear to be thriving thanks in no small part to the customer base they inherited with the buyout of the Asterisk@Home and trixbox projects. Those projects also were responsible for the enormous success that FreePBX has enjoyed in the Asterisk GUI market. The demise of the trixbox project also led to creation of PBX in a Flash™. Unfortunately, history has a way of repeating itself.
As the FreePBX market share continued to increase, we began to hear concerns from vendors that were competing with the FreePBX parent company. First, there were complaints that a competing SIP provider was being barred from distributing a FreePBX-compatible module to their customers for use on their customers’ own servers. Next came complaints from a number of providers that monetary demands were being made for distributing the open source GPL version of FreePBX to customers who had subscribed to Cloud-based hosting services. In FreePBX 2.11 came commingling of commercial modules followed by a locked-in module for their own commercial SIP trunking service. Then, there was the free fax application that mysteriously disappeared to make way for a new $150 commercial application that did much the same thing. More recently, there was the module signature fiasco where Sangoma demanded unrestricted indemnification for its legal expenses in exchange for relaxation of daily email bombardments and nasty security alerts in FreePBX 12 when anyone attempted to install a module even for personal use unless the module was actually developed by Sangoma. And what used to be a publicly accessible collection of modules for each release of FreePBX going back to 2007 has now become hidden from public view with FreePBX 12 and beyond. This isn’t a disk space issue. And these aren’t mere coincidences. It’s a disturbing pattern. Ironically, many of the current FreePBX folks were among the most vocal critics of the commercialization of the trixbox project after the Fonality takeover. But when numerous people raised concerns this time around, one of Sangoma’s lapdogs launched a tirade on Reddit painting us as sufficiently despicable that we probably shouldn’t be trusted with matches…
Ward believes that he can run around, signing modules that attack other peoples machines, and then when we get sued for it he can sit back and laugh. — xrobau a.k.a. Rob Thomas, Sangoma
So how do we find a middle ground that preserves the open source development process and the rights of those using open source GPL products while balancing the legitimate needs of businesses and developers to earn a living? History teaches us that you can’t do it with quasi-commercial products shrouded in open source clothing. There’s simply too much temptation to tilt the playing field in favor of the almighty dollar. This is especially true when a single company has overwhelming market share. When Digium abandoned Asterisk-GUI while signing on as a FreePBX promoter, Sangoma was handed a virtual monopoly in the Asterisk GUI marketplace. Coupling that market dominance with the events documented in the previous paragraph tells you all you need to know about the current state of the open source Asterisk community.
What we believe is needed is meaningful separation between the open source GPL modules that are included in FreePBX and the functionality of the GUI itself which has become increasingly proprietary with the commingling of commercial modules, trademark encroachment claims, the increasingly proprietary FreePBX ecosystem, and now module signatures and obfuscation. Could Sangoma have fixed these issues during the four months they have owned the project? Absolutely. Have they? We’ll let you decide that for yourself.
Truth be told, we’ve actually delayed releasing this article hoping that Sangoma would turn things around. Instead, they’ve chosen to keep things as they are while the rhetoric has become increasingly strident. So, in hindsight, this is long overdue.
Not sure why anyone would want to do it but Sangoma for quite some time has offered a tool to transform an open source PBX in a Flash server into a proprietary FreePBX Distro. Today we’re pleased to return the favor by offering a tool to enhance CentOS, Scientific Linux, and Ubuntu servers running FreePBX 2.11 by returning the project to its roots: (1) providing a public repository of FreePBX-compatible GPL modules, (2) removing the proprietary trademarks from the GUI, (3) eliminating the commercial components from the base product, (4) providing a new update utility for GPL modules that are compatible with FreePBX, (5) and publishing the licenses for all of the materials in Plain English. When you complete the setup, you’ll have the new Incredible PBX GUI platform running all of your existing modules.
Is this a fork of the FreePBX GUI project? We consider it more of a spoon to encourage Sangoma to do the right thing and to assist those that want a truly open source platform on which to build Asterisk servers. Generally speaking, we do not intend to enhance existing modules for FreePBX so, in that sense, this is not a fork of existing FreePBX open source code even though we have used GitHub’s fork utility to make duplicates of some FreePBX components pursuant to the GPL and GitHub’s terms of service. What we’ve done is a reconfiguration of the graphical user interface through the afforded design settings and module components in the product itself to better conform with what we believe is the true spirit of the GPL under which FreePBX is licensed. In the words of the GPL Preamble:
Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users’ freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products.
By its nature, FreePBX is a toolkit that permits customization of Asterisk in numerous ways. For example, you can add extensions, trunks, routes to process calls, conferences, voicemail, and literally hundreds of other features. In addition, FreePBX modules allow sophisticated tweaking of the user interface that is displayed in the GUI itself. For years, we have offered Incredible Backup and Restore utilities that let you take snapshots of your GUI configuration which can be restored whenever and wherever necessary. FreePBX offers a more limited snapshot capability from within the GUI itself.
Today’s Incredible PBX GUI offering is essentially a snapshot of a highly customized FreePBX configuration which can be assimilated into existing FreePBX platforms. DO NOT USE THIS TOOLKIT TO UPGRADE A SERVER RUNNING THE ASTERISK-GUI OR ANY VERSION OF FREEPBX OTHER THAN VERSIONS 2.11 and 12. DO NOT USE THIS TOOLKIT IF YOU HAVE EXISTING FREEPBX COMMERCIAL MODULES YOU WISH TO USE OR PRESERVE. IF YOU HAVE PRECONFIGURED FREEPBX 2.11 OR 12 AND DO NOT WISH TO LOSE YOUR EXISTING SETUP, DO NOT UPGRADE TO THE INCREDIBLE PBX GUI. YOU CANNOT REVERT TO A TRADITIONAL FREEPBX GUI ONCE THIS UPGRADE PROCEDURE HAS BEEN EXECUTED SO MAKE A FULL SYSTEM BACKUP AND TEST IT BEFORE YOU BEGIN.
In order to insulate this new design from future changes that might alter its functionality or compatibility with the original product, we also are deploying an independent repository of the FreePBX open source modules pursuant to the existing GPL licenses. Ward Mundy & Associates, LLC will maintain this repository going forward. Future open source GPL additions to the repository will be screened and tested for compatibility before assimilation. This will not in any way hamper anyone’s ability to add modules of your choice using the existing module import capabilities of the product. Whether the imported modules are open source, closed source, proprietary, or commercial is your call so long as your use or redistribution of them conforms to the terms of the GPL. We would offer the same advice we give to those setting up a salt water aquarium for the first time. Build two separate systems so that you have one on which to test new modules before introducing them into your production machine. With tools such as VirtualBox and inexpensive cloud offerings such as Digital Ocean, CloudAtCost, and IP Systems LTD, building a secondary server is a 30-minute task. Of course, for production servers in the cloud, we continue to recommend our Platinum sponsor, RentPBX.
Will existing distributors of commercial modules modify them in such a way that they no longer function with today’s release? Unfortunately, that is a question that only the commercial providers can answer. Suffice it to say that every crippled module becomes a lost sale, but that is their call to make. What we can tell you is that both Incredible PBX and its snapshot of the Incredible GUI facelift are released as open source code for others to use or modify without restriction and subject only to the terms of the GPL license with no trademark restrictions or other gotchas on redistribution.
As time permits, we will further enhance the Incredible GUI installer to support PIAF-Green with Incredible PBX 11 as well as the standalone flavors of Incredible PBX 11 running on the Debian and Raspbian small hardware platforms.
A Word to the Wise. We shouldn’t have to cover this, but we will anyway. As someone who has been involved in software development for over 30 years, we stand ready to make any necessary tweaks to this release to address bugs or any proprietary components that may have inadvertently crept into the code base by virtue of loading pure GPL software of others. All affected parties know how to get in touch with us either by email or phone. As both a lawyer and a member of a family with a healthy collection of litigation attorneys, we also are fully prepared to play hardball if that is the path others wish to pursue. It won’t be without additional consequences. Potential adversaries would do well to take a history lesson from a really Good Book and then review their own previous conduct and our litigation history as part of any cost/benefit analysis. As one who has dealt with difficult situations throughout a lengthy legal and administrative career, suffice it to say we also have taken steps to document our design and to spread that design and accompanying tools, the repository, and all remaining open source components far and wide in the event alternative distribution methods become necessary. Capiche?
Getting Started with the new Incredible PBX GUI
Now you’re ready to begin the install. Continue reading the installation tutorial here.
Originally published: Friday, May 15, 2015
Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a terrible place to handle support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forums. It’s the best Asterisk tech support site in the business, and it’s all free! Please have a look and post your support questions there. Unlike some forums, ours is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of users just like you. You won’t have to wait long for an answer to your question.
Need help with Asterisk? Visit the PBX in a Flash Forum.
Special Thanks to Our Generous Sponsors
Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For our users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage. Any balance is refundable if you decide to discontinue service with Vitelity.
3CX is a software PBX that’s easy to install & manage. It includes integrated softphones, WebRTC conferencing and essential add-ons out of the box, at no additional cost. Try the free edition at www.3cx.com. Better yet, download the PIAF5 ISO powered by 3CX. Free version includes support for 8 simultaneous calls with a SIP trunk.
Some Recent Nerd Vittles Articles of Interest…