MuPDF

Last updated

MuPDF
Original author(s) Tor Andersson
Developer(s) Artifex Software, Inc.
Initial release31 March 2005;18 years ago (2005-03-31)
Stable release
1.21.0 [1]   OOjs UI icon edit-ltr-progressive.svg / 7 November 2022;5 months ago (7 November 2022)
Repository
Written in C
Operating system Unix-like, Windows, Android, iOS
Type Framework
License dual-licensed (GNU Affero General Public License and commercial permissive license)
Website mupdf.com

MuPDF is a free and open-source software framework written in C that implements a PDF, XPS, and EPUB parsing and rendering engine. It is used primarily to render pages into bitmaps, but also provides support for other operations such as searching and listing the table of contents and hyperlinks.

Contents

The focus of MuPDF is on speed, small code size, and high-quality anti-aliased rendering. Since the 1.2 release, MuPDF has optional support for interactive features such as form filling, JavaScript and transitions. [2]

The library ships with a rudimentary X11 and Windows viewer, and a set of command-line tools for batch rendering (mutool draw), examining the file structure (mutool show), and rewriting files (mutool clean). Later versions also have a JavaScript interpreter (mutool run) that allows running scripts to create and edit PDF files.

A number of free software applications use MuPDF to render PDF documents, the most notable being Sumatra PDF. MuPDF is also available as a package for most Unix-like operating system distributions.

Independent parties have ported the library to many platforms, including the Amazon Kindle, [3] HP TouchPad, [4] PlayStation Portable, [5] Wii, [6] and DOS. [7]

History

In 2002, Tor Andersson started work on MuPDF based on the Libart rendering library by Raph Levien. After Artifex Software acquired the MuPDF project, the development focus shifted on writing a new modern graphics library called Fitz. Fitz was originally intended as an R&D project to replace the aging Ghostscript graphics library, but has instead become the rendering engine powering MuPDF. [8]

In 2005, the first version of MuPDF with the new Fitz library was released.

In 2009, Artifex Software filed a copyright infringement lawsuit against Palm, Inc. for violating their copyrights on MuPDF. [9] At that time Artifex offered MuPDF dual-licensed, either under GPLv2 or under a proprietary license meant by Artifex for commercial use. When Palm included MuPDF in webOS and complied with GPLv2 by releasing the changed source code of the library, [10] [11] Artifex claimed that the GPL version would be unsuitable for "commercial use" [12] as the complete, aggregated product (PDFviewer, WebOS) would have to be placed under GPL. [13] Artifex voluntarily dismissed the suit in 2011. [14]

In 2011, support for Microsoft's XPS was added, based on code from the GhostXPS library. [2]

Since February 2013, with the 1.2 release, licensing terms have changed from GNU General Public License to GNU Affero General Public License v3. [2]

See also

Related Research Articles

Viral license is an alternative name for copyleft licenses, especially the GPL, that allows derivative works only when permissions are preserved in modified versions of the work. Copyleft licenses include several common open-source and free content licenses, such as the GNU General Public License (GPL) and the Creative Commons Attribution-ShareAlike license.

<span class="mw-page-title-main">Ghostscript</span> Interpreter for the PostScript language

Ghostscript is a suite of software based on an interpreter for Adobe Systems' PostScript and Portable Document Format (PDF) page description languages. Its main purposes are the rasterization or rendering of such page description language files, for the display or printing of document pages, and the conversion between PostScript and PDF files.

<span class="mw-page-title-main">Apache License</span> Free software license developed by the ASF

The Apache License is a permissive free software license written by the Apache Software Foundation (ASF). It allows users to use the software for any purpose, to distribute it, to modify it, and to distribute modified versions of the software under the terms of the license, without concern for royalties. The ASF and its projects release their software products under the Apache License. The license is also used by many non-ASF projects.

The Open Software License (OSL) is a software license created by Lawrence Rosen. The Open Source Initiative (OSI) has certified it as an open-source license, but the Debian project judged version 1.1 to be incompatible with the DFSG. The OSL is a copyleft license, with a termination clause triggered by filing a lawsuit alleging patent infringement.

<span class="mw-page-title-main">BusyBox</span> Collection of Unix tools in a single executable file

