Source Code


QVD trunk (Open Source Edition) is replicated nightly from our internal development (subversion) server to our GitHub Repository. Note that this is simply a mirror of the code and flows in only one direction, we do not at this time accept pull requests on GitHub. To report any issues found in the Open Source Edition, please use the GitHub issue tracker.

NoteFor existing customers of the QVD, please use the normal support channels.

If you would like to contribute to our project, you will need to sign our Contributors Agreement and we will provide you with direct access to our development repository.


QVD Technology

QVD makes use of a wide range of technologies available under Linux in order to provide a single coherent product. In order to do this, QVD makes heavy use of the Perl programming language to tie different technologies together and to provide an integration framework. Perl is also used heavily in our Layer-7 routing technology that acts as the connection broker and load-balancer within any solution. Our use of Perl not only makes much of the source code accessible to a wide audience of potential developers, but also provides the flexibility to port the product to other platforms.

At the core of any QVD deployment, we rely on a PostgreSQL database to store all configuration and event information. Different components communicate with the database in order to trigger new events or to check the status of other components. PostgreSQL is an open-source relational database management system with a wide user base. Any requirement to change the source-code here can be fed back to the PostgreSQL community.

QVD relies on KVM and LXC in order to provide different virtualization environments within which the virtual desktop facility actually runs. Both of these technologies are fully open source and are under active development. QVD makes use of these technologies to run virtualized environments on each server node. The server nodes are actively managed using QVD composed Perl code to integrate the virtualization software with the rest of the solution.

Inside each disk image that gets loaded into a virtualization environment, the QVD Virtual Machine Agent ensures that client applications can connect to an X-Session using the NX protocol. The core libraries for the NX protocol are provided as open-source software under the GNU Public License by NoMachine.

The QVD Web Administration Tool is built using the Perl Catalyst framework, making it simple to port other Perl administrative functions within the QVD Solution into the Web Administration Tool. Catalyst is an open-source framework available via the Perl CPAN.

With a general awareness of the technologies involved, you can contribute to QVD by either working directly on our own source code or by helping to contribute to any one of the technologies that we make use of.