Collaborative Authoring of Scientific Papers (Introduction)
Writing scientific papers for journals and conferences is one of the most important tasks in academic research. Many papers are co-authored by multiple authors, frequently also by authors that are not even member of the same institution.
Typically, a paper goes through numerous states of editing during the writing process, requiring that changes to the document are shared between authors. Most academic publications, at least in the field of engineering and computer science, are written using the LaTeX typesetting system, but some authors prefer conventional WYSIWYG word processors. Appart from the text, scientific papers typically include plenty of illustrations, tables and bibliographic information. These illustrations and the respective raw-data should also be stored together with the data of the document. An important observation is also, that most scientists love to work with their own, optimized workflow and IT infrastructure. They are generally reluctant to change this workflow, unless given a very convincing reason. Hence, assuming that everybody is agreeing on the same operating system, text editor, or graphics program is unrealistic.
In summary, a system for collaborative editing of scientific papers should satisfy the following requirements:
- provide access to documents for all authors
- support external co-authors that are not part of the same organization
- store all versions of documents and support sharing changes
- store additional data (figures, tables, bibliographic information)
- minimal invasive, leave authors maximum freedom to chose their optimal workflow (operating system, text editor, graphics editor)
Surprisingly, no ready-made solutions have emerged that are specifically tailored to this task. Readers familiar with version control systems (such as Subversion or CVS) will notice that using a version control system can solve many of the requirements presented above. And in fact, the proposed solution bases on subversion.
In the next couple of weeks, I will explain in a number of articles, how a system for collaborative paper editing based on the Subversion version control system can be implemented. I have designed and implemented this system with two colleagues and it has been successfully used for more than one year at the Computer Engineering and Networks Lab of ETH Zurich. Since most researchers in our area prefer to use a Unix-like environment (Linux, Mac OS X, or Solaris), the articles are tailored to these environments. Nonetheless, the basic principles can be easily applied to a Windows environment too. It is also important to note, that the proposed techniques are not only useful in a multi-author collaborative editing process, but can be used equally well for a single author.
Written January 1st, 2007