When you deal with a lot of documents every day, whatever you write—whitepapers, manuals, presentations, different marketing materials, contracts, etc.—at a certain point (most commonly, at the final stage) you have to interact with different people, specifying and discussing details, proofreading and approving them.

Even today the most common way to proceed, in many cases, is to send an email. It usually goes like this: send a document, wait for the response, make corrections, send it again, wait for the result, make corrections, and so on until the result satisfies both parties.

Another way to collaborate on documents is to use version control systems such as Subversion or Git, but these tools don't allow real-time collaboration. It's asynchronous, but modified versions of documents are merged into the original version, stored in a repository.

Simultaneous editing has become relatively common thanks to online document editors like Google Docs and MS Office 365, but neither of those are open source. Your data is uploaded and stored on a third-party server (either Google or Microsoft, respectively). They each require registration, which could be a problem if you collaborate with someone who doesn't care to provide their personal information for data harvesting, and neither of them load in some lightweight browsers. Several open source alternatives exist, though, enabling you to edit collaboratively, in real-time, shared documents that exist on your own server, or on the server of someone you know and trust.

In this post, we'll take a look at five open source collaborative text editors available to anyone.

Gobby

Gobby is a text editor that allows real-time, lock-free collaborative text editing. Before you start sharing and co-editing your documents, you'll need to choose a private key and a certificate or create a new pair. You can open an existing document or create a new one that can be later saved into its own native format or exported as an HTML file. The text editor offers full Unicode support, automatic saving of documents, and advanced search and replace options. This is great for creating and co-editing a simple plaintext document, but if you need to format it it's not the right solution for you.

Etherpad

Etherpad is a web-based document editor that enables you to collaborate on documents, leave comments, and interact with others using an integrated chat. It provides you with simple text formatting features like font type, size, color and style, and text alignment. You can import an existing document into Etherpad and export the current "pad" as a HTML, markdown, or plaintext file, print it, or embed as an iframe into an HTML webpage. Written in JavaScript, Etherpad is easily customizable, so you can use one of publicly available instances or set up your own.

Firepad

Unlike the other editors in this list, Firepad allows synchronous document (with CodeMirror) and code (via ACE) co-editing. The formatting features are almost the same as those of Etherpad, save that it allows you to insert images into the plaintext documents. Since it uses Firebase as a backend, Firepad requires no server-side code. You can easily embed it into any web app using the available JavaScript files, so if you wish to extend your web application capabilities by adding the simple document and code editor, Firepad is your choice.

OnlyOffice

OnlyOffice is a multifunctional online office suite that features text, spreadsheet, and presentation editors working within a browser. It includes features similar to MS Office desktop editors, but also lets you to co-edit and comment on documents in real time. You can install it standalone and integrate with any application through API or together with OnlyOffice's collaborative system that offers additional possibilities for document management. If you are looking for a collaborative document editor with good MS Office format compatibility and complex feature-set, OnlyOffice is just what you need.

ProseMirror

ProseMirror is a simple but effective editor that favours minimalism, speed, and precision. It's an attempt to bridge the gap between Markdown text editing and classical "what you see is what you get" (WYSIWYG) word processors. It is specifically intended as a platform for customization, so if your organization is looking into developing a custom editor, this is a great place to start. Even without customization, though, ProseMirror is a nice, minimal, and easy editor for collaboration.

All screenshots provided by the authors. This article was originally published in July 2015 and updated in March 2020.