[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Licensing and the client/server divide [was Re: License formixminion dist]



On Tue, 2002-04-23 at 18:05, Zooko wrote:
> 
> > To clarify again, I'm proposing that the server be GPL'd, and that the
> > client code be LGPL'd or BSD'd.  Code shared between them should be
> > LGPL'd or BSD'd.  By definition, server code will be the code you don't
> > need to link to in order to send/receive messages.
> 
> Sorry if I'm being obtuse, Nick.  The thing is, I envision all this as running 
> in a single instance of the Python interpreter (except possibly with some 
> third-party code acting as a client through a C API -- such code would get 
> dynamically linked to the Python interpreter). 

Ah!  No, I envision it differently.  The server runs under a Python
interpreter of its own, and communicates via sockets, disk spools, and
other mechanisms with the applications that want to use it.

Here's why.  If everything runs under the same interpreter:
  1. All these applications need to be written in Python, which would
(IMO) cut down on our userbase. We can't expect Ximian to rewrite
Evolution for our benefit, or expect that everybody else will love
Python as much as we do.
  2. A faulty client application shouldn't be able to take down the
server; protected memory is a good thing.
  3. A server must be written in a more security-minded way [see mlock]
than the applications that use it necessarily do.

>                                               If *any* of the Python code 
> running in that interpreter is GPL'ed then any application that (dynamically)
> links to the interpreter is covered by its terms, right?  Even if it doesn't 
> invoke any of the Python functions that are defined by the Work that is GPL'ed.

I believe your understanding of the GPL is correct here.

-- 
Nick