See the ncurses release announcement or the FAQ


Ncurses has an involved history. The package was originated as pcurses, written by Pavel Curtis around 1982, maintained by various people through 1986. It was later polished (e.g., ANSI prototypes, reformatted, some bug fixes, but still essentially the same package) and re-issued as ncurses 1.8.1 in late 1993 by Zeyd Ben-Halim. Subsequent work (through 1.8.8) was driven by Eric Raymond, who eradicated previous signs of authorship with the current copyright notice between 1.8.7 and 1.8.8, early 1995. Later, this extended to incorporating the forms and menus libraries written by Juergen Pfeifer, and a panel library written by Warren Tucker. Ncurses is the work of dozens of people. Some are listed in the credits.

My involvement with ncurses dates back to the 1.8.1 release. I was looking for an avenue to make a SystemV-based curses support resizable windows (e.g., in an xterm). This is easily achievable with BSD-curses, but not with the distributed versions of SystemV curses. Ncurses 1.8.1 was too immature (dumped core, was not portable, etc).

I revisited it in mid-1994, after an initial pass of making ded auto-configured. Ncurses 1.8.5 was advertised as 100% SVr4 compatible. I designed a minimal interface for resizeterm, proposing it to Zeyd, who promised it would be in 1.8.6 (it wasn't). Coming back to 1.8.7, I found that the color support was broken. Since the package is useless to me unless it implements faithfully the SVr4 interface, I approached Eric in early 1995 with my growing list of problems.

Since then, I've corrected the implementation of color, terminal modes, implemented resizing, as well as the configuration scripts, and resolved numerous reliability and portability issues.

There is further work to do: the screen optimization has not been rigorously tested, there are interesting problems to work out with internationalization, etc.

Download:The source (gzip'd tar)
Patches: Rollup and incremental diff's