> If Martin would actually tell us the bare minimum information on
> future changes (opcode numbers he uses, or changes to byte code
> formats) then we can match him or at least avoid treading on each
> other toes...
There is a group of opcodes clearly marked as being for GPL developer use in
the opcodes.h include record. As projects are integrated these would be
moved into their final new homes, releasing the opcode for re-use in a new
project.
> ...but so far the response to such information on the QMClient
> system has been negative.
I am unaware of any request. The only aspect of QMClient that we will not
reveal is how it handles encrypted network traffic.
> As we stand we will have to take a look at some Ladybridge code
> I found that seems to show Ladybridge has put traps to prevent
> binary compatibility from Commercial QM to OpenQM.
Odd. I know of no such situation. Can you cite an example? It is contrary to
the commercial licence but we have not done anything specifically to stop
this.
Martin Phillips
Ladybridge Systems Ltd
17b Coldstream Lane, Hardingstone, Northampton, NN4 6DB
+44-(0)1604-709200
Hi Diccon,
> other toes...
> If Martin would actually tell us the bare minimum information on
> future changes (opcode numbers he uses, or changes to byte code
> formats) then we can match him or at least avoid treading on each
There is a group of opcodes clearly marked as being for GPL developer use in
the opcodes.h include record. As projects are integrated these would be
moved into their final new homes, releasing the opcode for re-use in a new
project.
> ...but so far the response to such information on the QMClient
> system has been negative.
I am unaware of any request. The only aspect of QMClient that we will not
reveal is how it handles encrypted network traffic.
Odd. I know of no such situation. Can you cite an example? It is contrary to
> As we stand we will have to take a look at some Ladybridge code
> I found that seems to show Ladybridge has put traps to prevent
> binary compatibility from Commercial QM to OpenQM.
the commercial licence but we have not done anything specifically to stop
this.
> Strange, I can't seem to find anything about that in opcodes.h.
It is clearly commented in the C version of opcodes.h as 16 opcodes starting
at xCFF0.
> In any case, I think what is really meant is that you will share
> the opcodes used when and if you implement new opcodes into
> Commercial QM; otherwise we have to break binary compatibility,
> or reverse engineer the binary format to find out what goes where.
Transfer of object code between the commercial and open source versions is
banned in the terms of the commercial licence, therefore, there is no need
for us to publish the list.
> Essentially we are all hoping that any changes you make to the
> binary structure of OpenQM bytecode you will tell us about so that
> we can at least attempt to keep the GPL version in sync.
The whole point of this long standing "discussion" about open source is that
there should not be two disparate versions. If developers had contributed
submissions back to the mainstream for integration, the GPL source would
always have been up to date. Sadly, this doesn't seem to be how the
community wish to work.
> Unfortunately I don't remember the specifics, but it was a real case
> similar to the hypothetical one above: you changed the way that the
> QMClient processes communicate with each other without letting the
> GPL developers know what the revised protocol was
We reserve the right to add new message pairs that are applicable only to
the commercial version. We have to maintain our own cross-rev compatibility
so we tend to add new features in a way that is backward compatible. There
should not have been a compatibility issue.
> without source code to understand it, we (and by we I mean Diccon)
> had to reverse-engineer the protocol to get the GPL version back to
> compatibility.
That is a clear contravention of the commercial licence.
> There is a comment and some code that Diccon found in kernel.c:
/* Remap functions that are used in the non-GPL version only to become
illegal opcodes. Programs compiled on the non-GPL version and moved
to this version will now report an illegal opcode if they try to use
these functions. */
This is not an incomaptibilty to force problems (even though transfer
between the two systems is against the terms of the licence). By way of an
example, the op_trace opcode that get remapped to being illegal is an
internal diagnostic tool that works only on Windows. There is a similar
remapping in the Linux commercial version. In every case, the remapped
opcodes are either irrelevant to the GPL version (e.g related to licensing
or features not in the GPL version) or platform specific such as op_trace.
So, you're saying that a GPL user can not design an app on OpenQM and
then move to the commercial product once they approve of the stability
and function?
> Martin Phillips
> Ladybridge Systems Ltd
> 17b Coldstream Lane, Hardingstone, Northampton, NN4 6DB
> +44-(0)1604-709200
>
>
GlenB
> So, you're saying that a GPL user can not design an app on OpenQM
> and then move to the commercial product once they approve of the
> stability and function?
No, I am not saying that. There is nothing to stop you moving source code
and recompiling it.