Kovid Goyal, the man behind Calibre
Kovid Goyal has a doctorate in quantum computing from the prestigious California Institute of Technology (CalTech), but he’s also a keen poet and philosopher who loves computers, as well as playing basketball, squash and badminton.
After completing his PhD, Kovid returned to India in 2011. From his hometown in Mumbai, he coordinates the calibre Project, a collaborative effort to create an ebook manager and converter.
As well as doing some programming for calibre, Kovid participates actively in the program’s discussion forums, where he answers dozens of messages every day.
Calibre, a collective project
The calibre project, Kovid has said in another interview, was born out of pure chance: the eBook reader that he had bought, a Sony PRS-500, wasn’t compatible with his favorite operating system. The first version of calibre, called libprs500, was simply a useful way of connecting his reader.
But Kovid started to realize that various tools, like format converters, were missing from the program. While he was creating these functions, he added some others that he thought would be useful. On top of all of that, he created a graphic interface which would facilitate the use of the program.
Why is it called calibre? Choose:
- Convertor And LIBRary for Ebooks
- It is an application of great “calibre”
- It is a tribute to SONY Librie, the first eBook reader
- My wife chose it 😉
Kovid Goyal, calibre FAQs
The project was renamed “calibre” in 2008 and has since continued to grow. With the arrival of version 1.0, the project reached its 500,000th line of code, the majority of which are in Python, the language used so that calibre works in Windows, Mac and Linux.
Lines of code from project calibre. Their total is reaching half a million (source)
Downloaded 500,000 times a month
Calibre has been installed more than 18 million times since August 2009, which is when Kovid began to compile data. Half a million people install it every month, and it has nearly three and a half million active users. Of these, 20% are from the US.
Beyond the initial project, calibre owes its popularity in part to numerous plugins, some of which can eliminate eBooks’ copy protection security (DRM). Goyal, who is opposed to the use of digital protection, claims that for legal reasons, calibre will never have these functions by default.
The interview with Kovid Goyal
F: Why did it take six years to get to version 1.0?
For no particular reason. In terms of functionality and stability, calibre could have gotten to version 1.0 many years ago. The only reason I decided to change it to 1.0 was so that I could stop answering the question “Why is calibre 0.x?”. 🙂
F: Why are there so many updates, and why do they happen so often?
Look at it this way: suppose you request some new feature, or you report a fault in the system, and this fault is fixed in a few days; would you want to wait six months or a year before you get the patch?
I’m always taken aback when people complain about how often calibre is updated – if you don’t like the updates, ignore them, but don’t deny the user who wants access to the quick turnaround of developments.
In fact, in calibre, fixing a bug in a week is totally normal; most problems are eliminated in a week, or else they resolve themselves.
F: The upkeep of a program available for three systems must be pretty difficult. Could you give us an idea of how you do it?
There are many things to take into account, but the two most important ones are:
1) You have to choose a multiplatform language and interface design kit. In this case, Python and Qt. Or to put it more philosophically: choose tools which optimize your productivity, not the computer’s.
2) Automation: I used to maintain the computers used by the particle theory group when I was doing my PhD at Caltech. That job taught me the value of automation. Creating and uploading a new version of calibre can be done with only one command: all I have to do is write “python setup.py publish”, put my feet up, and let the computer do the hard work.
I’m always taken aback when people complain about how often calibre is updated…
F: Have you ever thought about creating a lighter, simplified version of calibre, which only has the most frequently used functions?
No. I’ve been told many times by many different people that calibre is extremely intuitive and easy to use, and that’s from primary school pupils right up to grandmothers. Calibre has been installed more than 18 million times.
Is calibre complex? Yes. Is such complexity necessary to allow for its powerful function? Yes. Is it possible to use calibre without worrying about these complexities? Absolutely.
I choose to respect calibre’s users. I trust that they are able to learn and grow. Luckily, calibre’s users pay me back more than enough for this trust.
F: Many users complain that calibre is ugly. Could interface designers maybe help you with this problem?
In my opinion, calibre’s graphic interface is damn good. It allows you to carry out the tasks it was designed for, as efficiently as possible. The interface is literally the result of thousands of improvements and tweaks done over the space of six years.
I think that function comes before form, so I would only accept changes to the graphic interface if they didn’t affect the functionality of the program. Many such changes are possible, you only have to glance through the update history to see that they happen week after week, month after month and year after year.
Calibre is extremely intuitive and easy to use.
F: Which of calibre’s functions do you think are lesser known?
There are some parts of calibre which tend to be a bit more difficult to discover since they’re not immediately obvious on the interface. The most important thing to learn is that you can right click on the buttons in the tool bar to see variations of the main action.
For example, by right-clicking on the Add books button, you choose to add several books at a time rather than one by one. By right-clicking on the Connect/share button, you can send books to your friends via email, or run calibre’s content server to upload your books into the system.
Other great areas which tends to be ignored are calibre’s tools and optional accessories. You can go to Preferences > Toolbars to add various tools to the toolbar, such as one which edits the books’ index simply and clearly. In the same category, there are third-party plugins which can be installed by going to Preferences > Plugins which add a whole host of features to calibre.
F: How much time do you devote to calibre every week? How many programmers regularly contribute to the project?
I work on calibre for about 80 hours a week, and that includes around 8 commits a day, 365 days a year. I also answer around 50 messages from users (emails, articles from the forum, bug reports, etc.) every day.
Calibre has about ten developers who have made significant contributions over the years. Only a handful of them work at the same time. On top of these, there have been at least 80 other contributors over the years.
And of course there are the hundreds of people who have contributed with formulas or the development of plugins. Last but not least, there is the fantastic calibre community on mobileread.com, full of lovely generous people.
F: How is the project sustained? Can you survive on donations?
I have worked on calibre full-time for the last four years (since I completed my PhD at Caltech). What can I say? People love calibre. 🙂
I work on calibre for about 80 hours a week.
F: Would you sell calibre to Amazon if they were interested?
No, I can’t see how I could sell calibre, even if I wanted to. It’s written in open source code [N.B.: GPL projects cannot be “sold”, but there is a loophole].
I suppose I would leave if somebody paid me to, but then again, I enjoy my work too much, so it would have to be for a ridiculously large sum of money. 🙂
F: Why are PDFs so problematic? And while we’re at it – what’s your favorite eBook format?
PDF is a format that can’t be altered. It is simply a sequence of instructions which look like this: “move to point X or Y on the page and draw shape from source F with size Z”. To convert this into an eBook rather than simply drawing it, you have to tinker with it in such a way that this flux of instructions is converted into words, sentences, paragraphs… It’s a process which is littered with obstacles.
I don’t have a favorite format: thanks to calibre, the majority of eBook formats are all the same to me. My personal collection is a mixture of EPUB and AZW3, depending on whether I’m using a Kindle or an EPUB reader.
F: It looks like we’re in the middle of a format war. Do you think we’ll ever have a universal format which is used by everyone in the same way?
You’re asking me to predict the future – a sure-fire way to get me into trouble. 🙂 Certainly, I hope that someday there will be a standard format, but for now it’s not looking good. It’s a shame, because reading is very important. I wish we were in a better place when talking about ebooks. With calibre, I’ve tried to alleviate the problem, but…
F: Is there a cloud version of calibre in the works?
Calibre already has a content server which makes your library available online. The notion of storing users’ content doesn’t really grab me; I prefer to give them the tools to host the content themselves.
I hope that someday there will be a standard format…
F: What does the future hold for calibre?
I try not to talk about the future. My work on calibre is very flexible. I tend to do whatever interests me at a given time, so there’s no way of knowing what might happen.
To find out more about calibre, read our tutorial.