Subject: Re: Assistance/advice in choosing a license for POV-Ray 4.0
From: Chris Cason <ccosilist@povray.org>
Date: Mon, 14 Nov 2005 16:16:02 +1100

Rod Dixon, J.D., LL.M. wrote:
> "Must be no..." does not quite acknowledge that the answer is not 
> well-settled (at least in the United States).   

I was worried someone might say that :-(

Frankly, despite the fact that it technically would suit our project from
a license point of view if it were, I really would not like to see this
become case law, mainly because of the can of worms it would potentially
open.

> We should be careful to acknowledge that your question potentially covers 
> two distinct works: the modification and the program generated by linking.  
> Regarding the former, attention to the linking issue is an unnecessary 
> distraction.  
> 
> If a contributer creates an original work on the basis of rather trivial 
> use of the covered open source program, it probably will be irrelevant how 
> this is done (that is, whether by static or dynamic linking) as far as the 
> open source licensor's copyright interests are concerned. 
> 
>  Regarding the latter - - the program generated by dynamic  linking - - I 
> agree that it is unlikely that the result will be a derivative work, but 
> the answer depends upon a fact-intensive analysis of what is created by the 
> linking.

One circumstance we need to look at is the case where there is no
modification. Suppose in the future there is a standard libpov.so which
is either present by default on a wide range of *nix-like systems (which,
BTW, is something I would like to see happen), or can be trivially
installed (e.g. under FreeBSD potentially I could just type 'pkg_add -r
libpov', or something similar). Let's also say for the sake of example
this library is LGPL'd.

Suppose someone releases a commercial CAD program that depends on this.
There is no need to ship libpov with the app since if it's not there, the
end user either installs it themselves, or a sufficiently smart installer
could auto-fetch the dependency and install it (in fact the FreeBSD ports
system can do exactly this).

In the above case it appears to me there is no requirement on the vendor
to acknowledge in any way whatsoever the use of libpov*. On the windows
platform the same could apply; the installer could just download an
official binary from e.g. our site and off they go.

I note of course that this is already physically possible, in that it's
feasible for an installer to download the Windows version of POV-Ray, and
once installed, for an application to generate renders via command-line
parameters or sending windows messages. Provided the POV installer is not
bypassed, the user has to accept our license, which makes them aware they
are getting a free app, which is good.

However if the vendor's installer bypasses our installer (e.g. by
directly extracting the files, or just hitting 'ok' automatically in each
dialog), it is unclear to me who is responsible. The user has some IP
on their system for which they have not been granted a license and for
which they have not paid (meaning that in most places, they have no
common-law rights to use it, though IANAL so take that with a grain of salt).

If they fire up their CAD program, and the CAD program unbeknownst to
them fires up POV to do renders, who is actually responsible for
'running' the unlicensed software ??? Who is responsible for installing
it in the first place ? It seems to me that legally it may be the end-
user who did the CAD app install, which is probably not the most
desirable outcome from my point of view (though if that is the case, then
at the very least there is an argument that the vendor may have induced
any violation for which the end-user is held responsible, which isn't
likely to make them very popular with their customers).

While the above may seem hypothetical, I can say we have recently been
faced with this exact situation. And it could easily be applied to just
about any other software that has an API that can be accessed without
static linking - from a shared library with a formal exported API to an
executable that takes command-line parameters.

(To make things even more convoluted, under Windows, at least, there is
no practical difference between a DLL and an EXE. Both use an identical
file format and it is entirely possible to load and manipulate an EXE as
if it were a DLL).

I've put a fair bit of thought into the issue of third-party execution of
a POV binary (be it EXE or DLL) over the years and frankly I have yet to
come up with a clean way of solving the generic problem that this poses
with respect to intellectual property ... if there is a legal way for the
code to end up on the target system it appears all bets are off from that
point (I really hope someone will pop up and show me I'm wrong here ...)

> For reference: take a look at a couple of cases like  Lewis Galoob Toys v. 
> Nintendo and/or Microstar v. Formgen. 

I will look these up.

thanks,

-- Chris

* from a purely personal point of view, if libpov were a fairly standard
  library, lack of acknowledgement on the part of apps using it on
  FOSS platforms would not bother me nearly as much as if it happened
  on windows ... I guess this is mainly due to the fact that for example
  GNU/Linux is built on so much free software, that it's almost a given
  that any app running on the OS is going to depend on a whole bunch
  of work by folks who get little or no credit, if for no other reason
  than it's not practical to specifically credit them all in an about box
  or copyright notice.