Using GPL application within commercial package ?


sorry if this is the wrong category but I haven't found better.

Here is our problem. We have commercial application which can use ghostscript for printing. It uses it through command line interface (and a temporary file). We are using GNU Ghostscript 8.15 which should be licensed under GPL.

So, if I understand GPL properly, then we can do the following:
- install (copy) ghostscript into the directory structure of our application
- delete all unneccessary files (executables, fonts, documentation, etc ...)
- include it into our installation package

So we will be distributed unmodified part of GPL application Ghostscript, with a link where sources can be downloaded. Since our application is using ghostscript only through CLI, it does not have to be licensed under GPL - right ?

Of course, we have no problems with including references and credits to ghostscript authors inside our appliaction and documentation, we only want to be able to create sw install package working out of the box, without licensing our application under GPL.

Is this possible ?

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

As always with this kind of question, I would advise that you contact a lawyer for concrete legal advice.

The thing to bear in mind is that the GPL governs an entire application and a derivative. You are shipping the application intact, and not modifying it or adding to it in any way. You are just including that application as a separate entity, and I believe that this is quite OK.
s0m3bodyAuthor Commented:
ok, the main reason i've put the question here is to hear about similar cases or experiences - does anyone of you went through the same thing ? or do you know any commercial (or simply non-GPL) application being distributed with GPL applications together (so that part of the functionality of the 'main' app requires GPL app but is not directly linked to it (CLI interface for example) ???
As  Anonymouslemming says, contact a lawyer if you want real
legal advise, because I am not a lawyer.

Be sure to double-check your ghostscript distribution before using it
that you have verified the exact tarball you are using really is one of
the distributions that was placed under the GPL.

Many versions of Ghostscript were under the AFPL which was a much
more restrictive license.

Ghostscript has to be distributed under the GPL or whichever license
the author has applied to the version you are using.

So long as your application is separate from Ghostscript and does not
link against it and ghostscript is totally apart: in other words, they
are not in the same software package, then you should be able to
consider your application a separate entity and pick your own terms
that do not conflict with the GPL (like restrict your users from extracting/
/modifying/redistributing the ghostscript package from your distribution).

I quote from the GNU General Public license section 2:
"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."

The converse is that there are some things that do bring another work into
scope.  One of them is thought to be linking two modules together creating a
binary that is a derivative of GPL code.  It may be argued that use of a CLI is
like dynamic  linking.  I doubt it: you should consider whether your application is dependent on something very specific to ghostscript or a simple interface that many
applications would use.

This is really a question of whether your application + Ghostscript is really a
derivative work based on ghostscript or a totally independent creation.

Could you freely pick another application or set of tools and with only
minor changes to accomodate to the differing interface use that with your
application instead of ghostscript?

If so, then it would seem like your application is fairly independent and separate.

How important is ghostscript to the functioning of your program?

If what you have is a big GUI or frontend to ghostscript and is intimately
connected, then I think maybe you have to consider that your application
possibly _has_ linked with ghostscript, such that it is the same work.

...And I do not believe the fact that you have not modified Ghostscript
relieves you from the requirement of providing access to source code: you
should read section 3 more carefully.

Here is the relevant section:
"3.  You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

    a)  Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
    c)  Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable....

The alternative (c) would not be allowed if you were distributing an application
commercially and I believe you would need to pick (a) or (b)
Your Guide to Achieving IT Business Success

The IT Service Excellence Tool Kit has best practices to keep your clients happy and business booming. Inside, you’ll find everything you need to increase client satisfaction and retention, become more competitive, and increase your overall success.

s0m3bodyAuthor Commented:
ok, we use ghostscript only for printing, main purpose of the application is something completely different and application can be used by the customer also without ghostscript (without printing), it is more or less only for convenience

we could also easily replace ghostscript by any other application which is capable of printing postscript files, there is nothing specific about ghostscript

we have our legal dept. checked this as well, i'm trying to find someone who knows about such case (for example i know that jbuilder includes in installation package some open source [GPL] software which it can use, has anyone complained about that ?)
Is there a special reason to include ghostscript rather than let the user
choose the command, or invoke lpr on the .ps file directly or have
ghostscript as a dependency for your package?

It doesn't sound like linking to me, and you have a fairly independent
application: look at how many GPL applications are included in a typical
Linux distribution right beside non-GPL applications: there are many linkings
and many dependencies.

But it seems like the function of your CLI use is just to interoperate and
pass your application's output off for background processing to get it off
the machine and you can rightfully do this kind of automation without
bringing your tool itself into the scope of GPL.

I am guessing the sum of your linkage is "/path/to/ghosscript -options filename"

Automating something a human who knows how to use ghoscript
could easily do; (if say your program had written a .ps file instead and told the
user to use lpr/ghostscript/etc print it.)

Duncan RoeSoftware DeveloperCommented:
If I recall correctly, Sun Microsystems distribute a number of GPL applications with Solaris, such as gzip.
To comply with the license they document how you can get the source from their website. But ... IANAL.
s0m3bodyAuthor Commented:
MYSIDIA: yes, almost (sum of my linkage with ghostscript)

the reason for including ghostscript in installation package (and into directory structure of our appliaction) is, that we offer commercial support for the application and working with different ghostscript version would add just another unknown variable which we want to avoid

this way, we know that our application always uses the version of ghostscript we tested, and we don't interefere with another ghostscript versions on customer system (and we are independent of his OS version, etc ...)
all files coming from our application are under /one/known/path which makes maintenance much easier

as for your comment about allowing user for selecting command, we don't want user to make any decisions he doesn't need to do
we have also version for windows, and we can use ghostscript on both platforms in exactly the same way
if user wants to print, he means print, not choosing printing command first (our users usually want to make as few decisions regarding technical matters as possible)
s0m3bodyAuthor Commented:
DUNCAN_ROE: good point with the Sun Microsystems !
do you know solaris ? do they have any propietary application which can use GPL application ? like gzip for unzipping files (but called from some propietary gui) ?

this would exactly map to our case
Duncan RoeSoftware DeveloperCommented:
It's been a little while, but if I remember correctly, their patches are gzipped.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.