rb@ccird2.UUCP (Rex Ballard) (04/11/86)
Berkely includes in it's distributions, certain pieces of public domain software. Much of it contributions from net.sources. On the other hand, they have a liscence agreement that includes trade secrecy as part of the agreement. In the case of GNUemacs, there is a long "copyright but public domain" notice. In this case, the author has proof that he owns the property, but he is explicitly putting it in public domain. In fact, the author explicitly requests that this "public domain notice" not be removed as a condition of publication. He has the right to do this because he owns the copyright. As to sources for Lex and Yacc, there is a serious question. Did Steven Johnson (the author) intend that this be a public domain program, did he not copyright it because the protections on registered copyrighted software were not in place yet (YACC was written before the revised copyright act of 1979 was in effect), or were other factors (Anti-trust, Hacker's ethic,...) preventing Bell labs from even placing copyright notices on the documentation. Perhaps AT&T believed that "trade secrets" was the better way to protect themselves under the circumstances. The formula for Coca-Cola is a well protected trade secret, but others may discover the secret, and unless they have been covered by a non-disclosure agreement, they can use the formula. In fact, this has happened several times, and Coke has had to change the formula so that their competitor can't say "it tastes just like Coke". If Cornell had a non-disclosure agreement and let a student or faculty member who had not signed a similar agreement see the source, Cornel would have been in violation of their AT&T contract. If a "hacker" broke into Cornel's computer and "ftp'd" the source to his PC, the only protection would be a copyright notice. Previous postings to net.legal indicate that under the current law, if they did not put copyright notices on the works in question, those works are not covered by copyright laws. Does AT&T release any of these "public domain programs" under the UNIX liscence? If so, AT&T may have a copyright on their specific collection of programs, but not on the programs themselves. I can understand the reluctance of a software company to register their copyrights, but they should at least put notices on each module so that users will know which is which. It is illegal to remove a copyright notice, and it's also illegal to affix one to a "public domain" (work published without copyright notice) work. This may sound peculiar to people who are dealing with "whole entities", but it is common practice among people in the entertainment industry to put copyright notices on each piece of the work. For example, scenic designers put notices on each drawing from the rendering, to the "working drawings" given to individual craftsmen for implementation. Software people have been very lax about affixing any claims to the software. In some cases, there is not even an author's name affixed to the product. I frequently put copyright notices in sources that I e-mail to others, requesting only that my name be included in the credits for that software or any derivative products. The main reason for this is that I might want to use the same code in another product, and I don't want Tektronics or somebody suing me for "violating their copyright".
campbell@maynard.UUCP (Larry Campbell) (04/12/86)
This article contains some misconceptions. > In the case of GNUemacs, there is a long "copyright but public > domain" notice. In this case, the author has proof that he > owns the property, but he is explicitly putting it in public > domain. In fact, the author explicitly requests that this > "public domain notice" not be removed as a condition of publication. > He has the right to do this because he owns the copyright. Something can NOT be both copyrighted and public domain. The terms are antonymous. GNU probably says "copyrighted but you're allowed to copy (subject to certain conditions)." If they use the phrase "public domain", they've probably jeopardized their copyright. > Perhaps AT&T believed that "trade secrets" was the better way to > protect themselves under the circumstances. The formula for > Coca-Cola is a well protected trade secret, but others may discover > the secret, and unless they have been covered by a non-disclosure > agreement, they can use the formula. In fact, this has happened > several times, and Coke has had to change the formula so that their > competitor can't say "it tastes just like Coke". > > If Cornell had a non-disclosure agreement and let a student or > faculty member who had not signed a similar agreement see the source, > Cornel would have been in violation of their AT&T contract. If > a "hacker" broke into Cornel's computer and "ftp'd" the source > to his PC, the only protection would be a copyright notice. AT&T has long used trade secret law to protect UNIX sources. Prior to the copyright act of 1979 (and maybe even still today), putting a copyright notice in source code would have indicated intent to publish. Published works by definition cannot be trade secrets. For something to be a trade secret, you have to try to keep it secret. Now, if Cornell had a guest account with no (or an obvious) password, which had read access to the sources, then Cornell would be at fault and liable for damages. On the other hand, if Cornell took reasonable steps to insure system security and the hacker had to go to great lengths to get the sources, then the hacker would be at fault. The key is whether reasonable steps were taken to protect the trade secret, and whether the hacker could reasonably have known that he was not supposed to have access to the sources. Obviously if a burglar breaks into your locked office and makes off with source listings, the law will not consider it your fault. But if you leave the door unlocked with a sign on it reading "Juicy trade secrets in the 3rd drawer, help yourself" (or maybe just "UNIX development group") then you can't plead innocence when someone helps themselves. As with any question involving human behavior and morality, there are many shades of grey. Suppose the hacker accidentally acquired privileges -- let's say someone logged in as root then hung up but the job didn't get logged out, so the hacker dialed straight in to a logged in root job. Is this Cornell's fault or the hackers? Not clear. If it could be proved that the hacker KNEW he wasn't supposed to have access to the sources, then it's probably his fault. On the other hand, if the root users at Cornell knew about this bug and just hadn't bothered to fix it -- then it's probably Cornell's fault. That's why we have judges and juries and appeals processes -- because there is often no hard and fast way to determine who is really at fault. The bottom line, though, is that if you know or have reason to believe the software is proprietary, then you'd better not disclose without checking with the owner -- in this case, AT&T. To be more specific, if you're not sure about yacc and lex, then ASK THE PROBABLE OWNER -- AT&T. If they say "proprietary" then you'd better assume it's proprietary, or hire a damn good lawyer. I don't know about you, but I'd rather play it on the safe side than tangle with AT&T's legal staff. -- Larry Campbell The Boston Software Works, Inc. ARPA: maynard.UUCP:campbell@harvard.ARPA 120 Fulton Street UUCP: {harvard,cbosgd}!wjh12!maynard!campbell Boston MA 02109
arnold@emory.UUCP (Arnold D. Robbins {EUCC}) (04/15/86)
In the context of this whole discussion about previous lack of copyright notices, it is interesting to note that EVERY piece of source code in the System V Release 2.1 source code option for the 3B2 has the following notice at the front of the file: /* Copyright (c) 1984 AT&T */ /* All Rights Reserved */ /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */ /* The copyright notice above does not evidence any */ /* actual or intended publication of such source code. */ They seem to have caught on... -- Arnold Robbins CSNET: arnold@emory BITNET: arnold@emoryu1 ARPA: arnold%emory.csnet@csnet-relay.arpa UUCP: { akgua, decvax, gatech, sb1, sb6, sunatl }!emory!arnold "All this digital stuff is just a fad. Analog is the way to go." -- William M. Robbins, 1984
rb@ccird2.UUCP (Rex Ballard) (04/17/86)
There are two ways to be certain that the sources are at least partially covered. One is the copyright notice, ie: "Copyright 1985 Computer Consoles Incorporated - all rights reserved" the other is a full page (25 line) "Trade Secrecy notice". The latter is often used for software which may go to the military even though it is not written explicitly FOR the military. The reason it should be a full page is so that the reader won't "accidentally" read something he shouldn't. It is to your advantage legally to register the copyright, but it isn't absolutely necessary. The real point here is that SOME kind of notice should be put on each piece of source that you do NOT want people using indescriminately. This way, the person is properly warned and is willfully violating the rights of the author. This has nothing to do with the legality. It might be illegal under the liscence agreement to copy ANYTHING on that machine (including your own code) to another machine. The problem that often arises is that someone tries to "re-invent the wheel" because public domain or low royalty software gets mixed in with the "all or nothing" stuff. People have get severely punished for trying to "reverse engineer" software that is available via anonymous FTP and is totally unrestricted, or only partially restricted, or can be purchased for reasonable rates. On many of our source directories we have README files that state that anything in this directory is "property of XXX" and cannot be used in non-XXX products (several of our targets are non-unix). Much of this a result of confusion over the availability of common functions such as "printf". We have four versions. One for BSD liscenced systems, one for AT&T, and two for non-unix systems. I haven't seen the AT&T version, but the two non-unix versions are so totally different, there could be no question of copying (one was done without even reading the man page). Disclaimer: The opinions above are mine, I'm not a lawyer. If you're not sure about which software is protected on your system, check with your company lawyer.
lars@myab.UUCP (lars) (04/22/86)
> >In the context of this whole discussion about previous lack of copyright >notices, it is interesting to note that EVERY piece of source code in the >System V Release 2.1 source code option for the 3B2 has the following notice >at the front of the file: > >/* Copyright (c) 1984 AT&T */ >/* All Rights Reserved */ > >/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */ >/* The copyright notice above does not evidence any */ >/* actual or intended publication of such source code. */ > It is interesting to notice that the previously very small (and fast) shell procedure /bin/true now has a size of 747 bytes and a doubled execution time.
mac@tflop.UUCP (Mike Mc Namara) (04/23/86)
In article <755@ccird2.UUCP> rb@ccird2.UUCP (Rex Ballard) writes: > >If Cornell had a non-disclosure agreement and let a student or >faculty member who had not signed a similar agreement see the source, >Cornel would have been in violation of their AT&T contract. If >a "hacker" broke into Cornel's computer and "ftp'd" the source >to his PC, the only protection would be a copyright notice. > Note that the correct spelling is Cornell. Ezra's ghost is after you! one out of three is bad!
ken@rochester.ARPA (Ipse dixit) (04/24/86)
>It is interesting to notice that the previously very small (and fast) >shell procedure /bin/true now has a size of 747 bytes and a doubled >execution time. Oh, good grief! Do those lawyer types worry about somebody stealing a one-liner like exit 0? Ken -- UUCP: ..!{allegra,decvax,seismo}!rochester!ken ARPA: ken@rochester.arpa Snail: CS Dept., U. of Roch., NY 14627. Voice: Ken!
gwyn@brl-smoke.ARPA (Doug Gwyn ) (04/28/86)
In article <17555@rochester.ARPA> ken@rochester.UUCP (Ipse dixit) writes: >>It is interesting to notice that the previously very small (and fast) >>shell procedure /bin/true now has a size of 747 bytes and a doubled >>execution time. > >Oh, good grief! Do those lawyer types worry about somebody stealing >a one-liner like exit 0? More like a 0-liner. Executing an empty shell script returns 0 status. It's REALLY funny to put a copyright notice on an empty file; does that mean that all those empty files you have lying around are illegal copies of AT&T's /bin/true with the copyright notice removed?
joel@gould9.UUCP (Joel West) (04/29/86)
I hereby attest that I have not looked at any copyrighted or license-restricted source code, and would like to place the following in the public domain: :-) #!/bin/sh # Shar script cat >true <<//EOF exit 0 //EOF chmod 755 true cat >false <<//EOF exit 1 //EOF chmod 755 false -- Joel West (619) 457-9681 CACI, Inc. Federal, 3344 N. Torrey Pines Ct., La Jolla, CA 92037 {cbosgd, ihnp4, sdcsvax, ucla-cs} !gould9!joel {seismo!s3sun, hplabs!hp-sdd, sun!pyramid} !gould9!joel joel%gould9.uucp@NOSC.ARPA
jbs@mit-eddie.MIT.EDU (Jeff Siegal) (04/30/86)
In article <339@brl-smoke.ARPA> gwyn@brl.ARPA writes: >It's REALLY funny to put a copyright notice on an empty file; does that >mean that all those empty files you have lying around are illegal copies >of AT&T's /bin/true with the copyright notice removed? Or better yet, does it mean that all code which is a superset of that empty file is an extended version of AT&T's code? Jeff Siegal
lkw@csun.UUCP (05/01/86)
In <197@gilbbs.UUCP> Pnews thinks mc68020@gilbbs.UUCP (Tom Keller) wrote: >> It is interesting to notice that the previously very small (and fast) >> shell procedure /bin/true now has a size of 747 bytes and a doubled >> execution time. > > This may be so, but I hardly think it can be attributed to the addition of >copyright notices. All comments are ignored by the compiler, so there could >be literally megabytes of comments related to copyright without affecting the >size of the binary by even one byte. I would suggest that you look for other >explanations (maybe AT&T implemented /bin/true in interpretive BASIC? :-) ) > >tom keller Well, no, but they DID write it as an interpretive shell script, as the original article noted. Several megabytes of comments could possibly have a detrimental impact on the runtime performance... :-) (Sorry Tom, couldn't resist...) Actually, /bin/true on our SVR2.2 (I think) system is exactly one line -- the SCCS comment statement. /bin/false isn't much longer: two SCCS comment statements plus exit 255 (oh my, did I just release proprietary information?). Disclaimer: Can you prove it didn't happen? (Criswell, PLAN NINE FROM OUTER SPACE) -- Larry Wake uucp: {ihnp4 | hplabs | psivax}!csun!lkw CSUN Computer Center BITNET: RETPLKW@CALSTATE Northridge, CA 91330 ARPA: RETPLKW%CALSTATE@WISCVM.WISC.EDU "It's like a big sneeze" -- Dr. Ruth Westheimer
Unknown@hplabs.UUCP (05/01/86)
This message is empty.
rb@ccird1.UUCP (Rex Ballard) (05/01/86)
In article <197@gilbbs.UUCP> mc68020@gilbbs.UUCP (Tom Keller) writes: >In article <142@myab.UUCP>, lars@myab.UUCP (lars) writes: >> > >> >In the context of this whole discussion about previous lack of copyright >> >notices, it is interesting to note that EVERY piece of source code in the >> >System V Release 2.1 source code option for the 3B2 has the following notice >> >at the front of the file: >> > >> >/* Copyright (c) 1984 AT&T */ >> >/* All Rights Reserved */ Isn't this all they need to protect themselves? An even better approach would be: static char *copyright="Copyright 1984 AT&T, All Rights Reserved"; In the top line of the program, Which would protect the binary as well. By the way, this article, because it has this notice, could be considered property of AT&T :-). >> > >> >/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */ What purpose does this serve? Does this give them protections under some sort of "Trade Secrets Act"? Does this prevent me from reading the source, then passing it on to someone else, without making a copy? >> >/* The copyright notice above does not evidence any */ >> >/* actual or intended publication of such source code. */ The fact that many people have copies means they have "published" the code. I suppose this simply prevents one customer from buying it, then selling or trading it to someone else (who might need a lot of hand holding). Under the copyright laws the first costumer is allowed to do this, so long as they don't keep any copies for themselves. >> It is interesting to notice that the previously very small (and fast) >> shell procedure /bin/true now has a size of 747 bytes and a doubled >> execution time. > > This may be so, but I hardly think it can be attributed to the addition of >copyright notices. All comments are ignored by the compiler, so there could >be literally megabytes of comments related to copyright without affecting the >size of the binary by even one byte. I would suggest that you look for other >explanations (maybe AT&T implemented /bin/true in interpretive BASIC? :-) ) > It depends, /bin/true could be a shell script (it is on most machines), in which case, the copyright notice is "interpreted" along with the actual body of the script. Also, if the copyright notice were imbedded in the binary, as suggested earlier, the binary would a little bigger.
eric@chronon.UUCP (Eric Black) (05/01/86)
In article <512@gould9.UUCP> joel@gould9.UUCP (Joel West) writes: >I hereby attest that I have not looked at any copyrighted or >license-restricted source code, and would like to place the >following in the public domain: :-) > >#!/bin/sh ># Shar script >cat >true <<//EOF >exit 0 >//EOF >chmod 755 true >cat >false <<//EOF >exit 1 >//EOF >chmod 755 false >-- A clear case of independent creation! An idea whose time has come! (Of course, the question can be asked, "What other possible reasonable way could there be to do it?"). -- Eric Black "Garbage In, Gospel Out" UUCP: {sun,pyramid,hplabs,amdcad}!chronon!eric WELL: eblack BIX: eblack
roger@celtics.UUCP (Roger Klorese) (05/01/86)
In article <17555@rochester.ARPA> ken@rochester.UUCP (Ipse dixit) writes: >>It is interesting to notice that the previously very small (and fast) >>shell procedure /bin/true now has a size of 747 bytes and a doubled >>execution time. > >Oh, good grief! Do those lawyer types worry about somebody stealing >a one-liner like exit 0? > You're under arrest... :-) -- =================================== "Speak for the company?! Gee, I have a hard enough time speaking for myself!" ==================== Roger B.A. Klorese | ///==\\ | Celerity Computing (Eastern Region) | /// | 40 Speen St., Framingham, MA 01701 +1 617 872-1552 | \\\ | | \\\==// | celerity!rklorese@sdcsvax.ARPA (sdcsvax!celerity!rklorese) ==================== celtics!roger@seismo.CSS.GOV (seismo!celtics!roger)
bzs@bu-cs.UUCP (Barry Shein) (05/02/86)
>Oh, good grief! Do those lawyer types worry about somebody stealing >a one-liner like exit 0? For no good reason I'll take a weak stab at rationalizing this, I presume the lawyers simply decided not to try to sift through everything and make a decision on each...copyright it all and damn the torpedos. I hope they show the same laziness in the future. -Barry Shein, Boston University
stephen@comp.lancs.ac.uk (Stephen J. Muir) (05/02/86)
In article <512@gould9.UUCP> joel@gould9.UUCP writes: >I hereby attest that I have not looked at any copyrighted or >license-restricted source code, and would like to place the >following in the public domain: :-) > >#!/bin/sh ># Shar script >cat >true <<//EOF >exit 0 >//EOF >chmod 755 true >cat >false <<//EOF >exit 1 >//EOF >chmod 755 false I am not going to use this, due to the recent discussions on blindly unsharing a file -- it's too risky :-) -- UUCP: ...!seismo!mcvax!ukc!dcl-cs!stephen DARPA: stephen%comp.lancs.ac.uk@ucl-cs | Post: University of Lancaster, JANET: stephen@uk.ac.lancs.comp | Department of Computing, Phone: +44 524 65201 Ext. 4120 | Bailrigg, Lancaster, UK. Project:Alvey ECLIPSE Distribution | LA1 4YR
henry@mit-trillian.MIT.EDU (Henry C. Mensch) (05/03/86)
>>> >/* Copyright (c) 1984 AT&T */ >>> >/* All Rights Reserved */ > >Isn't this all they need to protect themselves? >An even better approach would be: > static char *copyright="Copyright 1984 AT&T, All Rights Reserved"; >In the top line of the program, Which would protect the binary as well. You are correct here -- a copyright notice must reside in memory while the program is executing. >>> >/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */ > >What purpose does this serve? Does this give them protections >under some sort of "Trade Secrets Act"? Does this prevent me from >reading the source, then passing it on to someone else, without making >a copy? > Your site purchases a license which permits or denies access to source code for the various Unix(tm) utilities. If they don't put these notifications in the text of the source code, then you indeed may pass them from one to another (perhaps illegally). Your source license usually prohibits disclosure to unauthorized third parties without the licensor's permission. >>> >/* The copyright notice above does not evidence any */ >>> >/* actual or intended publication of such source code. */ > >The fact that many people have copies means they have "published" the >code. I suppose this simply prevents one customer from buying it, then >selling or trading it to someone else (who might need a lot of hand holding). >Under the copyright laws the first costumer is allowed to do this, so long as >they don't keep any copies for themselves. > From *The American Heritage Dictionary: 2nd College Edition*: publish: --tr 1. To prepare and issue (printed material) for public distribution or sale. 2. To bring to the public attention; announce. --intr. 1. To issue a publication. 2. To be the author of a published work or works [ME publishen < OFr. publier < LLat. publicare, to make public -- see PUBLICATION] Software is *not* printed material <although it is often represented as a list of instructions on paper, it is *not* printed material...> Unix(tm) is not issued for public sale; AT&T sells *licenses* to use the software -- they do not sell the software! Therefore, they have not *published* the software -- they have simply permitted (for a fee) outsiders to use their software. The fact that many people have copies means that many people happen to posess licenses to the source as well as the binary. So what's so bloody difficult to understand here? . -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Henry Mensch | Technical Writer | MIT/Project Athena henry@athena.mit.edu ..!mit-eddie!mit-athena!henry
greg@utcsri.UUCP (Gregory Smith) (05/05/86)
In article <235@chronon.chronon.UUCP> eric@chronon.UUCP (Eric Black) writes: >In article <512@gould9.UUCP> joel@gould9.UUCP (Joel West) writes: >>I hereby attest that I have not looked at any copyrighted or >>license-restricted source code, and would like to place the >>following in the public domain: :-) >> >>#!/bin/sh >># Shar script >>cat >true <<//EOF >>exit 0 >>//EOF >>chmod 755 true >>cat >false <<//EOF >>exit 1 >>//EOF >>chmod 755 false >>-- > >A clear case of independent creation! An idea whose time has come! >(Of course, the question can be asked, "What other possible reasonable >way could there be to do it?"). Here's both in one: ------tf.c----------------- #include <strings.h> #define NULL 0 main( fred, joe ) char *joe[]; { register char *sue, *ellen; exit( strcmp( (sue = rindex( ellen = joe[0],'/'))==NULL? ellen: sue+1, "true" ) != 0 ); } ----------------------------- It returns 0 if invoked as 'true' or as [path]/true and 1 otherwise, so it can be linked-to twice to get both. This is *not* my entry to the obfuscated C contest - that is much worse. Ok, ok, so it compiles to 6K - But isn't it faster? Doesn't a new shell get created for the 'exit 0' script, so would it be faster to load a quickie like this? I release the above to the public domain on condition that the variable names are not changed. :-) -- "Canabee be said2b or not2b anin tire b, if half thabee isnotabee, due2 somain chunt injury?" - Eric's Dilemma ---------------------------------------------------------------------- Greg Smith University of Toronto UUCP: ..utzoo!utcsri!greg
seifert@hammer.UUCP (Snoopy) (05/06/86)
In article <393@mit-trillian.MIT.EDU> henry@ATHENA.MIT.EDU (Henry C. Mensch) writes: >>An even better approach would be: >> static char *copyright="Copyright 1984 AT&T, All Rights Reserved"; >>In the top line of the program, Which would protect the binary as well. > > You are correct here -- a copyright notice must reside in >memory while the program is executing. Nooooo Problem! Just wait for the page containing the copyright to get paged out. Demand paged vm is wonderful, ain't it? Disclaimer: JUST KIDDING! (perhaps this is a conspiracy by the companies that make RAM chips and disks, and tapes, and...) Snoopy tektronix!tekecs!doghouse.TEK!snoopy
joel@gould9.UUCP (Joel West) (05/07/86)
In article <393@mit-trillian.MIT.EDU>, henry@mit-trillian.MIT.EDU (Henry C. Mensch) writes: > Software is *not* printed material <although it is often > represented as a list of instructions on paper, it is *not* printed > material... to say software that has been distributed to 100's of sites is unpublished is questionable at best. the copyright law was amended in 1980 to specifically include software. > Unix(tm) is not issued for public sale; AT&T sells > *licenses* to use the software -- they do not sell the software! The claim that software is not sold -- only licensed -- is one that someday soon will be taken apart by a court or legislative body. It's a nice loophole that software lawyers (including our own) have perpetuated for a long time, but it violates the most fundmental precepts of contract law. That's not to say that it won't be replaced by something that addresses the copying, etc. issues. When I go to B. Dalton, I don't buy a license to a book. I buy a book. I can't stick in the xerox machine and plagarize it, but I do OWN it. -- Joel West (619) 457-9681 CACI, Inc. Federal, 3344 N. Torrey Pines Ct., La Jolla, CA 92037 {cbosgd, ihnp4, sdcsvax, ucla-cs} !gould9!joel joel%gould9.uucp@NOSC.ARPA
rb@ccird1.UUCP (Rex Ballard) (05/09/86)
In article <1001@celtics.UUCP> roger@celtics.UUCP (Roger Klorese) writes: >In article <17555@rochester.ARPA> ken@rochester.UUCP (Ipse dixit) writes: >>>It is interesting to notice that the previously very small (and fast) >>>shell procedure /bin/true now has a size of 747 bytes and a doubled >>>execution time. >> >>Oh, good grief! Do those lawyer types worry about somebody stealing >>a one-liner like exit 0? >> >You're under arrest... :-) Actually, if it could be proven that you executed "cp bin/true ./true" and then edited ./true, deleted copyright notice (leaving an EMPTY file I believe), and proceded to "publish" this work to other machines, you could be in trouble. However, if you simply executed "rm ./true; touch ./true" creating the empty file, you would be all right. Quoting from "The Rights of Authors and Artists" (American Civil Liberties Union, Bantam Books): Perhaps the best summation of originality was provided by Judge Learned Hand, who wrote that "if by some magic a man who had never known it were to compose anew Keats's Ode on a Grecian Urn, he would be an 'author', and if he copyrighted it, others might not copy that poem, though they might of course, copy Keats's." (Sheldon v. Metro-Goldwyn Pictures Corp., 81 F.2d 49, 54 (2d Cir. 1936), aff'd 309 U.S. 390 (1940). Remember too, that only the expression of an idea, not the idea itself is covered by the copyright. In the case of "true", the idea is so simple that you could easily do the same function. However try this with yacc, or sed! Furthermore, AT&T also has copyright over the "Collection" as well, meaning that if you replaced "true" than tarred the works over to another machine, your "derivative work" would still be covered, even though your "contribution" would not. That's the problem with copyrighting software. Even though the "collection" might be covered, as would be the units within that collection, someone who looks at the same code or description of the functionality of that code (Man pages) could use a different form of expressing that functionality, add a few features, write his own documentation, and publish his own product. This is commonly called "reverse engineering". As long as copyrights, rather than patents are being "reverse engineered" and as long as the entire work is re-expressed, the "duplicate" is legal. Fortunately, this is not the type of copyright violation that most people are concerned about. They are more concerned about the works that include "pieces" of their copyrighted code. Technically, this article contains 1 sentence of copyrighted work, and I could get in trouble for it. But, since I also provided enough information about the title, authors, and publisher, for you to order a copy, I have in fact done the publisher a service. If I had tried to remember the quote, changes in phrasing, grammatical style, and diction, would have been my own. Still, I would probably have tried to remember something about the original so that the reader would get more information. Contrary to what some people believe, copying code out of K&R or some other textbook or magazine onto the computer does not make it public domain. Changing the expression after you've copied it doesn't either, that would be a derivative work. If however you look at their way of expressing the idea, and see if, after closing the book, you can express the idea in your own "style", you are creating an original work. If you are just learning the language, or are totally unfamiliar with it, you may want to make a copy, but don't publish this code, it is covered by copyright, call the publisher, see if you can work out something. The thing I find most suprising is the inflexability of software publishers. If you took the AT&T version of "printf" and included it in your source code, you might have to restrict your publication to UNIX liscence holders, or pay for a FULL unix distribution liscence. In fact, Microsoft was (and probably still is) asking for $50+ for "binary" rights to their libraries. In fact, many software companies don't even know how to negotiate royalties, especially on derivative works. If I were to include this article in a commercial publication such as a magazine, the magazine publisher would negotiate the royalties, deduct the advertizing space, and come up with a pennies per 1000 fee, or flat "token" fee, which it would pay to Bantom. If Bantom were totally unreasonable, and insisted that the magazine pay the full $4 per copy that the book cost, then the article wouldn't be published. In fact, to get back to the main topic, parts of UNIX ARE public domain, or copyrighted by authors other than AT&T. You are, however, barred from telling anybody which is which under the non-disclosure agreement (so don't try :-). AT&T could do a great service to the industry by negotiating royalties for these other authors, serving as a clearing house, taking an agent's commission, and making a bundle on software. Instead, AT&T tries to intimidate people under a "trade secrets" clause, and claims "we own everything and you can't use any of it without buying everything". There are other firms, which encourage third party distribution. OS-9, VRTX, and others often have such reasonable "volume" agreements, that third parties don't need to squabble over pieces. Other companies sell "publishers packages" of their software which includes binary liscences for the libraries, often a flat fee of as little as $200-300. Many BBS's have "phone-in software" which they can charge you for downloading, and send the author royalties of say, $.50/copy. The software industry is too caught up in "black and white" of "wholesale piracy of Lotus 1-2-3" versus "public domain, free to everybody". This is common among any new industry. It happened in films, television, recorded music, and photocopied articles. Anything that could innocently go through a third party, could end up going from "copyrighted" to "thought it was public domain" to "copyrighted, published big time". Software developement is too expensive to spend time and money coming up with "yet another version of printf", simply to avoid "piracy concerns". What we need is some sort of standard formula for estimating the cost of a piece of software. Personally, I like the idea of using number of lines, size of binaries, or execution time as a percentage of the whole. This could be figured against a 6% or $1 figure, whichever is greater (for "free software"). This would be an estimate, the actual amount would still have to be negotiated. This would encourage developement of smaller versions of things which could be standardized. In addition, larger versions of identical functionality would have to justify their performance in terms of speed. Notice however, that we are talking strictly about royalties. In other words, you get what you get, no promises of bug fixes, enhancements, or newest versions. Issues such as software support, bug fixes, would between the owner and the publisher, not the owner and the end-user. If the author come up with a bug fix, or someone else does, the author still has control over "derivative works". He could easily tell his publishers "there is a bug in printf, want to buy the fix?" the publisher has the option of telling his users "want the new, improved version", sent $5 (good for consumers who are paying $5-$20/copy). The publisher could also sell the package for $400, and say "send in for your 'free' upgrade" (good for business customers who like "service contracts"). This would also open the market for "subsription software". Suppose you could get monthly "tar tapes" or CD-ROMs of the "latest and greatest" software, all for $10/user/month. Not only would you get binaries, you'd also get source, so that you could contribute your $.02 worth to subsequent releases and get $.02/1000 copies. Remember 6% of $10 is $.60, and you are changing 500 bytes of a 20mbyte tape/disk. Of course, you might continue to collect that amount for the next 12 releases. Or maybe the service will just pay you a set fee of $10/line if they decide to use your code. Now imagine yourself as the customer. For $10/user/month, you get not only write-ups, and documentation of the latest languages, applications, and libraries, you also get actual versions you can USE, right here, right now. No SA trying to get part 2 of 6 from net.sources, no "we've got version 17.52, but 17.61 is better". No bringing your vax to it's knees because you have to "make" the latest berkely release tapes. Of course, there might be some "PD" contributions, but on the other hand, why "give it away" if you can get $200 from AT&T, or whoever. Why steal it, if you can get a copy for what in effect is $.10/user. Why wouldn't the distributor pay for it, if he's going to sell 2,000,000 user/copies/month. We're talking revenues of $240 million/year. Anybody interested?!? Of course, rather than just put sources and binaries on the disk, you could also put all the latest news (right off of net.news :-) on the media as "filler". On top of that, since such a medium would not be bound by arpa "no commerce" restrictions, you could also add "advertising" such as verbose announcements, descriptions of products, and "printed documentation" announcements. Don't you wish this were a product announcement :-).