Starting with version 3.1, the QCAD source code is distributed under the open source license GPLv3 with exceptions to allow proprietary extensions.
The QCAD source code also contains 3rd party libraries and various resources which are distributed under their respective licenses. For a complete overview of the various licenses involved, please refer to the LICENSE.txt file.
In a Nutshell
The QCAD Community Edition
The QCAD Community Edition is everything that can be downloaded from our public git repository at github.com/qcad/qcad.
The QCAD Community Edition is distributed under the GPLv3 with exceptions to allow commercial plugins and script extensions.
QCAD Professional consists of the QCAD Community Edition with various additional, commercial (proprietary) plugins to provide support for the DWG format, improved support for various DXF format versions, improved support for splines and polyline and various other tools and improvements.
The GNU General Public License (GNU GPL or GPL) is the most widely used free software license. It guarantees end users (individuals, organizations, companies) the freedoms to use, study, share (copy), and modify the software. Modifications and additions made to the software must generally be distributed under the same license.
QCAD is distributed with an optional set of exceptions which extend the freedoms granted by the GPLv3.
These exceptions allow us (as well as any other organizations and individuals) to distribute commercial, proprietary plugins or scripts together with the open source QCAD package.
For example, we distribute the software product called 'QCAD Professional' which contains the QCAD application under GPLv3, bundled together with proprietary extensions as outlined above.
Extending and Distributing QCAD
Extending and Distributing the QCAD Community Edition
To develop open source or commercial/proprietary plugins or script add-ons for QCAD, you don't require any special developer license. Your plugins and add-ons may be distributed together with QCAD, under any license you choose (see GPLv3 exceptions). You may for example distribute the QCAD Community Edition (under GPLv3), together with your own, proprietary plugins and charge the end user a license fee of your choice. Such a package must contain the GPLv3 license file as well as the GPLv3 exceptions file.
Any modifications and additions which are made to the QCAD source code itself may only be redistributed under the GPLv3 (optionally with exceptions). Note that such direct modifications are usually not necessary, since almost all aspects and tools of QCAD can be easily extended or modified through plugins and script add-ons.
However, if you for example discover and fix a bug in the QCAD source code or port the QCAD source code to a new platform, those changes must be distributed under the GPLv3 (optionally with exceptions).
Extending and Distributing QCAD Professional
Any QCAD Professional license holder may create script add-ons or C++ plugins for use with their QCAD Professional installation. Such script add-ons and plugins for QCAD Professional may be distributed separately, under any license of choice.
If you wish to base your plugin, add-on or an entirely new product on QCAD Professional, thereby leveraging QCAD Professional functionality (by inheriting your classes on classes only available in QCAD Professional), you can do so with a QCAD C++ Libraries license. QCAD Professional contains proprietary professional tools, DWG support and extended DXF support. A detailed list of all features is available on our web site at: http://qcad.org/en/qcad-documentation/qcad-features (features provided by QCAD Professional extensions are highlighted in italic). If your extensions only make use of the open QCAD API (recommended), you do not require a QCAD C++ Libraries license.
A QCAD C++ Libraries license gives you access to the source code of our proprietary plugins and script add-ons (QCAD Professional tools, Teigha DXF/DWG plugin) under the QCAD Libraries license agreement. Your own script classes might use and leverage functionality from our QCAD Professional classes and scripts (e.g. through inheritance).
DXF/DWG Support (Teigha)
QCAD Professional comes with a plugin for DWG and extended DXF import/export functionality. This plugin uses the Teigha libraries from the OpenDesign Alliance. In most cases, you can simply use and redistribute (see Royalties) the compiled plugin as provided in our QCAD packages. The plugin is available for Windows 32bit/64bit, macOS 32bit/64bit and Linux 32bit/64bit.
If you own a QCAD C++ Libraries license, you may alternatively use the plugin sources to compile the plugin against your own Teigha license.
If you only need basic DXF support, you can also use the dxflib library which is a part of the QCAD C++ Libraries license as well as the open source version of QCAD.
If your end product contains portions of QCAD Professional and you wish to distribute it, you have to purchase licenses from us for resale. In this case, you are becoming a reseller of QCAD Professional and purchase the number of licenses required from us with a reseller discount of typically about 5-25%, depending on the number of licenses distributed.
If your end product is significantly different from (i.e. does not compete with) QCAD Professional and you own a QCAD C++ Libraries license, you may distribute the end product under your own license terms, royalty-free. This is for example the case for a command line tool or an application that only uses the graphics views and DXF/DWG support of QCAD Professional but not the typical QCAD Professional user interface and tools.
You can also choose to distribute your plugins and script add-ons as a separate product without QCAD Professional and leave it up to the user to purchase and maintain their respective QCAD Professional licenses. In that case, no royalties are required to be payed to RibbonSoft.
An end product that consists of QCAD and proprietary plugins or script add-ons must not be distributed under the name 'QCAD' or 'QCAD Professional'. Instead, you can choose your own product name. You may mention in the product documentation or about dialog that your product uses QCAD technology.