- Last Updated on Thursday, 07 November 2013 16:25
- Published on Friday, 14 June 2013 10:22
Contributing to QCAD
QCAD is free open source software. This means that everyone can get involved and contribute to make this project even better.
The source code of QCAD is hosted on github at: https://github.com/qcad/qcad/
This includes documentation sources, translation sources, icons, etc.
One of the most comfortable ways to contribute is to create a pull request through github.
Every user of QCAD has the freedom to download the QCAD source code and modify or extend it. Such modifications are then usually contributed back to become a part of QCAD or an optional add-on for QCAD.
Add-ons are often developed by QCAD users to solve a particular problem at hand. A user might for example want to create an add-on to QCAD to draw some type of complex line pattern between two points. There's a good chance that there are other users our there, who could benefit from the same add-on, so the user decides to share this add-on under an open source license. Another user might start using that add-on, modify and improve it and share it back. Now the first user also benefits from the update made by the second user. This is the spirit of open source software development.
The core of QCAD is developed in C++. To extend QCAD using C++, a plugin interface is available which can for example be used to provide access to external C / C++ libraries, to register new script classes and functions, etc. A C++ plugin should be developed if your add-on depends on an existing external C or C++ library or if performance is crucial.
Testing and Feedback
If you would like to try out the latest and greatest new features and help with testing and feedback, please check out the current development version. You will need a compiler to compile the QCAD source code. Detailed compilation instructions are available for Windows, Mac OS X and Linux systems. Other systems such as Solaris, FreeBSD, etc. are likely to work as well but are not officially supported at this point.
Documentation and Translation
Each QCAD script add-ons is bundled in a separate directory with its documentation in the 'doc' subdirectory (e.g. 'scripts/Draw/Line/Line2P/doc'). Documentation can be added as HTML snippets named after the tool and language the documentation is in (e.g. 'Line2P_desc_en.html' for a description of the tool in English and 'Line2P_proc_de.html' for the procedure to use the tool in English).
These HTML snippets can be compiled into the complete user reference manual which is available on our web site at http://www.qcad.org/doc/qcad/latest/reference/en/.
The user manual is most complete in English, German and Japanese but other translations can be added as well.
User Interface Translation
The user interface of QCAD can be translated using the Qt internationalization tool chain (lupdate, linguist and lrelease). Script add-ons are bundled with their translations in their local subdirectory 'ts'.