rdesktop: Fascilitating plugins as external processes

Malcolm Bain mbain at legistics.net
Mon May 8 17:57:18 CEST 2006


Hi Ilya

A small note on Iain's comment, and this list on gpl-violations may not 
necessarily be the best place to discuss this (yet again..). 

I may be splitting hairs here, but it is important to note that what a 
technical person may call a "separate" work is not necessarily what a 
judge would consider.... As has been said in many times, the copyright 
law test for derivation/collective works does not necessarily have 
anything to do with "linking" (unfortunately? probably not - there are 
too many ways to "link"). While fork/exec may often draw a "boundary", 
it may not be the test used by the relevant court to define the limit 
between two works and therefore divide what is "GPL" from what "does not 
have to be under the GPL". (The fork/exec bounday is one that is used by 
FSF - I understand - to determine this boundary, as is commented in the 
link given by Iain below.)

If the plug-in can be shown to be a derivative work of (any) GPL code 
(in the legal meaning of "derivative": adaptation, transformation, 
modification... which can vary depending on your jurisdiction) - or, to 
a certain extent, a collective work including parts of (any) GPL code 
(again, a jursidiction specific problem), then it will fall under the 
GPL, whatever its "link" with other (GPL) code is.

So your question seems to (should?) be (from a legal point of view): If 
you want to allow plug-ins to avoid falling under the GPL of the main 
work, does the workaround prevent them from being considered derivative 
works of the GPL code (under the laws of your country, generally 
speaking)? Fork/exec communication may be - strong? - evidence of this, 
but not necessarily conclusive....

Trying to understand your other questions: a few thoughts:
-- There is no difference between platforms and plug-ins from a legal 
point of view - they are all lines of code (instructions) and therefore 
computer programs (at least, as far as EU law goes). A judge would 
normally look to see if B (plug-in) is a derivative work of A (rdesktop) 
- or collective work including A-, regardless of what "type" of programs 
they are.
-- L Torvalds excludes from GPL effect (his interpretation) programs in 
"user space" that use standard system call interfaces - which I don't 
find very helpful either. And when you have a stack (e.g. LAMP), where 
does the platform stop and the program start? Does rdesktop project want 
to make a similar statement about "rdesktop" as a platform (and its GPL 
license) such that "plug-ins using YYY communication method" will not be 
considered (by the rights holders of rdesktop - if you can pull that one 
off) as a derivative work of the main code....
-- One situation I can think of is if both "works" A and B (to avoid the 
work program, library or plug-in) are distributed together "as part of a 
whole" - regardless of whether they can be considered separate programs 
- then it all goes under the GPL (see section 2).... "But when you 
distribute the same sections as part of a whole which is a work based on 
the Program, the distribution of the whole must be on the terms of this 
License, whose permissions for other licensees extend to the entire 
whole, and thus to each and every part regardless of who wrote it." 
(Good luck applying that to your scenario! :-) ). I.e make sure the 
plug-ins are distributed separately...

G'Luck
Malcolm (TINLA, of course)


> -----Original Message-----
> From: legal-bounces at lists.gpl-violations.org
> [mailto:legal-bounces at lists.gpl-violations.org]On Behalf Of Ilya
> Konstantinov
> Sent: Monday, 08 May, 2006 07:10
> To: legal at lists.gpl-violations.org
> Subject: rdesktop: Fascilitating plugins as external processes
>
>
> Hi,
>
> Recently we've been having a legal discussion in the rdesktop (client to
> Microsoft Remote Desktop) project and I was hoping for the input of this
> group.
>
> Technical background:
> In the Microsoft Remote Desktop protocol, there's support for third
> party vendors channeling their specific data over the remote desktop
> channel ("Virtual Channels"), e.g. Smell-o-vision Ltd. can write a
> plugin that'll sit in Microsoft's Remote Desktop client and receive
> smell data via a special channel in the Remote Desktop connection.
>
> One contributor has introduced a patch which allows such vendors to
> write such plugins for rdesktop:
> https://sourceforge.net/tracker/?func=detail&atid=381349&aid=1472969&group_id=24366
>
> Naturally, since rdesktop is GPL, the issue of the plugins being 
> non-free was risen. (Yes, the original contributor is employed by such a 
> vendor, but that's a minor detail.)
>
> A workaround was proposed, whereas the plugins won't be shared libraries 
> but forked processes communicating through a well-defined protocol.
>
> Though it's clear to me that, in principle, non-free software is not in 
> my best interests, I'm wondering about the legal side of it.
>
> Questions:
> 1. Is fork-exec really a workaround for shared libraries? Isn't that 
> just a technical detail? If so, wouldn't that be a huge loophole in the GPL?
> 2. Whether external process or shared library, is this even illegal 
> under the GPL? Is this case "rdesktop is a platform and the plugin is a 
> program", in which case the GPL will allow it?
> Or is similar to as if rdesktop is an "SSL library" and the non-free 
> plugin is the "HTTP server", where the HTTP server has to be free to use 
> a GPL'd SSL library?
>
> I'll appreciate any feedback.
>   



More information about the legal mailing list