Growing up, Kovid Goyal planned to be a physicist working on quantum computers. However, while studying at the California Institute of Technology (CalTech), he began developing calibre, an ebook manager for GNU/Linux, OS X, and Windows. The project quickly grew, developing its own ecosystem of sub-projects, extensive documentation, and self-funding. Today, calibre is a full-time vocation for Goyal, as well as a partial source of income for other project members.
I've been programming since I was about seven years old, mostly for my own amusement. My first ever program
was printing out multiplication tables, written in BASIC on a ZX
spectrum+. This was by way of trying to convince my teachers that I really
didn't need to memorize the multiplication tables. My teachers weren't
A GNU/Linux user from the age of fourteen, first on Red Hat and later on Gentoo, Goyal worked his way through grad school by administering the particle theory group's computers at CalTech. An avid reader, he was dismayed to learn that the SONY PRS-500, the first reader to use e-ink technology, did not support his operating system of choice. In response, he wrote the first version of calibre, which he originally named libprs500.
From this beginning, the project grew as Goyal discovered other missing tools for ebooks. The conversion features were added because Goyal wanted to convert ebooks for his reader. Similarly, management collection tools and a graphical interface were created as his ebook collection grew, and the news downloading tools when he could no longer get Newsweek delivered to his door.
Other features were added by contributors such as John Schember who created the "Get Books" feature in calibre, which provides a comprehensive list of ebook publishers as well as a comparison shopper. Recently, Schember also became maintainer for Sigil, an ebook editor in early release.
In 2008, the project was renamed by Goyal's wife, Krittika Goyal. On the project's history page, Kovid Goyal explains that "the 'libre' in 'calibre' stands for freedom, indicating that calibre is a free and open source product, modifiable by all. Nonetheless, 'calibre' should be pronounced as 'cali-ber,' not 'ca-libre'."
Krittika Goyal is also responsible for Open Books, a portal site for
ebooks unencumbered by Digital Rights Management (DRM). Kovid Goyal
Both she and I hate DRM and wanted to see the growth of non-DRMed
publishing. Open Books is an ongoing attempt at helping that growth. It is
a place where users can browse books published by publishing houses all
over the world that are DRM-free. It is not intended to be a platform for
self-publishing, but rather to publicize authors and publishers who publish
Currently, the site lists several thousand titles by publishers ranging from small presses to Baen Books, a major science-fiction publisher.
Today, calibre has evolved into an active project, with new releases every Friday. Growth of the project remains steady, with many of the revisions consisting of drivers for readers, new magazine downloads, or interface refinements.
However major new features are still being developed as well. Recently, for
instance, calibre added a plug-in structure, whose success can be seen from the
"Plugins" menu under "Preferences".
There is even an unofficial plugin for removing DRM, although Goyal
calibre itself will never come with the ability to remove DRM. There are
laws against this. No matter how misguided I think those laws may be, I
choose to respect them. The calibre plugin to remove DRM makes use of the
generic plugin facilities offered by calibre, and is not officially
supported or recommended by calibre.
Since calibre collects statistics based on unique IDs and IP addresses
whenever an installation starts, Goyal can track current usage in some detail.
He reports that calibre has about four million users who have used the
application at least once, and is growing at a rate of three hundred thousand users every month. About
eighty percent of users are on Windows, seventeen percent on OS X, and
three percent on GNU/Linux. By any standard, calibre is a free software
success story, an all-in-one application that is to ebooks what Amarok is
to music players, or digiKam is to images.
Keys to success
The most obvious cause of calibre's success is its comprehensive feature set. However, another part of the project's success lies in two areas often neglected by other projects: documentation and fund-raising.
Help is available on the project site in forms ranging from an FAQ and an introductory video to step-by-step guides on conversion
to and from various ebook formats and a complete user manual. This thoroughness
"is a deliberate policy", according to Goyal:
I am fairly active in the calibre support forums. I answer about 10-20 user
queries every single day. Early on, I realized that the person who would
benefit the most from having documentation is me. It reduced the number of
people that need to ask questions and allow me to answer many questions
easily by linking to the docs.
Also, calibre is now so large (over 400K lines of code) that I cannot keep track of it all. I often find myself needing to read the docs to figure out how some obscure feature is supposed to work.
I have found that, because I place a premium on documentation personally, as time has passed, calibre's community, both users and developers, have contributed to that documentation.
Yet, as important as documentation is, probably the single most significant feature of the calibre project's culture is its active fund-raising. Unlike most free software applications, calibre includes a button for donations, as well as a discreet donation button on the project's home page.
"Donations are essential to my being able to work full-time on calibre," Goyal said. "I am continually amazed by the generosity of all of calibre's donors, many of whom have continued to donate repeatedly over the years."
However, donations are not the only source of calibre's funding. Hosting is paid for from a single sidebar ad on calibre websites. Goyal and some of the other most active project members also do some calibre-related consulting. Although confidentiality prevents him from being specific about this work, he explained that, "In general, it involves consultation for companies that are trying to enter the ebook market. Some [of it] involves customizing calibre for a particular organization/use case."
Yet another source of income for all project members is the Get Books store browser and comparison shopper feature. Most of the links on Get Books are part of publishers' affiliate programs, and revenue from such programs are divided, with seventy percent going to the developer who maintains a particular link and thirty percent to Goyal. "The two most active developers (by commits) John Schember and Charles Haley, get most of the income from Get Books," Goyal said.
To some, this emphasis on funding might seem opportunistic, but Goyal
I think it is a pity that more open source projects do not solicit
donations actively. Many open source projects provide a lot of value to
their users. And there are many users out there who recognize that and
realize that without their support, the software they rely on will die.
Moreover, it is hard to argue with success. If calibre remained entirely a volunteer project, then it would undoubtedly be less advanced than it is. Unsurprisingly, Goyal anticipates other possible income sources, such as personal calibre clouds, with hosted services "for those who would rather not deal with maintaining their own cloud."
Currently at version 0.8.15, calibre is still very much a work in progress. Although calibre already far exceeds the features of any of the software shipped with ebook readers, tentative future plans include a number of major additions. They include improved conversion to PDF and MS Word formats, a reworked ebook viewer with the ability to read HTML 5, and support for annotations across multiple operating systems and readers.
"But I must emphasize that things happen in calibre land very
serendipitously," Goyal said. "People scratch their itches
and calibre grows new capabilities. So please do not regard this as a list
of promises." His overall goal is clear:
Longer term, my vision for calibre is that it continue to be the go-to
solution for people to manage their longer form reading materials. It is
particularly important to me that this space never become dominated by a
product driven by short-term, profit-centered thinking. Books are simply
too important, to me personally, and to humanity at large.
Meanwhile, the continued success of calibre seems assured. Not only is it a
feature-rich application with no major rivals, but its funding efforts
allow Goyal and other developers to concentrate on their work while keeping their autonomy.
Comments (7 posted)
Currently, the vast majority of the PySide core development is done
by the OpenBossa INdT team in Brazil and funded by Nokia's MeeGo
Computers team - the PySide project has internally been an enabler
for the MeeGo 1.2 Harmattan Python project. Unfortunately, the
Nokia N9 is the only MeeGo (Harmattan) phone to be published by
Nokia, and Nokia's MeeGo team is being ramped down already in the
near future. Because of this, the Nokia MeeGo funding for PySide is
slated to end after this year, and I have also failed to find a new
sponsor for the project within Nokia.
So, what are the implications? What I hope and believe will happen
is that the project is already sufficiently healthy to stay alive
and grow without Nokia acting as a midwife. This would imply the
community to take a leading role in both the project guidance and
actual development. This can of course happen in several
ways. First, independent open-source developers may pitch
in. Second, there are many companies using PySide by now. They
might want to contribute to PySide due to their own
interests. Third, there might be some companies providing support
and services for PySide. (INdT?) Finally, their might be some
company with sufficient interest to take the main responsibility
for future development.
Comments (none posted)
The Newtonator is an LV2 synthesizer plugin with a graphical interface,
three-note polyphony, and a "unique" synthesis algorithm. "The
Newtonator specializes in making crazy, harsh sounds, so if you're looking
for some sounds to produce the next Yanni album, keep looking.
v0.5.0 is considered to be a beta release.
Full Story (comments: none)
The PHP team has rushed out the 5.3.8
to fix a 5.3.7 bug that broke crypt()
for a lot of users.
But it turns out that there is another problem: the behavior of
is_a() has changed
, with the results that (1) the
autoloader can be triggered, and (2) the return value can change.
This change appears to have caused problems with PEAR, at least; users may
want to be careful about upgrading to this release.
Comments (1 posted)
The PyPy 1.6 release is out. Most of the improvements are
performance-related, but there is also a "JitViewer" tool allowing
developers to see which code has been successfully compiled to assembler,
improvements in the extension module API, and the rough beginnings of NumPY
support. "Unfortunately, this does not mean that you can expect to
take an existing NumPy program and run it on PyPy, because the module is
still unfinished and supports only some of the numpy API. However, barring
some details, what works should be blazingly fast :-)
Full Story (comments: none)
The Mozilla project has announced
the launch of the WebAPI project. "WebAPI is an effort by Mozilla to
bridge together the gap, and have consistent APIs that will work in all web
browsers, no matter the operating system. Specification drafts and
implementation prototypes will be available, and it will be submitted to
W3C for standardization.
" In particular, they want to create a
standardized HTML5 API for tasks like accessing the dialer, the address
book, the camera, etc.
Comments (9 posted)
Newsletters and articles
Comments (none posted)
Python core developer Nick Coghlan has put together a
summary of what is happening in Python development
based on his recent
PyCon AU talk. "Personally, I think the status quo in this space is
in a pretty good place, with python-dev and CPython handling the evolution
of the language specification itself, as well as providing an
implementation that will work reasonably well on almost any platform with a
C compiler (and preferably some level of POSIX compliance), while the PyPy
crew focus on providing a fast, customisable implementation for the major
platforms without getting distracted by arguments about possible new
Comments (none posted)
Page editor: Jonathan Corbet
Next page: Announcements>>