6 open source tools for writing a book

These versatile, free tools are all you need to write, edit, and produce your own books.
322 readers like this.
Jane Austen book page

Internet Archive Book Image, modified by Opensource.com. CC BY-SA 4.0

I first used and contributed to free and open source software in 1993, and since then I've been an open source software developer and evangelist. I've written or contributed to dozens of open source software projects, although the one that I'll be remembered for is the FreeDOS Project, an open source implementation of the DOS operating system.

I recently wrote a book about FreeDOS. Using FreeDOS is my celebration of the 24th anniversary of FreeDOS. It is a collection of how-to's about installing and using FreeDOS, essays about my favorite DOS applications, and quick-reference guides to the DOS command line and DOS batch programming. I've been working on this book for the last few months, with the help of a great professional editor.

Using FreeDOS is available under the Creative Commons Attribution (cc-by) International Public License. You can download the EPUB and PDF versions at no charge from the FreeDOS e-books website. (I'm also planning a print version, for those who prefer a bound copy.)

The book was produced almost entirely with open source software. I'd like to share a brief insight into the tools I used to create, edit, and produce Using FreeDOS.

Google Docs

Google Docs is the only tool I used that isn't open source software. I uploaded my first drafts to Google Docs so my editor and I could collaborate. I'm sure there are open source collaboration tools, but Google Doc's ability to let two people edit the same document at the same time, make comments, edit suggestions, and change tracking—not to mention its use of paragraph styles and the ability to download the finished document—made it a valuable part of the editing process.


I started on LibreOffice 6.0 but I finished the book using LibreOffice 6.1. I love LibreOffice's rich support of styles. Paragraph styles made it easy to apply a style for titles, headers, body text, sample code, and other text. Character styles let me modify the appearance of text within a paragraph, such as inline sample code or a different style to indicate a filename. Graphics styles let me apply certain styling to screenshots and other images. And page styles allowed me to easily modify the layout and appearance of the page.


My book includes a lot of DOS program screenshots, website screenshots, and FreeDOS logos. I used GIMP to modify these images for the book. Usually, this was simply cropping or resizing an image, but as I prepare the print edition of the book, I'm using GIMP to create a few images that will be simpler for print layout.


Most of the FreeDOS logos and fish mascots are in SVG format, and I used Inkscape for any image tweaking here. And in preparing the PDF version of the ebook, I wanted a simple blue banner at top of the page, with the FreeDOS logo in the corner. After some experimenting, I found it easier to create an SVG image in Inkscape that looked like the banner I wanted, and I pasted that into the header.


While it's great to use GIMP to do the fine work, sometimes it's faster to run an ImageMagick command over a set of images, such as to convert into PNG format or to resize images.


LibreOffice can export directly to EPUB format, but it wasn't a great transfer. I haven't tried creating an EPUB with LibreOffice 6.1, but LibreOffice 6.0 didn't include my images. It also added styles in a weird way. I used Sigil to tweak the EPUB file and make everything look right. Sigil even has a preview function so you can see what the EPUB will look like.


Because this book is about installing and running FreeDOS, I needed to actually run FreeDOS. You can boot FreeDOS inside any PC emulator, including VirtualBox, QEMU, GNOME Boxes, PCem, and Bochs. But I like the simplicity of QEMU. And the QEMU console lets you issue a screen dump in PPM format, which is ideal for grabbing screenshots to include in the book.

Of course, I have to mention running GNOME on Linux. I use the Fedora distribution of Linux.

photo of Jim Hall
Jim Hall is an open source software advocate and developer, best known for usability testing in GNOME and as the founder + project coordinator of FreeDOS.


I use asciidoc markup for nearly every document I write. Just use a plain text editor. Books are easy to produce too.

I've used LaTeX before to write technical articles, and LaTeX excels at that. But for the book I preferred to use a GUI tool. LibreOffice was great!

Another application worth the mention for ebooks is Calibre. It's billed as an ebook management program, but it's especially handy for conversions and previews.

Interesting tool. I hadn't heard about Manuskript. I like the distraction free themes. They have a screenshot on their website that appears to simulate a VT220 "green screen" text terminal for writing. I imagine there's also a "white on blue" text terminal to use; I used to like that for writing, it was easy on the eyes.

But what I needed in a word processor at that stage was final formatting. I relied heavily on LibreOffice's styles, including paragraph styles, character styles, page styles. That made assembling the final book (PDF and printed version) really easy.

In reply to by notsag

Hi Jim Hall and all,

I just cannot stop myself from commenting, when I saw HW Emulators and Emulator managers on the same list...
Please divide those... Please!
For me it is the same as having list: "chromium, konqueror, dilo, http, seamonkey and etc", yes all browsers use http and https, but these are not the same... cannot be on the same list.

I see your point, but since this book was about installing and using FreeDOS, I needed to install and run FreeDOS so I could grab screenshots for the book. Doing that in an emulator like QEMU made sense. So for this article, it was relevant to mention QEMU.

In reply to by lpic.lt

As a Google Docs replacement you can user LibreOffice Online:


Evidently is not up to you to run such software but maybe by the editor for using it with many writers.

I know you cannot consider them all but I think Pandoc is also an amazing tool to write any kind of document.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.