Appendix C History and Acknowledgments
Org was borne in 2003, out of frustration over the user interface
of the Emacs Outline mode. I was trying to organize my notes and
projects, and using Emacs seemed to be the natural way to go. However,
having to remember eleven different commands with two or three keys per
command, only to hide and show parts of the outline tree, that seemed
entirely unacceptable to me. Also, when using outlines to take notes, I
constantly want to restructure the tree, organizing it parallel to my
thoughts and plans. Visibility cycling and structure
editing were originally implemented in the package
outline-magic.el, but quickly moved to the more general
org.el. As this environment became comfortable for project
planning, the next step was adding TODO entries, basic time
stamps, and table support. These areas highlight the two main
goals that Org still has today: To create a new, outline-based,
plain text mode with innovative and intuitive editing features, and to
incorporate project planning functionality directly into a notes file.
A special thanks goes to Bastien Guerry who has not only writen a large
number of extensions to Org (most of them integrated into the core by now),
but has also helped the development and maintenance of Org so much that he
should be considered co-author of this package.
Since the first release, literally thousands of emails to me or on
emacs-orgmode@gnu.org have provided a constant stream of bug
reports, feedback, new ideas, and sometimes patches and add-on code.
Many thanks to everyone who has helped to improve this package. I am
trying to keep here a list of the people who had significant influence
in shaping one or more aspects of Org. The list may not be
complete, if I have forgotten someone, please accept my apologies and
let me know.
- Russel Adams came up with the idea for drawers.
- Thomas Baumann wrote org-bbdb.el and org-mhe.el.
- Christophe Bataillon created the great unicorn logo that we use on the
Org-mode website.
- Alex Bochannek provided a patch for rounding time stamps.
- Charles Cave's suggestion sparked the implementation of templates
for Remember.
- Pavel Chalmoviansky influenced the agenda treatment of items with
specified time.
- Gregory Chernov patched support for lisp forms into table
calculations and improved XEmacs compatibility, in particular by porting
nouline.el to XEmacs.
- Sacha Chua suggested to copy some linking code from Planner.
- Eddward DeVilla proposed and tested checkbox statistics. He also
came up with the idea of properties, and that there should be an API for
them.
- Kees Dullemond used to edit projects lists directly in HTML and so
inspired some of the early development, including HTML export. He also
asked for a way to narrow wide table columns.
- Christian Egli converted the documentation into Texinfo format,
patched CSS formatting into the HTML exporter, and inspired the agenda.
- David Emery provided a patch for custom CSS support in exported
HTML agendas.
- Nic Ferrier contributed mailcap and XOXO support.
- Miguel A. Figueroa-Villanueva implemented hierarchical checkboxes.
- John Foerch figured out how to make incremental search show context
around a match in a hidden outline tree.
- Niels Giesen had the idea to automatically archive DONE trees.
- Bastien Guerry wrote the LaTeX exporter and org-bibtex.el, and
has been prolific with patches, ideas, and bug reports.
- Kai Grossjohann pointed out key-binding conflicts with other packages.
- Bernt Hansen has driven much of the support for auto-repeating tasks,
task state change logging, and the clocktable. His clear explanations have
been critical when we started to adopt the GIT version control system.
- Manuel Hermenegildo has contributed various ideas, small fixed and
patches.
- Phil Jackson wrote org-irc.el.
- Scott Jaderholm proposed footnotes, control over whitespace between
folded entries, and column view for properties.
- Tokuya Kameshima wrote org-wl.el and org-mew.el.
- Shidai Liu ("Leo") asked for embedded LaTeX and tested it. He also
provided frequent feedback and some patches.
- Jason F. McBrayer suggested agenda export to CSV format.
- Max Mikhanosha came up with the idea of refiling.
- Dmitri Minaev sent a patch to set priority limits on a per-file
basis.
- Stefan Monnier provided a patch to keep the Emacs-Lisp compiler
happy.
- Rick Moynihan proposed to allow multiple TODO sequences in a file
and to be able to quickly restrict the agenda to a subtree.
- Todd Neal provided patches for links to Info files and elisp forms.
- Tim O'Callaghan suggested in-file links, search options for general
file links, and TAGS.
- Takeshi Okano translated the manual and David O'Toole's tutorial
into Japanese.
- Oliver Oppitz suggested multi-state TODO items.
- Scott Otterson sparked the introduction of descriptive text for
links, among other things.
- Pete Phillips helped during the development of the TAGS feature, and
provided frequent feedback.
- T.V. Raman reported bugs and suggested improvements.
- Matthias Rempe (Oelde) provided ideas, Windows support, and quality
control.
- Kevin Rogers contributed code to access VM files on remote hosts.
- Sebastian Rose wrote org-info.js, a Java script for displaying
webpages derived from Org using an Info-like, or a folding interface with
single key navigation.
- Frank Ruell solved the mystery of the
keymapp nil bug, a
conflict with allout.el.
- Jason Riedy generalized the send-receive mechanism for orgtbl tables with
extensive patches.
- Philip Rooke created the Org reference card, provided lots
of feedback, developed and applied standards to the Org documentation.
- Christian Schlauer proposed angular brackets around links, among
other things.
- Eric Schulte wrote org-plot.el.
- Linking to VM/BBDB/Gnus was first inspired by Tom Shannon's
organizer-mode.el.
- Ilya Shlyakhter proposed the Archive Sibling.
- Daniel Sinder came up with the idea of internal archiving by locking
subtrees.
- Dale Smith proposed link abbreviations.
- James TD Smith has contributed a large number of patches for useful
tweaks and features.
- Adam Spiers asked for global linking commands, inspired the link
extension system, added support for mairix, and proposed the mapping API.
- David O'Toole wrote org-publish.el and drafted the manual
chapter about publishing.
- Jürgen Vollmer contributed code generating the table of contents
in HTML output.
- Chris Wallace provided a patch implementing the `QUOTE'
keyword.
- David Wainberg suggested archiving, and improvements to the linking
system.
- John Wiegley wrote emacs-wiki.el, planner.el, and
muse.el, which have similar goals as Org. Initially the
development of Org was fully independent because I was not aware of the
existence of these packages. But with time I have accasionally looked
at John's code and learned a lot from it. John has also contributed a
number of great ideas and patches directly to Org, including the attachment
system (org-attach.el) and integration with Apple Mail
(org-mac-message.el).
- Carsten Wimmer suggested some changes and helped fix a bug in
linking to Gnus.
- Roland Winkler requested additional key bindings to make Org
work on a tty.
- Piotr Zielinski wrote org-mouse.el, proposed agenda blocks
and contributed various ideas and code snippets.