Choosing between Asterisk and FreeSWITCH

Asterisk is by far one of the most well known open source VoIP server products. It has a plethora of features and supports a diverse range of connectivity options, from IP based solutions like SIP to legacy technologies like ISDN and POTS.

FreeSWITCH is a popular alternative to Asterisk, boasting many of the same features, but with a collective ownership model rather than the corporate model that is intertwined with Asterisk's licensing and contributor agreements.

We consider some of the points where they differ. Not every point is relevant in every deployment.

If you are not sure which way to go and if maintaining the soft PBX will not be the primary focus of your job, we suggest using Asterisk because it has official packages but we do not wish to discourage people from considering FreeSWITCH when they understand the issues involved and feel it is the better choice.

Official packages

Asterisk has officially supported packages in many of the popular GNU/Linux distributions. FreeSWITCH does not.

FreeSWITCH users have to use unofficial packages from the FreeSWITCH web site or compile from source code. When packages are made available through an official distribution, like Debian or EPEL, it means they go through a managed release cycle and are subject to a battery of independent tests to ensure the packages don't interfere with any other packages on the same system.

When something is available in an official package, it also means upgrading the operating system (for example, from Debian 7 to Debian 8) should also upgrade the package in a safe manner.

Contributing patches

Many more experienced users of open source software become intimitely familiar with the software they rely on and sometimes they even develop bug fixes or improvements. It can be tedious to test and re-apply such fixes to each new version of a product and so many people in this situation usually want to contribute their fix to the primary source repository for the project so it will automatically be part of all future releases.

Some projects welcome these contributions unconditionally and without any specific legal agreement, ownership of the contribution remains the intellectual property of the contributor and other members of the community are simply licensed to use it.

Some projects ask the contributor to go a step further, giving the founders of the projects some additional rights to include the contribution in commercial products without releasing the source code of the final product.

Finally, some projects go all the way and don't just ask the contributor for a preferential license, they ask the contributor to grant ownership of all intellectual rights in the contribution to the project's founders or some other entity.

Asterisk is in second category, asking contributors to give Digium, the company behind Asterisk, a license to redistribute the contributions under alternative terms. Some projects use this strategy to collect intellectual property rights in a non-profit community foundation but in this case the rights are being granted to Digium, a company with shareholders. Another point of contention is that the agreement is one-sided: it does not contain any commitment by Digium to release future versions of the product under any open source license.

Some contributors are uncomfortable with these contribution terms and some people are unable to make contributions under these terms without violating regulations set by their own employer or funding they receive from public sources.

Licensing

Asterisk is distributed under the GPL while FreeSWITCH is using the Mozilla Public License.

The main distinction between these licenses applied to those users who intend to build their own product around the soft PBX and sell it. The GPL typically requires people in this situation to either publish the source code of any fixes or enhancements or other components they create as part of their overall solution. Digium has a parallel-licensing strategy, allowing people in this situation to pay a license fee and eliminate the obligations of the GPL.

The Mozilla Public License used by FreeSWITCH doesn't involve these issues.

Community

The contributor agreement and the licensing strategy have an impact on the type of community that is forming around each product, especially the community of developers contributing to the products.

Even for users who don't intend to either contribute source code or resell products built from Asterisk or FreeSWITCH, it is important to consider which community is more sustainable in the long term.

Many people have their own thoughts and feelings about this. It may well be that the existence of both competing products with distinct communities is the most sustainable solution for both.

Scalabiltiy and code quality

One of the reasons that FreeSWITCH was founded is because the creators were not satisfied with the design of Asterisk and did not feel that Asterisk would change. FreeSWITCH was written from the ground up to address some of those perceived problems.

One area where such problems exist is in the case of scalability. FreeSWITCH's design is more favorable to large scale operation.

It should be noted that while the designers of FreeSWITCH have chosen to emphasize different priorities and achieved a more scalable solution, Asterisk has involved in other ways and some people feel the range of features Asterisk offers for developing their customized applications is superior and more relevant to them than scalability.