The Readium Foundation is an Open Source Foundation collaboratively developing technology to accelerate the adoption of EPUB 3 and the Open Web Platform by the Digital Publishing Industry. The fundamental goal of the Readium project is to produce a robust, performant, spec-compliant EPUB reading system that can be deployed in browsers, embedded into browser apps like the Google Chrome extension or simply embedded as an SDK into native applications.
The project’s primary focus is two-fold:
The project’s primary focus is two-fold:
- Provide functional out-of-the-box EPUB reading systems for use on the web. Currently, there are two, a cross-browser solution for embedding in users’ websites, named the Readium CloudReader, and the Readium Chrome Extension, which is available for download from the Google Chrome Store.
- A cross-platform native-code software development kit (SDK) The SDK can be used to build native applications across a variety of hardware platforms.
The Readium Foundation uses various licenses to disribute technology and to accept contributions from individuals and corporations. In all cases, contributors retain full rights to use their original contributions for any other purpose outside of Readium Foundation while providing the the Readium Foundation and its projects the right to distribute and build upon their work within Readium.org
Goals and Principles
Readium is available for both open source and proprietary applications. Readium SDK modules are publicly licensed as Open Source Software via Gnu Affero General Public License Version 3. This license contains terms incompatible with use in closed-source software including a copyleft provision.For open-source, nonReadium Foundation also makes available an Alternative License based on the Apache License which provides additional rights targeted to commercial adopters utilizing Readium SDK in closed-source software, including notstrong> having any copyleft provision..
Readium strives to create a courteous, welcoming environment that feels approachable to newcomers. Readium maintains both public chat rooms (via Slack) and a public mailing list where the ideas of contributors both new and old are heard and discussed with equal weight.
Readium aims for compliance with the latest EPUB specification, and to be a testbed for support of emerging EPUB modules. Being a comprehensive reference system, Readium places a high priority on compatibility with the EPUB 3 specifications.
The Readium Project also provides feedback to the IDPF EPUB standards community as well as to the broader W3C and web standards community, introducing new technologies and making sure new standards can be implemented in our engine. We use regression testing to maintain our standards compliance.
We strive for compatibility with real-world commercial EPUB Reading Systems, but not at the expense of standards compliance. In particular we seek to be a reference system that promotes digital publications for the Open Web, and does not depend on, or proliferate proprietary technologies. We discourage “embrace and extend” tactics that aim to create closed silos, by the positive step of showcasing and delivering leading-edge functionality that is fully specified, free and open, and interoperable.
The main Readium code base strives to always maintain a high degree of stability. This means that crashes, hangs and regressions are given the highest priority for fixes and releases. Readium uses a careful release process and closely tracks reported issues from both internal testing and external forums.
Maintaining and improving speed and memory use is an important goal, however being a complete reference system for EPUB is more important than speed or memory efficiency. We never consider performance good enough, but strive to constantly improve.
Protecting users from security violations is critical. We fix security issues promptly to protect users and maintain their trust.
The Readium project addresses a variety of needs, from desktop and mobile browsers to native applications on the desktop and mobile devices. We strive to enable porting or deploying Readium to a wide variety of desktop, mobile, embedded and other platforms.
To the extent that Readium features affect the user experience, we want them to work in accordance with good human interface design principles, and to mesh well with platform-native HI conventions. Furthermore, we strive to integrate with platform accessibility features to allow access for all users, including those with disabilities.
While IDPF is the sponsoring organization for Readium Project, governance of the project is by a seven-person board of directors rather than the policies and procedures IDPF utilizes for standards-development working groups. In addition, the board takes direction from the members of the Readium Foundation as well as the grass-roots needs and requests from the contributors (who need not be members of the Foundation).
The following out of scope for the project.
- Readium is a reference system and engine, not a commercial Reading System.
- We do not plan to develop or host a full-featured commercial-quality application based on Readium.
- Readium is an engineering project not a science project. For new features to be adopted into Readium, we strongly prefer the technology, or at least the use case for it, to be proven. Since Readium has been created to promote EPUB format support under the sponsorship of IDPF, we will in general give the benefit of the doubt that features standardized for EPUB by IDPF meet this bar. Support for non-standard extensions to EPUB will be discouraged unless widely supported in real world content.
- Readium is not the solution to every problem.
- We focus on handling EPUB publications, not complete solutions to every imaginable technology need.
Readium ProjectsThe Readium Projects primary goal is to provide rock-solid, performant building blocks and applications for EPUB3 publications.
There are two parts to ReadiumJS:
- A Readium Chrome Extension which is available from the Chrome Web Store. It is one of the most full-featured EPUB 3 Reading Systems available.
- A cross-browser implementation known as the CloudReader.
The Readium SDK project is developing a compact, performant EPUB 3 rendering engine optimized for use in native apps for tablets and other devices. The Readium SDK Core C++ library with platform wrappers implementations where appropriate.
Readium Licensed Content Protection (LCP)
Readium LCP is an interoperable passphrase-based rights management solution, with support for different business models, including library lending with early return and loan extension. This is a simple but reliable solution for distributing protected content, based on rock solid encryption algorithms (AES-256) and classical Public Key Infrastructure (PKI) techniques.
Readium LCP is vendor-neutral and is based on a decentralized architecture, where no third party DRM provider gains access to user data, usage statistics or unencrypted ebook content.
The solution is minimally intrusive for the end-user, who doesn’t need to create a third party account, will not see his personal data processed by a third party, can read his ebook on any compatible device, even offline, can even share it with his family by sharing his personal passphrase. Rights-owners can still protect their content against over-sharing and revoke a license if it is used on too many devices.
Readium LCP is easy to integrate, thanks to the open-source software EDRLab has developed for client-side and server-side integration:
- client-side, as a library that is seamlessly added to the Readium SDK;
- server-side, as a multi-platform DRM server installed on an e-distributor platform.
Readium LCP is now ready for launch : for more information on the competitive cost model of the solution and how to be part of the Readium LCP ecosystem, please contact us now.
Find out more at https://readium.github.io/readium-lcp-specifications-codebase/
The ultimate goal of the project is to develop a framework for interpreting and rendering EPUB digital publishing markup. This framework will consist of leveraging all the capabilities of the existing browser engines and supplementing those capabilities with separate modules (polyfills, if you will) that provide additional functionality. These additional modules are intended to be, insofar as possible, independent of one or another so that they can be used independently of the overall framework. At the same time, these polyfills will be designed so that they can be easily and seamlessly combined to produce complete reading systems.
The project has started in September of 2016 with a report on the state of development of the Readium SDK and Readium JS, highlighting the top issues developers were facing when using the codebase. The current phase is a brainstorming on the future architecture of the Readium-2 framework, and you can follow this work on the Readium-2 Github.