Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre > Development

Notices

Reply
 
Thread Tools Search this Thread
Old 09-17-2015, 08:14 PM   #1
jscholes
Junior Member
jscholes began at the beginning.
 
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.
jscholes is offline   Reply With Quote
Old 09-17-2015, 08:39 PM   #2
eschwartz
Ex-Helpdesk Junkie
eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.
 
eschwartz's Avatar
 
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.
eschwartz is offline   Reply With Quote
Old 09-17-2015, 10:51 PM   #3
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
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.
kovidgoyal is offline   Reply With Quote
Old 09-18-2015, 08:56 AM   #4
jscholes
Junior Member
jscholes began at the beginning.
 
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?
jscholes is offline   Reply With Quote
Old 09-18-2015, 09:53 AM   #5
eschwartz
Ex-Helpdesk Junkie
eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.
 
eschwartz's Avatar
 
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.
eschwartz is offline   Reply With Quote
Old 09-18-2015, 11:21 AM   #6
jscholes
Junior Member
jscholes began at the beginning.
 
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.
jscholes is offline   Reply With Quote
Old 09-18-2015, 11:25 AM   #7
jscholes
Junior Member
jscholes began at the beginning.
 
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).
jscholes is offline   Reply With Quote
Old 09-18-2015, 11:54 AM   #8
eschwartz
Ex-Helpdesk Junkie
eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.
 
eschwartz's Avatar
 
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.
eschwartz is offline   Reply With Quote
Old 09-18-2015, 12:17 PM   #9
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
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.
kovidgoyal is offline   Reply With Quote
Reply

Tags
distribution, gpl, license, license agreement


Forum Jump

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


All times are GMT -4. The time now is 04:52 AM.


MobileRead.com is a privately owned, operated and funded community.