* The Business of Software

A community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.

This community works best when people use their real names. Please register for a free account.

Links:

» Business of Software FAQ
» The Business of Software Conference (held every fall, usually in Boston)
» Forum guidelines (Please read before posting!)

Movie:

"Make Better Software" is a 6 movie course designed to help you as you grow from a micro-ISV to a large software company.
Part 1: Recruiting
Part 2: Team Members
Part 3: Environment
Part 4: Schedules
Part 5: Lifecycle
Part 6: Design

Moderators:

Andy Brice
Successful Software

Doug Nebeker ("Doug")

Jonathan Matthews
Creator of DeepTrawl, CloudTrawl, and LeapDoc

Nicholas Hebb
BreezeTree Software

Bob Walsh
host, Startup Success Podcast author of The Web Startup Success Guide and Micro-ISV: From Vision To Reality

Patrick McKenzie
Bingo Card Creator

Commercial software running using system() a GPL executable?

My company has written a program which we sell to hospitals. It is commercial software.

A few of our customers asked us to implement a sound processing feature in the program.

There is an open source program which does exactly what is needed, if called from the command line with the proper arguments.

I am very tempted to include the open source program's binary in my program's installation kit and to implement the sound processing by simply running this open source program.

I will not hide the fact that I'm using this program - we shall state this very clearly.

Will doing what I described require my company to open our source code for our commercial program?

If it is so, I shall simply implement the sound processing myself.

If I can include the GPL program's binary and call it, without opening my source code, then I can implement the feature in 10 minutes or so.

Thank you!
Yahoo Fan
Monday, June 27, 2005
 
 
Why not try to contact the author of software and see if it's possible to get commerical license for reasonable fee? This way, you don't have to add any notices and developer gets little money as well! Though this will depend on the project whether it uses other GPLed software or not. But it's worth a try.

JD
JD Send private email
Monday, June 27, 2005
 
 
I think this provides the relevant background information:

http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem

So, the short answer is, maybe.

The long answer is, you will obviously want your company's lawyers to consider this question, to arrive at an answer that they find acceptable (given the benefit and the risk to your company). Don't use the GPL executable without bringing it up to your company's lawyers, as it's their job to evaluate legal risks to your company.

They will deliver the final answer.
Exception guy Send private email
Monday, June 27, 2005
 
 
IANAL, but generally it's fine to call GPL'd binaries in that way.  It's even OK to build GPL modules from source and statically link to them.  The only thing you can't do is modify the source at all.  My company uses a few GPL libraries this way.
Marco Arment Send private email
Monday, June 27, 2005
 
 
Marco, what you describe is the LGPL, not the GPL.  If it were OK to use a GPL library in a non-GPL product, then why was the LGPL created?  It would be good for you to review the GPL again.

I second the recommendation to contact the author and negotiating a commercial license.  I have had success doing this.
David Send private email
Monday, June 27, 2005
 
 
Sorry, you're right, I was thinking of the LGPL.  My mistake.
Marco Arment Send private email
Monday, June 27, 2005
 
 
you're not "linking" with the GPL app. just calling it.

(lawyers will be overly paranoid and say you can't do it.)

Monday, June 27, 2005
 
 
If you are invoking the GPL-ed tool as a seperate command line process then I'm pretty sure you will be fine. Although it would be advisable to get your lawyer to confirm that.

I would also recommend that you let the author of the tool know what you are doing with it and make sure to let them know of any suggestions you have or problems you find.

If you are concerned about using GPL-ed code (and lots of people are), you could try contacting the maintainer of the code and ask if it is available under a different license. If they have complete ownership of the relevant rights they and they aren't GPL zealots then there is a good chance they might come to some mutually benefitial agreement.
Arethuza Send private email
Tuesday, June 28, 2005
 
 
It is my understanding that if you just call a GPL program, clearly indicate that it not likned to your program and provide a link to where the source code is, you should be on the safe side.

Maybe you could consider not bunding it with your program, but with a link to be downloaded at install time.

If the mere ability to call a GPL program was enough to force the calling application to open its source, then the Windows Explorer and by extension, the Windows OS, should be by now open source as there is many GPL programs that are called from the Windows Explorer.

Tuesday, June 28, 2005
 
 
Providing a link to the source code may not be sufficient.  If you distribute the binary, you are responsible for also distributing the source code.  So you need to provide the source *yourself* - it must be the source code actually used to build the actual binary you are distributing, and it must either be on a server under your control, or (preferably) in a folder on the CD you're selling.  (There are other options, but they're more complicated to get right.)

That said, I believe someone has already linked to the GPL FAQ, which does state quite clearly that it is the opinion of the FSF themselves that their GPL license permits a proprietary application to launch a GPL'd program with a system() call.  There aren't many zealots *more* zealous than the FSF, so what they say is probably a good indication of the line anyone else will take.
Iago
Thursday, June 30, 2005
 
 
Marco,

I believe your company is in deep legal doo-doo at the moment.

Because the only way to distribute an application that is statically linked with a LGPL library is by following
the conditions dictated by clause 6.a, i.e. redistributing all source and/or object codes that were used to generate your executable !!

That's also why some libraries are covered by a license which is basically the LGPL plus additionnal permissions that allow you to link statically to them. For a concret example see:

http://www.wxwindows.org/manuals/2.4.2/wx2.htm


Hope this helps,
2cents
Thursday, June 30, 2005
 
 
Would it be better to give some money to the GPL'ed software author and ask for a special license instead of giving thousand dollars to lawyers to get the answer to your question?
GinG
Sunday, July 03, 2005
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz