09-17-2015, 08:14 PM | #1 |
Junior Member
Posts: 7
Karma: 10
Join Date: Sep 2015
Device: None
|
Complying with the GPL when distributing Calibre
I'm creating a Windows application, one of the primary goals of which is to simplify installation as much as possible. To that end, I would like to include a pre-configured version of Calibre in my distribution, and was wondering about the GPL v3 requirements as far as also distributing, or otherwise making available, the source code go.
Specifically, section 6, part of which reads: You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: ... d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. My question is this: If I include Calibre's binary distribution inside my application's installer, without source code, will I be complying with the license terms if I also link to a tarball of the source code from the official Calibre GitHub repo on the same page along with an appropriate notice? Or should I copy the tarball to my own server and offer a download from there? Are neither of these options acceptable and I should bundle the entire source tree inside my installer? Many thanks. |
09-17-2015, 08:39 PM | #2 |
Ex-Helpdesk Junkie
Posts: 19,422
Karma: 85397180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
|
Bundling the source tree in the installer is GPLv3 § 6(a) -- when providing a physical medium.
As long as calibre's GitHub repo is available, you can direct people there, I believe. But you are responsible for hosting it yourself in the event calibre becomes abandoned and is no longer available from GitHub or the official website. "Hosting yourself" -- includes a fork on GitHub. You can host the tarball yourself just in case GitHub goes out of business, which, while also pretty unlikely, would put you in a spot of bother. Disclaimer: IANAL, but this is how I understand it. Last edited by eschwartz; 09-17-2015 at 08:44 PM. |
09-17-2015, 10:51 PM | #3 |
creator of calibre
Posts: 43,853
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
If you are bundling calibre as an integral part of your application, then most importantly, you need to make the source code of your application itself available under a license compatible with the GPLv3.
As for making the source code of calibre itself available, you are fine with linking to the source code on the download page of your application. |
09-18-2015, 08:56 AM | #4 |
Junior Member
Posts: 7
Karma: 10
Join Date: Sep 2015
Device: None
|
Hello,
I wasn't planning on making my application open source at this time. Does the requirement still apply if I provide a facility, either automatic or manual, which downloads and unzips Calibre components from an official download location, rather than having them bundled with the application's installer? |
09-18-2015, 09:53 AM | #5 |
Ex-Helpdesk Junkie
Posts: 19,422
Karma: 85397180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
|
If your application isn't open-source, then it depends on how it is using calibre.
If it is just streamlining the process of installing useful software, then this presumably applies: https://www.gnu.org/licenses/gpl-faq...ompatInstaller If your application uses calibre during the course of its function, then you can only do that if it "communicates at arms length": https://www.gnu.org/licenses/gpl-faq...prietarySystem You would also have to make it clear that you are using calibre in that manner. Without knowing more about what your application does, I don't think we can hazard a guess as to whether that applies or not. |
09-18-2015, 11:21 AM | #6 |
Junior Member
Posts: 7
Karma: 10
Join Date: Sep 2015
Device: None
|
The application uses calibre's command line tools to help users convert, reformat, reorganise etc. their eBooks. It runs commands and parses the output of those commands, e.g. JSON from calibredb with the --for-machine switch, and XML from fetch-ebook-metadata. It doesn't interact with calibre in any other way. It doesn't load any of its SQLite databases to get information from them, nor does it use the provided calibre-debug Python console to run any external code.
The application is primarily targeted at visually impaired screen reader users, hence its existence, as calibre's Qt GUI is not appropriately screen reader-accessible to allow for efficient, simple use of the program. As much processing of files and data is done in my own application as possible, but I'm using calibre in parts to avoid reinventing the wheel. It has excellent support for eBook formats already, and to recreate such support seems like a waste of development time and effort, not to mention an unrealistic goal for a single relatively new developer. If I were to ask my users to install calibre separately, would these license terms still apply? If not, and I do place the source for my application on a public site such as GitHub, do I have to accept contributions, or is making the source available sufficient? Apologies for all the questions, but I'm trying to work out a distribution method that, primarily, is right for my users, but calibre's tools are providing my application with some of its information so its only right that I respect the efforts of its developers as well. Thanks. |
09-18-2015, 11:25 AM | #7 |
Junior Member
Posts: 7
Karma: 10
Join Date: Sep 2015
Device: None
|
Just to add: 99% of my users, being visually impaired, will not already have nor desire a traditional calibre installation, because of its lack of screen reader accessibility. A few of them will already use the command line tools like myself, in which case I will offer the option to point my application at their existing installation. But most of them will not know or care what calibre is and what it can do for them (naturally I will explain on the application's web page and in its documentation that calibre is used behind the scenes).
|
09-18-2015, 11:54 AM | #8 |
Ex-Helpdesk Junkie
Posts: 19,422
Karma: 85397180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
|
I don't know whether that counts as arms-length usage (is it "effectively two parts of one program"?) -- that may be a question for the lawyers.
But I can tell you this much: if you decide to simplify everything by just licensing your application with a GPLv3-compatible license and release the source, that does not in any way obligate you to listen to or accept other peoples' input, contributions, pull requests, etc. (You are free to ignore them or listen to them, as you please.) The GPL protects peoples' right to know what your application does, and modify their own personal copies if they want to. If they want you to listen to them, too, they can take out a support contract. Last edited by eschwartz; 09-18-2015 at 11:59 AM. |
09-18-2015, 12:17 PM | #9 |
creator of calibre
Posts: 43,853
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
As eschwartz said, all the GPL requires is that you make your source code available. You dont even have to put it on github, a simple zip file with the source is sufficient. And you are free to ignore any changes your users want to make to your code. Your only obligation is to make the source code available. If you meet that obligation, you can bundle calibre with your application with my blessings.
|
Tags |
distribution, gpl, license, license agreement |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Smashwords is now distributing to Scribd | John Carroll | News | 2 | 12-21-2013 10:01 PM |
Smashwords distributing to Flipkart in India | John Carroll | News | 2 | 08-29-2013 05:26 PM |
Calibre and GNU GPL | Stodder | Calibre | 36 | 05-12-2011 04:10 PM |
Distributing E-Books to Public Libraries | G J Lau | Writers' Corner | 6 | 02-27-2011 01:33 PM |
Booken (Cybook Gen3) do not complying with warranty | merlin | Which one should I buy? | 32 | 10-06-2010 02:07 PM |