2002 | John Ellson, Emden Gansner, Lefteris Koutsofios, Stephen C. North, and Gordon Woodhull
Graphviz is a versatile collection of graph drawing tools, including batch layout programs (dot, neo2, fdp, twopi), incremental layout tools (Dynagraph), customizable graph editors (dotty, Grappa), a server for web pages (WebDot), support for graphs as COM objects (Montage), utility programs, and libraries for attributed graphs. The software, available under an Open Source license, has evolved since its inception in 1988, expanding its features based on user feedback. It supports a wide range of applications, particularly in presentation layouts and dynamic debugging tools. Graphviz offers three main batch layout algorithms—hierarchical, symmetric, and circular—with plans to add incremental versions. The architecture follows a Unix “toolkit” model, providing flexibility and reusability through multiple layers, including C libraries, scripting language interfaces, stream processors, and editors. It supports various programming languages (C, C++, Java, Perl, Tcl) and runs on Unix and Windows. The software is widely used, distributed on CD-ROMs, and supported by major Linux distributions and open-source communities.Graphviz is a versatile collection of graph drawing tools, including batch layout programs (dot, neo2, fdp, twopi), incremental layout tools (Dynagraph), customizable graph editors (dotty, Grappa), a server for web pages (WebDot), support for graphs as COM objects (Montage), utility programs, and libraries for attributed graphs. The software, available under an Open Source license, has evolved since its inception in 1988, expanding its features based on user feedback. It supports a wide range of applications, particularly in presentation layouts and dynamic debugging tools. Graphviz offers three main batch layout algorithms—hierarchical, symmetric, and circular—with plans to add incremental versions. The architecture follows a Unix “toolkit” model, providing flexibility and reusability through multiple layers, including C libraries, scripting language interfaces, stream processors, and editors. It supports various programming languages (C, C++, Java, Perl, Tcl) and runs on Unix and Windows. The software is widely used, distributed on CD-ROMs, and supported by major Linux distributions and open-source communities.