Technology and Trends
 USENET Archives
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!cmcl2!phri!roy
From: r...@phri.UUCP (Roy Smith)
Subject: Copyrighting trivial code
Message-ID: <2567@phri.UUCP>
Date: Wed, 21-Jan-87 00:04:45 EST
Article-I.D.: phri.2567
Posted: Wed Jan 21 00:04:45 1987
Date-Received: Wed, 21-Jan-87 22:02:37 EST
Reply-To: r...@phri.UUCP (Roy Smith)
Organization: Public Health Research Inst. (NY, NY)
Lines: 34

	While perusing /usr/src on my new 4.3BSD tapes, I ran across
"pagesize.c".  This little gem consists of 15 or so lines of copyright
notice and SCCS information, and a main() routine which has a 1-line body.
The code contained in the body is (how do I say this without violating the
copyright?) a call to a well-known standard I/O output routine with two
arguments, the first of which specifies decimal conversion, the second of
which is a system call to get the page size.

	The obvious question is whether the copyright notice means
anything.  Can one really copyright something which is so straightforward,
trivial, and obvious?  If you gave the assignment "write a C program which
prints the system page size in decimal to stdout" to 50 programmers, most
of them would come up with substantially the same program, and many would
probably be identical, character for character, to the 4.3 version.  If the
copyright is valid, then any program I write which has that line of code,
or a similar line of code, in it would be a derivitive work.  Clearly this
is absurd.

	The real question is where does this end?  If you write a 500 line
program, and I come along and use your 500 lines of code in a program I
wrote, making some minor textual changes, like adding extra whitespace
around the operators, it would be pretty clear that I violated your
copyright.  On the other hand, I assert that if I use the line of code from
4.3's /usr/src/bin/pagesize.c, unchanged, in a program I write, I havn't
violated any copyright.  Obviously there has to be some point in between
these two extremes which delimits what is OK and what isn't.  Where is that
Roy Smith, {allegra,cmcl2,philabs}!phri!roy
System Administrator, Public Health Research Institute
455 First Avenue, New York, NY 10016

"you can't spell deoxyribonucleic without unix!"

Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!elsie!ado
From: a...@elsie.UUCP (Arthur David Olson)
Subject: Re: Copyrighting [non]trivial code
Message-ID: <7322@elsie.UUCP>
Date: Fri, 23-Jan-87 16:45:49 EST
Article-I.D.: elsie.7322
Posted: Fri Jan 23 16:45:49 1987
Date-Received: Sat, 24-Jan-87 05:38:48 EST
References: <2567@phri.UUCP>
Organization: NIH-LEC, Bethesda, MD
Lines: 23
Keywords: getopt

I'm less worried by the copyrighting of trivial code than by the copyrighting
of non-trivial code.

	Script started on Fri Jan 23 16:40:58 1987
	$ head /usr/src/lib/libc/compat-sys5/getopt.c
	 * Copyright (c) 1985 Regents of the University of California.
	 * All rights reserved.  The Berkeley software License Agreement
	 * specifies the terms and conditions for redistribution.

	#if defined(LIBC_SCCS) && !defined(lint)
	static char sccsid[] = "@(#)getopt.c	4.3 (Berkeley) 3/9/86";
	#endif LIBC_SCCS and not lint

	script done on Fri Jan 23 16:41:23 1987
UNIX is an AT&T Bell Laboratories trademark.
Lint is an Oscar Madison trademark.
	UUCP: ..decvax!seismo!elsie!ado   ARPA: elsie!...@seismo.ARPA
	DEC, VAX, Elsie & Ado are Digital, Borden & Ampex trademarks.