[comp.unix.questions] Pavel Curtis CURSES : a summary

greim@sbsvax.UUCP (Michael Greim) (07/14/88)

Hello,								(set tabstop=8)

Some weeks ago I asked some questions about Pavel Curtis' CURSES
(<522@sbsvax.UUCP>).

Thanks to all who have replied.

This article contains

A.) Summary of responses
B.) Letter from Pavel Curtis
C.) Some findings
D.) History
E.) Questions

A.) Summary of responses

Here are the questions again:

1.) Has the status of this software changed since 1982, i.e. is
	it still in the public domain?
2.) Where can I reach Pavel Curtis to ask him for the right to modify
	his source and include his software in any program ?
3.) Why do people use old CURSES with its lots of bugs and inefficiencies, if
	this one is superior, as it seems to be?

To 1.)
	It has been released into the Public Domain (see below) and stays there.

To 2.)
	I got his address, wrote him a letter and got a response, see below.

To 3.)
	It seems a lot of people don't have this CURSES.
	I got my copy from the University of Dortmund, West Germany, together
	with a lot of stuff from comp.unix.sources. In Rich Salz' archives
	there is something called "pcurses" in 1985. This could be the
	CURSES package by Pavel Curtis, I don't know for sure.
	If you send me a cartridge for SUN, tape for VAX or even diskettes
	for MS-DOS I could copy the things for you (if I have the time :-).
	It's about 600K and our system admin say's I must not send it
	via e-mail.


B.) Letter from Pavel Curtis

I got Pavel Curtis address, wrote him a letter :

>Hello,
>We have received a software package which you were the author of :
>CURSES and TERMINFO facilities. The date is 1982 and the copyright
>header in the files says
>
>	This software is copyright (C) 1982 by Pavel Curtis
>
>	Permission is granted to reproduce and distribute
>	this file by any means so long as no fee is charged
>	above a nominal handling fee and so long as this
>	notice is always included in the copies.
>
>	Other rights are reserved except as explicitly granted 
>	by written permission of the author.
>
>I have some questions concerning this software :
>1.) We have the impression that the software is in Public Domain.
>	Your Copyright Notice does not explicitly state so. What
>	*REALLY* is the state of the software ?
>2.) If it is not in Public Domain and you still retain copyright for
>	it, what can we do with the software ? We would like to do the
>	following things with it:
>	- use it in systems developed by the University for research
>	- port it to machines for which we don't have source license
>		and use it in products to make some money with. This does not
>		involve the University. We would include a notice, of course,
>		stating whom the CURSES/TERMINFO software originally was from
>		and only charge money for the changes and porting we have made.
>	- extend and change its functionality and inner workings, and
>		fix some bugs too
>	Do you grant us rights to do any or all of these things ?
>3.) How is your software related to the one used by AT&T in their
>	SysV ? As far as I can tell the documentation of TERMINFO is the
>	same. Have you derived your software from any code probably
>	owned by AT&T, or is it the other way round?
>4.) Is there a later (better) release of the software ? In your manual
>	pages you often refer to a later "official" release. Did this release
>	make it out? Can you send it to us? Where can we get it? Can we
>	use it for our purposes?
>
>Thanks in advance,
>
>	Michael


He answered :

>I no longer care at all what happens to Curses.  Here are the more specific
>answers to your questions:
>
>1)  I suppose that it's in the public domain, since people have felt free to
>    send it out on the net several places without my permission.  In any case,
>    as I said above, I don't care at all.
>
>2)  You can do anything you want to it except send pieces of it to me.
>
>3)  The code was written at the request of Mark Horton who wrote the AT&T
>    version.  He wanted to see a public-domain version written so he gave
>    me the spec and I wrote to fit that spec.  I never saw the AT&T version
>    and I used no other AT&T code as a model in writing any part of the
>    version you have.
>
>4)  There is no later or "official" release.
>
>Have fun,
>
>        Pavel Curtis

C.) Some findings

I ported CURSES to my machine (SIEMENS PC-MX2 running SINIX a SYS3 decendant)
and re-built several programs using CURSES
or CURRY (my local enhancement of CURSES, based on BSD CURSES, but
greatly improved :-)).

	PCURSES will denote Pavel Curtis' CURSES from hereon, CURSES meaning
	the "standard" BSD thing.

