- Last Updated on Wednesday, 07 May 2014 07:30
- Published on Thursday, 05 December 2013 11:30
- Written by Andrew Mustun
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.
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.
As an example, we distribute a package called 'QCAD Professional' which contains the QCAD application under GPLv3, bundled together with proprietary extensions:
- Additional, proprietary, closed-source tools which are only available in QCAD Professional
- DWG read/write support and extended DXF read/write support through the proprietary OpenDesign Teigha libraries
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 open source portion of QCAD (under GPLv3), together with your own, proprietary plugins for 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, 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).
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 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, Mac OS X, Linux 32bit and Linux 64bit.
If you own a QCAD C++ Libraries license, you may alternatively use the plugin sources to compile the plugin with 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 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 25%.
If your end product is significantly different from 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 and leave it up to the user to purchase and maintain their respective QCAD 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.