* The Business of SoftwareA former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software. |
||
|
We're closed, folks! Links:
» Business of Software FAQ Moderators:
Andy Brice Doug Nebeker ("Doug")
Jonathan Matthews
Nicholas Hebb
Bob Walsh |
Hi folks,
In my app I have to provide a PDF report, and I really like "wkhtmltopdf" (http://code.google.com/p/wkhtmltopdf/) which converts from HTML (our current report) to PDF. My app is B2B software and is commercial. This html2pdf utility is an open source and based on GPL 3 (http://www.gnu.org/licenses/gpl.html), and I'm trying to understand its license - do you know what it really means? * Can I embed this utility as part of my app? I'm not going to change it nor its source. * Can I make this software installation as part of my app installation process? * Can I sell my products just as I do it now when it's part of my software? * If not - can I offer my customers to install it independently? Thank you very much
I am not sure, but I think that with GPL, you can only include it as part of your program if you distribute your source code too:
From Wikipedia: http://en.wikipedia.org/wiki/Gpl "The GPL is the first copyleft license for general use, which means that derived works can only be distributed under the same license terms." What would suit your purposes is the LGPL license. From Wikipedia too: http://en.wikipedia.org/wiki/LGPL "The main difference between the GPL and the LGPL is that the latter can be linked to (in the case of a library, 'used by') a non-(L)GPLed program, regardless of whether it is free software or proprietary software.[1] This non-(L)GPLed program can then be distributed under any chosen terms if it is not a derivative work."
How to get the correct answer to all licensing question, in one easy step:
1) Email the author, and ask. People who don't pick this option, and instead ask other people who've never even heard of the product already know that the actual answer is "no" and are just wanting a different answer. In any case, the entire point to the GPL getting a third revision was to close loopholes that were letting people use GPL licensed code without releasing their own source, so there's a fairly good chance that people who pick the GPL v3 do so for a fairly specific reason. If you prefer proprietary software and want to be paid for your own work - which seems fairly reasonable to me - perhaps you could purchase one of the many fine alternatives being produced by other proprietary software vendors, But it never hurts to ask the actual author - maybe you can negotiate a deal that will let you pay them for their work, and thus use it without needing to GPL your own code.
jimbob, GPL 3 is a standard license. To get a question about GPL 3 answered, you should ask a person who understands the license. This might or might not be the person who chose the license (yes, programmers do choose licenses without understanding all of the implications).
To answer the OP: you can distribute unmodified executable of GPL 3 app with your software and install it along with your app. That doesn't prevent you from selling your app or forces you to publish the source to your application. You do, however, distribute a GPLed app so you have to comply with the rule of providing the source for that app (e.g. put the .zip file of the sources of that app on your website and mention it somewhere in your docs). This is how many closed-source video transcoding apps use ffmpeg. What you cannot do is to use the code directly in your app, by statically or dynamically linking it. Some people believe that they can bypass GPL by turning the app into a dll and dynamically linking to it from their closed source app. That is not kosher. GPL talks about "derivative work". If your program is a derivative work of GPL code, it also falls under GPL. Statically or dynamically linking non-trivial amount of GPL code constitutes creating a derivative work. Distributing an GPLed exe with your app and sub-launching it via fork()/CreateProcess() does not constitute creating a derivative work.
That's what most people forget...
REGARDLESS of the released license, the AUTHOR can always release it under different terms too. This is called "dual licensing" but can be more than 2. In many cases, it doesn't hurt to ask. Of course, if a few - or dozens! - of people have contributed, asking "the author" is a little more complicated. I've been working on exactly this with web2project. We're preparing to switch the codebase from GPL to BSD and have gotten signoff from 29 of the 32 contributors. |
|
Powered by FogBugz


