[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: I really don't know where to post this. GPL License question
From: |
Tim Smith |
Subject: |
Re: I really don't know where to post this. GPL License question |
Date: |
Mon, 14 Jan 2008 23:27:48 -0800 |
User-agent: |
MT-NewsWatcher/3.5.3b2 (Intel Mac OS X) |
In article
<b4ba3b74-743d-4e81-9e5e-fc98c86fa4e3@q77g2000hsh.googlegroups.com>,
Spenceee@gmail.com wrote:
> Our application, (the client part) has a list of documents in it,
> which the users can double click. We would like the double click to
> open a piece of software (currently a hosted adobe reader, which is
> slow, terrible and has a multitude of issues), and replace this with
> the GPL sumatra code. Our application would "launch" the GPL code
> section, but do nothing else than use it.
Depends on what you mean by "launch". If you have a PDF file, say,
foo.pdf, that you want to display, and the GPL code is in an EXE file
separate from your program, say, pdfreader.exe (which doesn't contain
any of your code), and you call CreateProcess to create a new process
running pdfreader.exe, with an argument to open foo.pdf, then
pdfreader.exe being GPL does not impose any license requirements on your
program. This is an example of what the GPL calls "mere aggregation".
If, on the other hand, you mean that you might take the display code
from the PDF reader, and put that code IN your program, so it is just a
subroutine you call, then you are going to have to put your code under
GPL.
In between would be turning the PDF reader into a DLL that you can call.
Whether this makes your program subject to GPL or not is a matter of
some disagreement. So I'd recommend avoid it.
Just go with using the EXE file as it is distributed at
<http://blog.kowalczyk.info/software/sumatrapdf/>
and then you are in territory where this is pretty much no disagreement.
Note, though, that although distributing the EXE and calling it via
CreateProcess will not create a GPL obligation involving your program,
you will be distributing the PDF reader, and so will have to satisfy the
GPL requirements in regards to it. People who get it as part of your
product need to be provided with the source code to the PDF reader, and
a copy of GPLv2. The simplest way to do this is put a note in your
license or readme telling your users that you include the PDF reader,
which is licensed under GPLv2, and include GPLv2 there. To be safe, it
might be worth noting that the rest of your product is not under GPL, so
your users won't get the idea they can give copies of the whole package
away! As for the source to the reader, the easiest thing, if you have
room on your distribution media, is to include the source to the reader.
That way, you've discharged your GPL obligation. You don't have to get
into the possibly annoying side business of giving out source to any
random jerk that wants to write to you asking for it like you might if
you go with the "written offer" option. (I believe this is what McAfee
does--they use some GPL software, and simply include the code on their
CDs).
Finally, you might consider contacting the author of the PDF reader. If
you do want to take the DLL approach for some reason, you might be able
to negotiate a special license allowing you to do that. And even if you
are going to to go with the CreateProcess, you might consider donating
some money to the author--let him know you are using it in accordance
with GPL, but want to show your thanks for a good program. That will
likely make him happy, and help support future good software, and will
probably make him much less likely to get picky if you make any slight
licensing mistakes!
--
--Tim Smith