Ouch -- there was no licensing issue with curses or termcap. termcap and curses were written at UCB. When MaryAnn went to Columbus - there was desire to rewrite to be "compiled". That work was terminfo. AT&T >>restricted<< terminfo. Pavel (with coaching from a few of us, including me], wrote a new implementation of terminfo. When he was added it, he combined a rewrite of curses. Clem ᐧ On Sat, May 25, 2024 at 12:06 PM Clem Cole wrote: > Ken was working in Ing70 [he was part of the Ingres group] - IngVax did > not yet exist, > ᐧ > ᐧ > > On Sat, May 25, 2024 at 11:57 AM G. Branden Robinson < > g.branden.robinson@gmail.com> wrote: > >> Hi Clem, >> >> At 2024-05-25T11:40:13-0400, Clem Cole wrote: >> > It was never needed to be ported -- it was developed on V7. >> > It was released in comp.sources.unix volume1 as pcurses >> >> This bit conflicts with other accounts. Here's what I have in draft. >> >> HISTORY >> 4BSD (1980) introduced curses, implemented largely by Kenneth >> C. R. C. Arnold, who organized the terminal abstraction and screen >> management features of Bill Joy’s vi(1) editor into a library. >> That system ran only on the VAX architecture; curses saw a port to >> 2.9BSD (1983) for the PDP‐11. >> >> System V Release 2 (SVr2, 1984) significantly revised curses and >> replaced the termcap portion thereof with a different API for >> terminal handling, terminfo. System V added form and menu >> libraries in SVr3 (1987) and enhanced curses with color support in >> SVr3.2 later the same year. SVr4 (1989) brought the panel library. >> >> pcurses by distinction was, by the accounts I have, a later effort by >> Pavel Curtis to clone SVr2 curses by taking BSD curses and replacing its >> termcap bits with a reimplementation terminfo. This was apparently done >> for licensing reasons, as BSD code was free ("as in freedom") and System >> V certainly was not. >> >> The pcurses 0.7 tarball I have contains a document, doc/manual.tbl.ms, >> which starts as follows. Note the 2nd and 3rd paragraphs. >> >> .po +.5i >> .TL >> The Curses Reference Manual >> .AU >> Pavel Curtis >> .NH >> Introduction >> .LP >> Terminfo is a database describing many capabilities of over 150 >> different terminals. Curses is a subroutine package which >> presents a high level screen model to the programmer, while >> dealing with issues such as terminal differences and optimization of >> output to change one screenfull of text into another. >> .LP >> Terminfo is based on Berkeley's termcap database, but contains a >> number of improvements and extensions. Parameterized strings are >> introduced, making it possible to describe such capabilities as >> video attributes, and to handle far more unusual terminals than >> possible with termcap. >> .LP >> Curses is also based on Berkeley's curses package, with many >> improvements. The package makes use of the insert and delete >> line and character features of terminals so equipped, and >> determines how to optimally use these features with no help from the >> programmer. It allows arbitrary combinations of video attributes >> to be displayed, even on terminals that leave ``magic cookies'' >> on the screen to mark changes in attributes. >> >> > That said, I believe late volumes have nervous updates. >> >> I'm gathering data for another paragraph of that "History" section now. >> The long and short of it seems to be that: >> >> BSD curses, besides getting ported to many platforms, begat pcurses. >> >> pcurses begat PCCurses, PDCurses, and ncurses. >> >> PCCurses died. >> >> PDCurses went dormant, begat PDCursesMod, and roused from its slumber. >> >> ncurses, after a long period of erratic early administration that seemed >> more concerned with seizing celebrity status for its developers (one of >> whom was more single-minded and successful at this goal than the other) >> than with software development, has been maintained with a steady hand >> over 25 years. >> >> There also exists NetBSD curses, which wasn't developed ex nihilo but >> I'm not sure yet what origin it forked from. >> >> Regards, >> Branden >> >