[Zope-dev] ZPL and GPL licensing issues

Jim Penny jpenny@universal-fasteners.com
Wed, 20 Jun 2001 13:12:20 -0400


On Wed, Jun 20, 2001 at 06:27:08PM +0200, Erik Enge wrote:
> On 20 Jun 2001, Federico Di Gregorio wrote:
> 
> > i am sure that the QPL and the ZPL are completely incompatible but
> > nobody cares because nobody really thinks that one is better than the
> > other...
> 
> I might be misunderstanding here, if that's the case I appologies.
> 
> Just to clarify, for us at Thingamy (and I'm quite sure this is the real
> case behind the license issues) it comes down to business-issues.  I do
> very much care whether or not I can use a GPL Zope Python Product with my
> ZPL/TPL Zope Python Product.  If I can't, and someone tells me I need to
> relicense my product as GPL it would be very bad.
> 
> An example could be if I had application G, Z, P.  G is a GPL'ed Zope
> Python Product, Z is a ZPL/TPL Zope Python Product and P is some
> proprietory stuff I developed for my client.  Now, if the proprietory
> application P interacts with my Z application and Z needs to become GPL,
> then that would/could require the proprietary stuff I did for the client
> to become GPL as well.
> 
> Then, I get hell.  If the client has to disclose their business
> trade-secrets, the stuff that really makes them them, I'd be sued so hard
> I'd see stars for another three decades :)
> 
> Or am I wrong (I'd absolutely love to be!)?

As far as I can tell you are wrong, but there are certainly gray
areas.  The last time this came up I wrote such a scenario up and 
tried to get FSF clarification.  Nothing ever came back.

The questions arise from the sections around the "mere aggregation"
paragraph.

Quoting:
  These requirements apply to the modified work as a whole.  If
  identifiable sections of that work are not derived from the Program,
  and can be reasonably considered independent and separate works in
  themselves, then this License, and its terms, do not apply to those
  sections when you distribute them as separate works.  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.

  ...

  In addition, mere aggregation of another work not based on the Program
  with the Program (or with a work based on the Program) on a volume of
  a storage or distribution medium does not bring the other work under
  the scope of this License.

It appears to me, that, if you want to play it safe, you would 
not distribute the code under license G and license T on the same
medium.  It is certainly acceptable to call code released under
license G from code released under license T; but it is not clear
that you can do subclassing and such.

But, I think that if you clearly make sure that your programs are
identifiable stand-alone objects that invoke a GPL'ed program
via an API that could be (in principle) be reimplemented in by
a non-GPL program, you are fine.  

However, if you must modify the GPL program for your license T
program to work, make sure that you keep these modifications cleanly
separate.  (And feed them back upstream if at all possible).

But, 
http://www.fsf.org/copyleft/gpl-faq.html
has a lot of information.  Especially note the sections titled

Can I use the GPL for a plug-in for a non-free program?
What is the difference between "mere aggregation" and 
  "combining two modules into one program"?
and 
I'd like to incorporate GPL-covered software in my proprietary system. 
  Can I do this?

Something like Zope is a nightmare for GPL legalists.  Zope pre-exists
and is not GPL.  GPL plug-ins exist, but aren't at "arms-length" to
the extent of fork-and-exec.  Nevertheless, I find it difficult to
conceive that any author of a GPL plug-in is going to object to your
_using_ it.  The question is going to arise when you _extend_ it.

But be careful to read licensing of each package.
For example, Jerome Alet, author of ZShell has a somewhat stronger
position concerning his code.
See
http://cortex.unice.fr/~jerome/zshell/LICENSE

Also, as an aside, if this really concerns you, you might wish to
consider contacting the author of the GPL product.  There is nothing
to prevent him from giving you different licensing terms.  For
most GPL authors, this comes down to a simple question:  "Are
you trying to be excellent unto them", or are you trying to
"use slash and burn agriculture".  If you are using, improving,
giving feedback, writing documentation, helping publicise, or
otherwise aiding them, they are likely to cut you a bit of slack.
If you see the author as someone you can simply take advantage of,
he is not so likely to cooperate with you.

Jim Penny

> 
> 
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev@zope.org
> http://lists.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists - 
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope )
>