Published May 27, 2020 || Updated Nov 9, 2022
I write. That means I follow a process that looks a lot like . . .
⟶ Draft ⟶ Revision ⟶ Review ⟶ Submission or Publish
Each stage of that process uses any number of tools. Nearly all of which, for me, are open source or freely accessible online. In this article, I give a broad overview of the tools and applications that have worked for me in the past and which ones, I think, are appropriate for the various stages of a writer's process. Additionally, I introduce a newly created repository of templates and how-tos in support of the processes I describe here.
Why open source?
I'm an advocate for open source. So much so, I run Linux on my desktop (laptop) and have done so for nearly 25 years. Open source democratizes software and has served as a catalyst for fostering a vibrant and competitive ecosystem where both community and commercially developed software can thrive. Open source ensures that high-quality applications are available to anyone who has access to a computer. Open source has forced commercial vendors to innovate to remain competitive: subscription-based pricing, free + paid-for add-ons, . . . forced them to simply create better software. Open source has been a net good for the world.
Open source has also matured, spreading broadly to all platforms and every market. You no longer have to commit to one of the traditional Linux distributions just to take advantage of many of the tools and applications once available only to authors and writers using that platform. Linux, macOS, and Windows now share many of the same applications. Chromebook users have fewer options, but they still have some powerful tools at their disposal, which I will only touch upon here (that may have to be a separate article).
Newly created: repository of writing resources
- Short story and novel manuscript templates for LibreOffice and Google Docs
- Project template for the Joplin notebook application
- Font thoughts, and more!
For a recent project, I wanted to standardize and streamline how I develop content and prepare for submissions (i.e., how I format a manuscript). I took a hard look at how I developed past projects and attempted to document what worked for me. For manuscript development, where I would typically one-off a document, and therefore yet again reinvent the wheel, I instead invested the effort in learning how to use the tools—LibreOffice in this case—as intended: first build a template and then format the manuscript from that. I use plenty of other tools as well in the process of developing a project, most notably the Joplin notebook application. I streamlined and codified my usage of that tool as well.
Days later, and after much experimentation, I cobbled together some working templates and guidelines (Joplin, LibreOffice, Google Docs,
LyX/LaTeX), organized them, and shoved them into a GitHub repository to share with all of you good people (more on that in a bit). Other writers want to know how to use these applications efficiently.
Free and open-source applications for writers
I am a Linux desktop user. Therefore, if an application did not work from my perspective, it will not be represented here. You will have to look elsewhere if you want to leverage open source specific to other platforms. Most of these can also be used on the Windows or macOS platforms.
Some of the available tools, a rundown:
I highlighted the tools I use the most in the writing process. Links provided in the resources section at the end of this article.
- VSCode, Xed, Gedit, Vim, Text Editor (Chrome Web App and Firefox Extension)
- GhostWriter, Joplin, Marktext, Bear & Typora
Note, the text editors in the previous section can all help you edit markdown, but that is not their native format.
- Online: dillinger.io, Hackmd.io, Github (sorta), markable.in, stackedit.io
- Abiword, LibreOffice, LyX (sort of), WPS Office Suite
- Online: Google Docs, Zoho Writer
- Bibisci, Joplin (Evenote-like), Obsidian (Zettlekasten-focused), Manuskript (buggy)
Document processing engines
- Calibre, DocBook, TeX/LaTeX, Pollen, and Pandoc
- Inkscape and GIMP (image manipulation), Scribus (text/graphic layout)
- Dropbox (cloud storage), Keybase Filesystem [KBFS] (encrypted cloud backups and storage)
- Google Keep (quick notes), Trello (process and organization), Signal (mobile chat: the note-to-self feature is gold)
Fortunately, all or most of these are available for Linux, macOS, and Windows. Chrome OS (Chromebooks) is limited to online tools and Chrome OS-only editors. I recommend all of these applications, though some require more configuration and expertise to use than others. Atom, for example, requires additional configuration to use as an effective markdown editor. Keybase is rather confusing for non-technical people.
A comment about LibreOffice on macOS: There exists a fork of LibreOffice called NeoOffice. It more natively integrates with macOS, but it hasn't kept up with LibreOffice development. Just use LibreOffice on macOS. It may not be as seamless of an experience, but the feature set is vastly superior to NeoOffice's at this point. That being said, NeoOffice is "good enough," so feel free to use it. Note: you will have to pay for the pre-built binaries.
My Writing Process
Again: Idea ⟶ Summary Draft ⟶ Outline ⟶
⟶ Draft ⟶ Revision ⟶ Review ⟶ Submission or Publish
I use different tools throughout this process, but until I hit the review stage, the only audience I have to please is myself. If I wanted to do all of my writing in crayon on napkins, so be it. But at some point, someone besides myself is going to be reading my Great American Novel™. At that point, formatting and presentation start to matter.
Of course, I don't include the use of crayons in any part of my process. I generally start with pen-and-paper or Joplin . . .
Process step: Idea ⟶ Summmary Drafts ⟶ Outline ⟶ Draft ⟶ Revision
In the earliest stages of writing, I write everything with either pen-and-paper or typed into Joplin. Joplin is both an editor of markdown-formatted text files (documents) and an organizer of those documents. If you have ever used Evernote, it operates with the same guiding principles: notebooks and notes. Some "notes" are indeed mere notes. But others are far more substantial and form the draft of a short story or novel: scene by scene. I also store every poem and every blog post within Joplin. (I am typing this in the Joplin editor, right now, in fact.) I use Joplin to organize and structure my project from its earliest stage, then develop the project through draft and revision, then finally, I continue until it is ready for review. Joplin is my digital brain.
Process step: Review
For the review stage, I share with reviewers either a Google Doc (a live document allowing comments or an exported PDF) or LibreOffice (an exported PDF). Note: for longer documents, LibreOffice is probably the better choice because you can move entire chapters around with ease.
Process step: Submission
Submission means that you are delivering a manuscript to an agent and then a publisher (an editor). The format of a manuscript is relatively standardized, but every publisher will provide guidelines that include some nuance for how they want the manuscript formatted. Within the Writing Resources repository, I provide templates (short story and novel) that implement baseline manuscript formatting, which may only need to be adjusted a bit to meet an editor's specific needs.
Don't be afraid to ask your agent and editor whether they can accept a manuscript as a Google Docs or LibreOffice document. If they insist on a
.docx (Microsoft Word formatted) document, both Google Docs and LibreOffice export to that format. Though, follow-on changes may be more natural if you and your editor are working with the document in its native state: a live Google Doc or a LibreOffice-formatted
Process step: Publish
If you are working with a traditional publisher, they will handle the final publishing process for you.
If you are self-publishing to the web as a blog post or news article, copying content from your editing tool of choice into blog software or some content management platform is pretty straightforward.
If you are publishing a downloadable PDF or a crafting a self-published book, you will want to use something like LibreOffice, or if you are adventuresome, LyX/LaTeX. For this use case, don't use Google Docs. Google Docs cannot produce a finished product good enough for print. (Note, a downloadable PDF is effectively the same as a "print" document.) Maybe a Google Docs produced PDF would be acceptable for a poem or something similar, but not for a novel, short story, memoir, etc.
Google Docs is unable to auto-hyphenate text. A professionally published print document needs to be fully justified and hyphenated. Additionally, LibreOffice gives you much better control over the frontmatter, end pages, headings and footers, and more. LibreOffice also allows you to use any font you can lay your hands on. Google Docs does provide plenty of font choices, but if you absolutely have to have a particular font, LibreOffice may be the solution. Read more about fonts here: On Fonts.
If you intend to self-publish via Lulu, Kobo, B&N Press, Amazon, or one of the other platforms where you need to upload a properly formatted PDF, start a new document from my template and proceed from there adjusting as required. Adjust the styles to the correct specs, turn on hyphenation and justified text, change the fonts to something more compelling, tweak tweak tweak and done!
EPubs, MOBIs, and AXW3s (ebook formatting) are more challenging. If you want the richest experience for your readership and your book available for the Kindle, Nook, and Kobo, then you need to be able to supply your book in those formats. Alas, LibreOffice and Google Docs are simply not designed for this. Though I have not used it, Calibre is probably the best open-source desktop application option available today. It looks slick, though I hear mixed reviews about its ebook creation tools. Additionally, most of the online publishers have ways to generate ebooks for their platform. Reedsy provides an online tool for which I hear good things. I recommend first selecting which online marketplaces interest you, then determine which tools will get you there.
Check out my Writing Resources repository
Try out my LibreOffice templates. Check out the example manuscripts I've included. There is a lot of information in there to help you get started: https://github.com/taw00/writing-resources.
Resources (most are available for Linux, Windows, and macOS):
- VSCode: https://code.visualstudio.com/
- Joplin: https://joplinapp.io and https://github.com/taw00/joplin-rpm
- LibreOffice: https://www.libreoffice.org/ and https://en.wikipedia.org/wiki/LibreOffice
- Google Docs (cloud-based tool): https://docs.google.com/
- Zoho Writer I use from within Google Drive/Docs
- Calibre: https://calibre-ebook.com/
- Reedsy Book Editor (cloud-based tool): https://reedsy.com/write-a-book
- Text Editor Chrome Web App an Firefox Extension
Other resources mentioned:
- LyX: https://www.lyx.org/ and https://en.wikipedia.org/wiki/LyX, a graphical front end to LaTeX, which is a kinder and gentler front end to TeX, a powerful typesetting engine.
- NeoOffice (a dated, but native LibreOffice for macOS): https://www.neooffice.org/ and https://en.wikipedia.org/wiki/NeoOffice
- Trello: https://trello.com
- Keybase Filesystem (kbfs): https://keybase.io and https://book.keybase.io/docs/files
- Signal: https://signal.org/ — Check out Signal's "Note to self" feature (i.e. text yourself).
My current and longest desktop Linux variant has been Fedora Linux. In those early days (25-ish years ago), I also played with OS/2 because it was cool. Today, I also have an ancient Chromebook that is fun to play with. I am a fan of what Google is doing with Chromebook. My wife once had an Apple laptop, which was a lemon and a support nightmare. She is now a happy Chromebook user, and as a working professional, this is a testament to what Google has done with their mostly open-source platform. ↩︎
In this context, a traditional desktop Linux distribution refers to Fedora, OpenSUSE, Arch, Ubuntu, Debian, etc. Chrome OS and Android are also Linux distributions, but are very different than those others. ↩︎