A review of the GPL seems to make it pretty clear to me,
and I have a new respect for it. My problem is as follows:
Jtrix is an LGPL'd platform, so can I run GPL'd code on it
as a
Jtrix service?
To recap on definitions: a Jtrix service like a
library-on-demand.
Kind of like a Web Service, but you get local code plus
remote
access to bigger system (whereas Web services is just remote
procedure calls).
If I want to write a GPL'd Jtrix service then the core code
is
GPL'd and the interface (giving the client access to it) is
also
GPL'd. A client has to include my interface in their code,
and by
the nature of the GPL their code also has to be GPL'd.
But I can release the interface under the LGPL, too,
so the interface is covered by two licences. Then a client
can include the interface in their code, without having to
GPL their
code.
This last case might sound silly, but it makes sense if my
Jtrix
service is really a stand-alone GPL'd application plus
additional
code to make it a Jtrix service. Also, the interface could
be
a front-end to other, proprietary, services which do the
same thing. In fact, such an option would have to be
available,
because the client's program would have to work with
non-GPL'd
Jtrix services. If it didn't, then it would have to be
distributed
with the GPL'd service, and that would be a violation.
So in summary Jtrix really does run like an operating system
(all the above is independent of Jtrix's licencing, in the
same
way that you can run a GPL'd program on a proprietary
operating
system) and the GPL continues to protect a program's author
if they choose to apply it throughout their system, or just
in
the places where they want to be protected.
Phew!