BusyBox is a software suite that provides several Unix utilities in a single executable file. It runs in a variety of POSIX environments such as Linux, Android, and FreeBSD, although many of the tools it provides are designed to work with interfaces provided by the Linux kernel. It was specifically created for embedded operating systems with very limited resources. The authors dubbed it "The Swiss Army knife of Embedded Linux", as the single executable replaces basic functions of more than 300 common commands. It is released as free software under the terms of the GNU General Public License v2, after controversially deciding not to move to version 3.

The Common Development and Distribution License (CDDL) is a free and open-source software license, produced by Sun Microsystems, based on the Mozilla Public License (MPL). Files licensed under the CDDL can be combined with files licensed under other licenses, whether open source or proprietary. In 2005 the Open Source Initiative approved the license. The Free Software Foundation (FSF) considers it a free software license, but one which is incompatible with the GNU General Public License (GPL).

<span class="mw-page-title-main">Open-source Unicode typefaces</span>

There are Unicode typefaces which are open-source and designed to contain glyphs of all Unicode characters, or at least a broad selection of Unicode scripts. There are also numerous projects aimed at providing only a certain script, such as the Arabeyes Arabic font. The advantage of targeting only some scripts with a font was that certain Unicode characters should be rendered differently depending on which language they are used in, and that a font that only includes the characters a certain user needs will be much smaller in file size compared to one with many glyphs. Unicode fonts in modern formats such as OpenType can in theory cover multiple languages by including multiple glyphs per character, though very few actually cover more than one language's forms of the unified Han characters.

<span class="mw-page-title-main">Software Freedom Law Center</span>

The Software Freedom Law Center (SFLC) is an organization that provides pro bono legal representation and related services to not-for-profit developers of free software/open source software. It was launched in February 2005 with Eben Moglen as chairman. Initial funding of US$4 million was pledged by Open Source Development Labs.

<span class="mw-page-title-main">Free and open-source software</span> Software whose source code is available and which is permissively licensed

Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source code is openly shared so that people are encouraged to voluntarily improve the design of the software. This is in contrast to proprietary software, where the software is under restrictive copyright licensing and the source code is usually hidden from the users.

<span class="mw-page-title-main">Xpdf</span>

Xpdf is a free and open-source PDF viewer for operating systems supported by the Qt toolkit. Versions prior to 4.00 were written for the X Window System and Motif.

A permissive software license, sometimes also called BSD-like or BSD-style license, is a free-software license which instead of copyleft protections, carries only minimal restrictions on how the software can be used, modified, and redistributed, usually including a warranty disclaimer. Examples include the GNU All-permissive License, MIT License, BSD licenses, Apple Public Source License and Apache license. As of 2016, the most popular free-software license is the permissive MIT license.

This comparison only covers software licenses which have a linked Wikipedia article for details and which are approved by at least one of the following expert groups: the Free Software Foundation, the Open Source Initiative, the Debian Project and the Fedora Project. For a list of licenses not specifically intended for software, see List of free-content licences.

<span class="mw-page-title-main">Sumatra PDF</span> Free software PDF reader for Windows

Sumatra PDF is a free and open-source document viewer that supports many document formats including: Portable Document Format (PDF), Microsoft Compiled HTML Help (CHM), DjVu, EPUB, FictionBook (FB2), MOBI, PRC, Open XML Paper Specification, and Comic Book Archive file. If Ghostscript is installed, it supports PostScript files. It is developed exclusively for Microsoft Windows.

License proliferation is the phenomenon of an abundance of already existing and the continued creation of new software licenses for software and software packages in the FOSS ecosystem. License proliferation affects the whole FOSS ecosystem negatively by the burden of increasingly complex license selection, license interaction, and license compatibility considerations.

License compatibility is a legal framework that allows for pieces of software with different software licenses to be distributed together. The need for such a framework arises because the different licenses can contain contradictory requirements, rendering it impossible to legally combine source code from separately-licensed software in order to create and publish a new program. Proprietary licenses are generally program-specific and incompatible; authors must negotiate to combine code. Copyleft licenses are commonly deliberately incompatible with proprietary licenses, in order to prevent copyleft software from being re-licensed under a proprietary license, turning it into proprietary software. Many copyleft licenses explicitly allow relicensing under some other copyleft licenses. Permissive licenses are compatible with everything, including proprietary licenses; there is thus no guarantee that all derived works will remain under a permissive license.

