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) Newsgroups: misc.legal,comp.unix.wizards 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 point? -- 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) Newsgroups: misc.legal,comp.unix.wizards 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.