VoIP developers may license our Zfone libZRTP Software Development Kit (SDK) to add Zfone's ZRTP protocol to their VoIP applications. The Zfone libZRTP SDK is offered under two different licenses: a commercial license for commercial developers, and the GNU Affero General Public License (AGPL) version 3 for Open Source developers. Here's how this dual-licensing model works.
For Open Source Projects:
If you are developing and distributing Open Source applications under the GNU Affero General Public License (AGPL), or the GNU General Public License (GPL) then you are free to use the Zfone libZRTP SDK libraries under the GNU AGPL License, version 3. The formal terms of the AGPL can be found embedded in the source code file zrtp_legal.c in the Zfone libZRTP SDK source distribution package. Any software that uses code under a AGPL is itself subject to the same AGPL licensing terms.
AGPL is just like GPL, but more onerous. The GPL obligates you to distribute your own precious source code if you distribute binaries that use the Zfone SDK. The AGPL goes further, obligating you to make available to everyone your source code if you are using it on a network server for Software-as-a-Service (SaaS) or as an Application Service Provider (ASP). For example, if you are running a PBX on your server, to provide VoIP services, you would have to give away all of your source code.
For licensing the Zfone libZRTP SDK under alternate terms, so that you can use it without your own product becoming infected with the obligations of the AGPL, you should contact us to purchase a commercial license.
Note that only the libZRTP SDK libraries are provided under the AGPL. The parts of Zfone that are not part of the libZRTP SDK libraries are not licensed under the AGPL or any other Open Source license. Even if the source code of those components is published for peer review, the copyright status of those components remains proprietary. This should not be a problem for developers who wish to include the ZRTP protocol in their GPL'ed or AGPL'ed products, because they will likely only need the libZRTP SDK libraries to integrate into their products. The rest of the Zfone software is not needed if you just want to add the ZRTP protocol to your VoIP application.
If you license the Zfone SDK under the AGPL, we recommend you contact us to ensure interoperability of your products with other ZRTP-based products such as ours. Also, there may be opportunities for partnerships and co-marketing.
Under the AGPL, you must release the complete source code for the application that is built on the Zfone SDK, even if that application is running on a network server for SaaS purposes.
When in Doubt
If you're not sure which license applies to you, or you have any questions about licensing, please contact us to explore the options available for your specific scenario. Keep this principle in mind: Unless you want to have all of the software you write be freely available to everyone, you should consider a commerical license. Further, if our software makes money for you, we would like to be paid too. Hence, our commercial license.
For Commercial Developers:
By contrast, our commercial license is designed to be extremely flexible and accomodating to you.
The Commercial License is an agreement with Zfone for organizations that do not want to release their application source code. Commercially licensed customers get a commercially supported product with assurances from Zfone. Commercially licensed users are also free from the requirement of making their own application Open Source.
Typical examples of Zfone distribution include:
- Selling software that includes Zfone SDK software to customers who install the software on their own machines;
- Selling software that requires customers to install the Zfone SDK on their own machines; or
- Building a hardware system (such as a phone or a PBX, for example) that includes the Zfone SDK and selling that hardware system to customers for installation at their own locations.
- If you include the Zfone SDK with an application that is not licensed under the AGPL or GPL-compatible license, you need a commercial license for the Zfone SDK.
- If you develop and distribute a commercial application and as part of utilizing your application, the end-user must download a copy of Zfone or the Zfone SDK; for each derivative work, you (or, in some cases, your end-user) need a commercial license for the Zfone SDK libraries.
AGPL users have no direct legal relationship with Zfone. The commercial license, on the other hand, is Zfone's private license, and provides a direct legal relationship with Zfone.
- To all commercial and government organizations, we recommend the commercial license. This frees you from the broad and strict requirements of the AGPL license.
- To all free software enthusiasts we recommend the AGPL license.
- To anyone in doubt, we recommend the commercial license.
Frequently Asked Questions about our licensing policy
Q: What is Zfone's software licensing model?
A: Zfone uses a "dual licensing" business model. Under this model, developers may choose to use the Zfone libZRTP SDK libraries under the free software/Open Source GNU Affero General Public License (commonly known as the "AGPL") or under a commercial license.
With the AGPL license, the Zfone libZRTP SDK libraries are available free of charge, under certain conditions. Developers may download the SDK software for free and modify, integrate, and distribute it with their own GPL'ed or AGPL'ed products. However, AGPL users must abide by the rules of the AGPL, which stipulate that if a Zfone-based application is redistributed, the complete source code for this application must also be open and available for redistribution. Further, if you are only running your own software on a server for SaaS purposes, you still need the commerical license unless you publicly distribute all your source code.
Note that only the libZRTP SDK libraries are provided under the AGPL. The parts of Zfone that are not part of the libZRTP SDK libraries are not licensed under the AGPL, the GPL, or any other Open Source license. Even if the source code of those components is published for peer review, the copyright status of those components remains proprietary.
Zfone offers a commercial license for organizations that do not want to make available to everyone the source code for their application. Commercial license customers get a commercially supported product with a level of assurance from Zfone, without the requirement that their Zfone-based software must be "Open Sourced". Zfone is able to provide a commercial license because it has full ownership of the Zfone code.
Zfone's dual licensing increases freedom in two ways: first, it encourages the growth of free software by licensing the Zfone SDK under the AGPL; second, it makes it possible to use our software in situations where the AGPL is not applicable.
Q: What do you mean by Dual Licensing?
A: "Dual licensing" means that the same code is released under two different licenses. Zfone's dual licensing model is based on the principle of fair exchange, Quid pro Quo, "something for something." If you are using the Zfone SDK commercially - that is, for creating proprietary software for sale or use in a commercial setting - you must purchase a commercial license from Zfone. If our software makes money for you, we would like to be paid too. Alternatively, if you wish to write Open Source software you can use the Open Source version of the Zfone SDK, released under the AGPL. If you use the Open Source version you must release your application and complete source code under the AGPL as well. This model has proven successful for a number of leading companies such as mySQL and Sleepycat.
Q: Is the Zfone application available under the GPL or AGPL?
A: No. Zfone is a complete software application for end users that showcases the libZRTP SDK. Our libZRTP SDK is a subroutine library for developers that implements the ZRTP protocol, and is available under the AGPL. But the rest of the Zfone application, which is not part of the libZRTP SDK, is not licensed under the AGPL, the GPL, or any other Open Source license.
Q: If this package is Open Source, why do you present an End User License Agreement before the download?
A: Because you are downloading the whole Zfone application, not just the libZRTP SDK. Remember that the rest of Zfone is not covered by the AGPL. Only the SDK is covered by the AGPL.
Q: How do I know which license to use?
A: The overall guiding business principle of Zfone's dual licensing is one of fair exchange or Quid pro Quo. If our software makes money for you, we would like to be paid too.
So if you use the Zfone libZRTP SDK with AGPL-licensed software (or a license that is GPL-compatible) we encourage you to use the AGPL license. For all other users of Zfone or the Zfone SDK, we recommend that you purchase a Zfone commercial license.
Q: Is the Zfone SDK available for non-GPL Open Source applications? How about the BSD license?
A: The Zfone SDK is not currently available under a blanket FLOSS (Free/Libre/Open-Source Software) exception for non-GPL or non-AGPL FLOSS applications. But if you need it for that, contact us anyway. We can probably work something out to meet your Open Source licensing needs on a case-by-case basis.