<span class="mw-page-title-main">Free-software license</span> License allowing software modification and redistribution

A free-software license is a notice that grants the recipient of a piece of software extensive rights to modify and redistribute that software. These actions are usually prohibited by copyright law, but the rights-holder of a piece of software can remove these restrictions by accompanying the software with a software license which grants the recipient these rights. Software using such a license is free software as conferred by the copyright holder. Free-software licenses are applied to software in source code and also binary object-code form, as the copyright law recognizes both forms.

<span class="mw-page-title-main">Copyleft</span> Practice of mandating free use in all derivatives of a work

Copyleft is the legal technique of granting certain freedoms over copies of copyrighted works with the requirement that the same rights be preserved in derivative works. In this sense, freedoms refers to the use of the work for any purpose, and the ability to modify, copy, share, and redistribute the work, with or without a fee. Licenses which implement copyleft can be used to maintain copyright conditions for works ranging from computer software, to documents, art, scientific discoveries and even certain patents.

<span class="mw-page-title-main">GNU General Public License</span> Series of free software licenses

The GNU General Public License is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general use and was originally written by the founder of the Free Software Foundation (FSF), Richard Stallman, for the GNU Project. The license grants the recipients of a computer program the rights of the Free Software Definition. These GPL series are all copyleft licenses, which means that any derivative work must be distributed under the same or equivalent license terms. It is more restrictive than the Lesser General Public License and even further distinct from the more widely used permissive software licenses BSD, MIT, and Apache.

Software relicensing is applied in open-source software development when software licenses of software modules are incompatible and are required to be compatible for a greater combined work. Licenses applied to software as copyrightable works, in source code as binary form, can contain contradictory clauses. These requirements can make it impossible to combine source code or content of several software works to create a new combined one.

Open source license litigation involves lawsuits surrounding open-source licensed software. Many of the legal rights of open source software licensors enforceable against users violating licensing agreements are untested by the U.S. legal system. Free and open source software (FOSS) is distributed under a variety of free-software licenses, which are unique among other software licenses. Legal action against open source licenses involves questions about their validity and enforceability.

References

  1. "MuPDF Release history" . Retrieved 11 December 2022.
  2. 1 2 3 "MuPDF News". Mupdf.com. Retrieved 3 January 2017.
  3. "muPDF on Kindle DX!!". MobileRead Forums. Retrieved 3 January 2017.
  4. "Mupdf port for webos Touchpad". PreCentral Forums. Archived from the original on 5 November 2011. Retrieved 25 November 2011.
  5. "ozbookr". code.google.com. Retrieved 6 May 2018.
  6. "WiiXplorer". sourceforge.net. Retrieved 6 May 2018.
  7. "DOS ain't dead – MUPDF/DGJPP test release!". Bttr-software.de. Retrieved 3 January 2017.
  8. "fitz-dev mailing list archives". ghostscript.com. Retrieved 6 May 2018.
  9. "December 4, 2009 - Artifex files suit against Palm". Artifex.com. 4 December 2009. Archived from the original on 18 February 2013. Retrieved 3 January 2017.
  10. "Copyright Infringement Lawsuit Filed Against Palm". webOS Nation. Retrieved 3 January 2017.
  11. "Open Source Packages - opensource.palm.com - Palm". 16 December 2009. Archived from the original on 16 December 2009. Retrieved 3 January 2017.
  12. "Complaint for Copyright Infringement" (PDF). p.4 ¶15, p.6 ¶27. Retrieved 3 May 2013.
  13. Licensing Information IMPORTANT INFORMATION ABOUT DISTRIBUTING SOFTWARE FROM ARTIFEX "If your application, including all of its source code, is licensed to the public under the GNU GPL, you are authorized to ship GPL Ghostscript with your application under the terms of the GPL license agreement. You do not need a commercial license from Artifex." (archived)
  14. "Notice of Voluntary Dismissal With Prejudice" (PDF). Archive.org. Retrieved 3 May 2013.