The findings were:
- bugs :
	- in mille, which accompanied PCURSES, if you said "q" and then
	  hit e.g. BACKSPACE, the program echoed this as "^H"
	  but could not remove the "^" correctly.
	- in a game of mine (life) the program switches between character
	  sets. PCURSES does not issue the sequence to exit the alternate
	  charset, although this sequence is present and correct in
	  the terminfo file. (BTW : life works ok with CURRY)
	I don't know if these bugs are the result of a faulty terminfo
	specification or an inherent bug in the library but I will look
	into the matter.
- speed :
	PCURSES was slightly faster than CURSES
	CURRY was nearly twice as fast as PCURSES
- size :
	PCURSES builds bigger programs than CURSES
	CURRY programs are about as big
- portability :
	I only had some smaller problems which were fixed easily. Some
	parts of the code silently assume BSD-isms, but my machine happens
	to be SYS3 derived.
- usage :
	PCURSES seems to handle raw/cbreak modes correctly, whereas
	CURSES and CURRY are wrong in some cases. But after all PCURSES uses
	stty whereas CURRY uses termio. Maybe there is some misunderstanding
	what really is meant by "raw" or "cbreak".


D.) History

Tony Hansen wrote something about the history of PCURSES :

(... stuff deleted ...)
>< We have received the source of a package called CURSES, which seems to be
>< a total rewrite of the original (and well loathed) Berkeley or AT&T
>< CURSES.
>
>Actually, it is a rewrite of the System V release 2 version of curses, which
>is based on the terminfo database. The curses library has evolved since
>then, with System V release 3 (3.0, 3.1 and 3.2 each) adding a number of
>features.
>
>< The author, Pavel Curtis, states in the headers of the files, that
><	This software is copyright (C) 1982 by Pavel Curtis
><	...
>< 1.) Has the status of this software changed since 1982, i.e. is
><	it still in the public domain?
>
>No the status has not changed. Do you see that "copyright" notice above?
>That explicitly states that Pavel's curses was never in the public domain.
>
(... stuff deleted ...)
>
>< 3.) Why do people use old CURSES with its lots of bugs and inefficiencies,
><	if this one is superior, as it seems to be?
>
>It is far superior to the Berkeley curses. 
>
>It is not superior to the AT&T curses, nor was it intended to be. Its
>purpose was to provide a publicly accessible (not public domain) version of
>AT&T's new curses library and terminfo database. As such it did quite well.
>
>The AT&T curses has gotten better since 1982. About the only thing which
>Pavel's curses did much better than AT&T's curses was in the terminfo
>compiler; Pavel's compiler was subsequently picked up (with permission) and
>put into the System V release 3 curses.
>
>I was personally involved in this period within the history of the curses
(... stuff deleted ...)

E.) Questions

I have made an extension to CURSES called CURRY. As CURRY is based
on code (probably) owned and copyrighted by AT&T I cannot distribute
CURRY as freely as I (and the university) would like to. I will
study PCURSES and try to fit my modifications to CURSES into PCURSES.
I cannot guarantee to preserve any values or even names. But if
anyone is interested in the results of my work, s/he is welcome
to inquire. I will send patches of PCURSES if anyone is interested,
or indeed if I have any.

To help me find the problems and maybe to spare some work I have
some more questions :

1.) Has anybody done any extensions to PCURSES, which I can get for
	free and for free redistribution?

2.) Has anybody had any experience (spell : b-u-g-r-e-p-o-r-t-s)
	and wants to share ?

3.) Any suggestions about extensions, naming conventions, strange
	architectures, inherent faults, .... ??



Thanks,
		Michael
-- 
+------------------------------------------------------------------------------+
| UUCP:  ...!uunet!unido!sbsvax!greim   | Michael T. Greim                     |
|        or greim@sbsvax.UUCP           | Universitaet des Saarlandes          |
| CSNET: greim%sbsvax.uucp@Germany.CSnet| FB 10 - Informatik (Dept. of CS)     |
| ARPA:  greim%sbsvax.uucp@uunet.UU.NET | Bau 36, Im Stadtwald 15              |
| Phone: +49 681 302 2434               | D-6600 Saarbruecken 11, West Germany |
+------------------------------------------------------------------------------+
| # include <disclaimers/std.h>                                                |
+------------------------------------------------------------------------------+