From 4bb101f2758f169969171dfe6b70f68a406dcc1e Mon Sep 17 00:00:00 2001 From: Jarkko Hietaniemi Date: Wed, 16 Apr 2003 20:14:01 +0000 Subject: [PATCH] Fix up Larry's copyright statements to my best knowledge. (Lots of Perl 5 source code archaeology was involved.) Larry didn't make strangled noises when I showed him the patch, either :-) p4raw-id: //depot/perl@19242 --- EXTERN.h | 3 ++- INTERN.h | 3 ++- Porting/pumpkin.pod | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++ README | 4 ++- XSUB.h | 3 ++- av.c | 3 ++- av.h | 3 ++- cc_runtime.h | 2 +- cop.h | 3 ++- cv.h | 3 ++- deb.c | 3 ++- doio.c | 3 ++- doop.c | 3 ++- dosish.h | 3 ++- dump.c | 3 ++- embed.h | 3 ++- embed.pl | 21 +++++++++++++++- embedvar.h | 2 +- fakesdio.h | 2 +- fakethr.h | 2 +- form.h | 2 +- global.sym | 3 ++- globals.c | 2 +- gv.c | 3 ++- gv.h | 3 ++- handy.h | 3 ++- hv.c | 3 ++- hv.h | 3 ++- keywords.h | 3 ++- keywords.pl | 3 ++- locale.c | 3 ++- mg.c | 3 ++- mg.h | 3 ++- miniperlmain.c | 3 ++- nostdio.h | 2 +- numeric.c | 3 ++- op.c | 3 ++- op.h | 3 ++- opcode.h | 3 ++- opcode.pl | 5 ++-- opnames.h | 2 +- pad.c | 2 +- pad.h | 2 +- patchlevel.h | 3 ++- perl.c | 3 ++- perl.h | 3 ++- perlapi.c | 2 +- perlapi.h | 2 +- perlio.h | 3 ++- perlsdio.h | 3 ++- perlsfio.h | 2 +- perlvars.h | 2 +- pp.c | 3 ++- pp.h | 3 ++- pp_ctl.c | 3 ++- pp_hot.c | 3 ++- pp_pack.c | 3 ++- pp_sort.c | 3 ++- pp_sys.c | 3 ++- proto.h | 3 ++- reentr.c | 2 +- reentr.h | 2 +- reentr.pl | 4 +-- regcomp.c | 3 ++- regcomp.h | 3 ++- regexec.c | 3 ++- regexp.h | 3 ++- run.c | 3 ++- scope.c | 3 ++- scope.h | 3 ++- sv.c | 3 ++- sv.h | 3 ++- taint.c | 3 ++- thrdvar.h | 2 +- thread.h | 2 +- toke.c | 3 ++- universal.c | 3 ++- unixish.h | 3 ++- utf8.c | 2 +- utf8.h | 2 +- utfebcdic.h | 2 +- util.c | 3 ++- util.h | 3 ++- x2p/EXTERN.h | 2 +- x2p/INTERN.h | 2 +- x2p/a2p.c | 3 ++- x2p/a2p.h | 3 ++- x2p/a2p.y | 3 ++- x2p/a2py.c | 3 ++- x2p/hash.c | 3 ++- x2p/hash.h | 3 ++- x2p/proto.h | 2 +- x2p/str.c | 3 ++- x2p/str.h | 3 ++- x2p/util.c | 3 ++- x2p/util.h | 3 ++- x2p/walk.c | 3 ++- xsutils.c | 2 +- 98 files changed, 260 insertions(+), 99 deletions(-) diff --git a/EXTERN.h b/EXTERN.h index ed541bb..fe8a0ee 100644 --- a/EXTERN.h +++ b/EXTERN.h @@ -1,6 +1,7 @@ /* EXTERN.h * - * Copyright (c) 1991-2002, Larry Wall + * Copyright (C) 1991, 1992, 1993, 1995, 1996, 1997, 1998, 1999, + * 2000, 2001, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/INTERN.h b/INTERN.h index c9bab9a..d2fb950 100644 --- a/INTERN.h +++ b/INTERN.h @@ -1,6 +1,7 @@ /* INTERN.h * - * Copyright (c) 1991-2002, Larry Wall + * Copyright (C) 1991, 1992, 1993, 1995, 1996, 1998, 2000, 2001, + * by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/Porting/pumpkin.pod b/Porting/pumpkin.pod index cf49121..e397b1f 100644 --- a/Porting/pumpkin.pod +++ b/Porting/pumpkin.pod @@ -1556,6 +1556,77 @@ in recent config.sh files though. =back +=head2 Copyright Issues + +The following is based on the consensus of a couple of IPR lawyers, +but it is of course not a legally binding statement, just a common +sense summary. + +=over 4 + +=item * + +Tacking on copyright statements is unnecessary to begin with because +of the Berne convention. But assuming you want to go ahead... + +=item * + +The right form of a copyright statement is + + Copyright (C) Year, Year, ... by Someone + +The (C) is not required everywhere but it doesn't hurt and in certain +jurisdictions it is required, so let's leave it in. (Yes, it's true +that in some jurisdictions the "(C)" is not legally binding, one should +use the true ringed-C. But we don't have that character available for +Perl's source code.) + +The years must be listed out separately. Year-Year is not correct. +Only the years when the piece has changed 'significantly' may be added. + +=item * + +One cannot give away one's copyright trivially. One can give one's +copyright away by using public domain, but even that requires a little +bit more than just saying 'this is in public domain'. (What it +exactly requires depends on your jurisdiction.) But barring public +domain, one cannot "transfer" one's copyright to another person or +entity. In the context of software, it means that contributors cannot +give away their copyright or "transfer" it to the "owner" of the software. + +Also remember that in many cases if you are employed by someone, +your work may be copyrighted to your employer, even when you are +contributing on your own time (this all depends on too many things +to list here). But the bottom line is that you definitely can't give +away a copyright you may not even have. + +What is possible, however, is that the software can simply state + + Copyright (C) Year, Year, ... by Someone and others + +and then list the "others" somewhere in the distribution. +And this is exactly what Perl does. (The "somewhere" is +AUTHORS and the Changes* files.) + +=item * + +Split files, merged files, and generated files are problematic. +The rule of thumb: in split files, copy the copyright years of +the original file to all the new files; in merged files make +an union of the copyright years of all the old files; in generated +files propagate the copyright years of the generating file(s). + +=item * + +The files of Perl source code distribution do carry a lot of +copyrights, by various people. (There are many copyrights embedded in +perl.c, for example.) The most straightforward thing for pumpkings to +do is to simply update Larry's copyrights at the beginning of the +*.[hcy], x2p/*.[hcy], *.pl, and README files, and leave all other +copyrights alone. Doing more than that requires quite a bit of tracking. + +=back + =head1 AUTHORS Original author: Andy Dougherty doughera@lafayette.edu . diff --git a/README b/README index 27baec4..1becd35 100644 --- a/README +++ b/README @@ -1,7 +1,9 @@ Perl Kit, Version 5 - Copyright 1989-2002, Larry Wall + Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998 + 1999, 2000, 2001, by Larry Wall and others + All rights reserved. This program is free software; you can redistribute it and/or modify diff --git a/XSUB.h b/XSUB.h index 9117f9e..2278823 100644 --- a/XSUB.h +++ b/XSUB.h @@ -1,6 +1,7 @@ /* XSUB.h * - * Copyright (c) 1997-2003, Larry Wall + * Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, + * 2000, 2001, 2002, 2003, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/av.c b/av.c index a000d46..8fb22d3 100644 --- a/av.c +++ b/av.c @@ -1,6 +1,7 @@ /* av.c * - * Copyright (c) 1991-2003, Larry Wall + * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, + * 2000, 2001, 2002, 2003, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/av.h b/av.h index beed09d..d177122 100644 --- a/av.h +++ b/av.h @@ -1,6 +1,7 @@ /* av.h * - * Copyright (c) 1991-2002, Larry Wall + * Copyright (C) 1991, 1992, 1993, 1995, 1996, 1997, 1998, 1999, + * 2000, 2001, 2002, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/cc_runtime.h b/cc_runtime.h index b1fc5b5..6a1668d 100644 --- a/cc_runtime.h +++ b/cc_runtime.h @@ -1,6 +1,6 @@ /* cc_runtime.h * - * Copyright (c) 1998-2002, Larry Wall + * Copyright (C) 1999, 2000, 2001, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/cop.h b/cop.h index e21d5c3..44305da 100644 --- a/cop.h +++ b/cop.h @@ -1,6 +1,7 @@ /* cop.h * - * Copyright (c) 1991-2003, Larry Wall + * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, + * 2000, 2001, 2002, 2003, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/cv.h b/cv.h index 8426b11..74e2ade 100644 --- a/cv.h +++ b/cv.h @@ -1,6 +1,7 @@ /* cv.h * - * Copyright (c) 1991-2003, Larry Wall + * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, + * 2000, 2001, 2002, 2003, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/deb.c b/deb.c index e47ff9b..20fda21 100644 --- a/deb.c +++ b/deb.c @@ -1,6 +1,7 @@ /* deb.c * - * Copyright (c) 1991-2002, Larry Wall + * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, + * 2000, 2001, 2002, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/doio.c b/doio.c index 1598391..438139f 100644 --- a/doio.c +++ b/doio.c @@ -1,6 +1,7 @@ /* doio.c * - * Copyright (c) 1991-2003, Larry Wall + * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, + * 2000, 2001, 2002, 2003, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/doop.c b/doop.c index 20dc68b..e5c3d1c 100644 --- a/doop.c +++ b/doop.c @@ -1,6 +1,7 @@ /* doop.c * - * Copyright (c) 1991-2002, Larry Wall + * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, + * 2000, 2001, 2002, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/dosish.h b/dosish.h index 18e68cb..b3d86e5 100644 --- a/dosish.h +++ b/dosish.h @@ -1,6 +1,7 @@ /* dosish.h * - * Copyright (c) 1997-2002, Larry Wall + * Copyright (C) 1993, 1994, 1996, 1997, 1998, 1999, + * 2000, 2001, 2002, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/dump.c b/dump.c index 124fb62..6c526df 100644 --- a/dump.c +++ b/dump.c @@ -1,6 +1,7 @@ /* dump.c * - * Copyright (c) 1991-2003, Larry Wall + * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, + * 2000, 2001, 2002, 2003, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/embed.h b/embed.h index 8793f64..fc12d71 100644 --- a/embed.h +++ b/embed.h @@ -1,7 +1,8 @@ /* * embed.h * - * Copyright (c) 1997-2003, Larry Wall + * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, + * 2000, 2001, 2002, 2003, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. diff --git a/embed.pl b/embed.pl index f734764..0b3d5ce 100755 --- a/embed.pl +++ b/embed.pl @@ -18,11 +18,30 @@ BEGIN { sub do_not_edit ($) { my $file = shift; + + my $years; + + if ($file eq 'embed.h') { + $years = '1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003'; + } elsif ($file eq 'embedvar.h') { + $years = '1999, 2000, 2001, 2002, 2003'; + } elsif ($file eq 'global.sym') { + $years = '1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003'; + } elsif ($file eq 'perlapi.c') { + $years = '1999, 2000, 2001'; + } elsif ($file eq 'perlapi.h') { + $years = '1999, 2000, 2001, 2002, 2003'; + } elsif ($file eq 'proto.h') { + $years = '1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003'; + } + + $years =~ s/1999,/1999,\n / if length $years > 40; + my $warning = <