Here's a draft for a mission statement, based on discussions over the past few months. Comments, please.
==================================================================== GROFF MISSION STATEMENT (2014) Groff holds an important place in the GNU universe. Its ancestry, through nroff and troff, is inextricably linked with the development of Unix itself. A strong record of backward compatibility stands in tribute to the program's original design and as proof of Unix principles in general. First conceived to format technical documentation, troff and its GNU successor, groff, evolved past the initial mandate into a sophisticated typesetting system with the advantages of small size, portability, and speed relative to other players in the Unix typesetting field. Groff's lineage and its niche use as a manpage formatter have saddled it with a reputation for being a legacy tool of limited application. In fact, its extensive typesetting requests and macro language are routinely used to generate PostScript and PDF documents of all kinds, from simple correspondence to complex, technical reports and plate-ready books. Continuing development of groff will focus on these areas: the backend, low-level typesetting functions (requests), manpages, and the build system. In addition, some easing of historical restrictions and the extension of available programming constructs are being considered. Backend - implementation of the Knuth-Plass linebreaking algorithm with paragraph-at-once formatting; groff currently implements line-at-a-time Requests - implementation of additional requests to extend typographic control - modification of some existing requests, where deemed significantly advantageous, to sane-ify their behaviour; if alterations risk breaking existing documents, the addition of new, similarly- but uniquely-named requests incorporating the changes Manpages - improve the semantic usefulness of manpage markup; groff currently formats manpages for TTYs and PostScript from largely presentational markup, however increased use of browsers necessitates parsing source files for semantic markup in order to simplify their conversion to presentationally-indifferent xml The build system - streamline the build system to improve flexibility and portability Easing of historical restrictions/programming constructs - real number arithmetic to replace current integer arithmetic - operator precedence to replace current linear evaluation of expressions - addition of programming constructs that are currently unavailable, e.g. arrays and case statements Backward compatibility will remain a top priority, as will avoiding feature-bloat and increased overheads. Groff's viability and vitality rest as much on these as on forward-looking development. Finally, it is hoped that users of and contributors to groff will promote its use, providing unobtrusive advocacy to encourage more widespread adoption of the program, thereby increasing the pool of potential contributors and developers. ==================================================================== I'm iffy about specifying full conversion to automake for the build system since that's still under discussion. If groff goes that route, stating it explicitly in the mission statement will be helpful. -- Peter Schaffter http://www.schaffter.ca