QOF Object Generator

Generating new objects for the Query Object Framework is repetitive, tedious and time consuming. qof-generator automates this process in PHP to build a working test program, linked against QOF.

Objects are created from a HTML form using a temporary MySQL cache and exported with Makefile, ./autogen.sh, ChangeLog, README, C source code and doxygen mark-up comments in a tarball built by the PHP code.

The tarball code requires QOF v0.6.0 to build. Currently available from SourceForge. Packages are being prepared for GNU/Linux Debian, Darwin Mac OSX and a sample spec file is available.

 

Method

The test program will provide an environment to query the newly created object, store data in XML and export into SQL files. The project will also support creating the fundamental object code from XML exported by any other QOF project. Sufficient code will be produced by this method to allow data from real objects to be manipulated, re-exported and then imported back into the original program. The software is designed to make QOF objects more accessible, easier to develop and quicker to implement.

Although a lot of features are not yet implemented, there is a test site.


The QOF library is under the GNU General Public Licence

QOF is free software licenced under the GNU GPL, not LGPL. This means that code which requires QOF to run must also be GPL because QOF is not loaded as a module; the test application as it is actually run includes the QOF library and must therefore be licenced under the GPL.
http://www.gnu.org/licenses/gpl-faq.html#MereAggregation
http://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL

The XML output from the generated application is not covered by the GPL:
http://www.gnu.org/licenses/gpl-faq.html#GPLOutput
http://www.gnu.org/licenses/gpl-faq.html#WhatCaseIsOutputGPL
Note that the XML schema IS licenced under the GPL - you may not distribute modified versions of the QSF XML schema without making your schema GPL too.

You are allowed to sell copies of the modified program commercially, but only under the terms of the GNU GPL. Thus, for instance, you must make the source code available to the users of the program as described in the GPL, and they must be allowed to redistribute and modify it as described in the GPL. These requirements are the condition for including the GPL-covered code you received in a program of your own.
http://www.gnu.org/licenses/gpl-faq.html#GPLCommercially

Neither QOF nor the test application can be incorporated into proprietary software.
http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem

This is a deliberate and conscious decision of the QOF developer to make sure that users who get the software get the freedom they should have, and to encourage people to give back improvements that they make. There is no prospect of QOF being relicenced to make it compatible with proprietary software, so please do not ask as the refusal may offend.

The GNU GPL licence is available in the file copying.txt and is included in each test application tarball.


QOF Object Generator is a SourceForge project: (qof-gen).