diff mbox

Allow use of ranges in copyright notices

Message ID Pine.LNX.4.64.1206301449240.28133@digraph.polyomino.org.uk
State New
Headers show

Commit Message

Joseph Myers June 30, 2012, 2:58 p.m. UTC
I propose that GCC should allow the use of ranges of years (e.g. 
1987-2012) in copyright notices on source files.  As described at 
<http://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html>:

* This requires a notice in README about the use of range notation; I 
propose such a notice below.

* It is not necessary to track the modification dates of individual files, 
only the package as a whole; as there have been public GCC releases or 
public version control in each year from 1987 onwards, the form 
<first-year>-2012 is OK for all GCC source files (whose source is in GCC 
rather than being copied from another package) as long as <first-year> is 
1987 or later.

Comments?  GDB and glibc already make active use of ranges (as does the 
Ada front end in GCC).  I think it's a useful cleanup to convert source 
files to the <first-year>-2012 form, and to set up automatic updates of 
all files at the start of the year so people don't need to care about 
copyright notice updates for the rest of the year, but don't plan to work 
on these things myself.  (gnulib has a script that can help with both of 
those things.  glibc has been converting individual files to the single 
range form whenever the dates needed updating to include 2012, but may do 
a general bulk conversion later.)

2012-06-30  Joseph Myers  <joseph@codesourcery.com>

	* README: Document use of ranges of years in copyright notices.

Comments

David Edelsohn June 30, 2012, 5:03 p.m. UTC | #1
On Sat, Jun 30, 2012 at 10:58 AM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> I propose that GCC should allow the use of ranges of years (e.g.
> 1987-2012) in copyright notices on source files.  As described at
> <http://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html>:
>
> * This requires a notice in README about the use of range notation; I
> propose such a notice below.
>
> * It is not necessary to track the modification dates of individual files,
> only the package as a whole; as there have been public GCC releases or
> public version control in each year from 1987 onwards, the form
> <first-year>-2012 is OK for all GCC source files (whose source is in GCC
> rather than being copied from another package) as long as <first-year> is
> 1987 or later.
>
> Comments?  GDB and glibc already make active use of ranges (as does the
> Ada front end in GCC).  I think it's a useful cleanup to convert source
> files to the <first-year>-2012 form, and to set up automatic updates of
> all files at the start of the year so people don't need to care about
> copyright notice updates for the rest of the year, but don't plan to work
> on these things myself.  (gnulib has a script that can help with both of
> those things.  glibc has been converting individual files to the single
> range form whenever the dates needed updating to include 2012, but may do
> a general bulk conversion later.)

IBM's policy specifies a comma:

<first year>, <last year>

and not a dash range.

- David
Alexandre Oliva July 2, 2012, 12:35 p.m. UTC | #2
On Jun 30, 2012, David Edelsohn <dje.gcc@gmail.com> wrote:

> IBM's policy specifies a comma:

> <first year>, <last year>

> and not a dash range.

But this notation already means something else in our source tree.
Robert Dewar July 2, 2012, 1:42 p.m. UTC | #3
On 7/2/2012 8:35 AM, Alexandre Oliva wrote:
> On Jun 30, 2012, David Edelsohn <dje.gcc@gmail.com> wrote:
>
>> IBM's policy specifies a comma:
>
>> <first year>, <last year>
>
>> and not a dash range.
>
> But this notation already means something else in our source tree.
>

I think using the dash is preferable, and is a VERY widely used
notation, used by all major software companies I deal with!
Miles Bader July 2, 2012, 2:06 p.m. UTC | #4
Robert Dewar <dewar@adacore.com> writes:
> On 7/2/2012 8:35 AM, Alexandre Oliva wrote:
>> On Jun 30, 2012, David Edelsohn <dje.gcc@gmail.com> wrote:
>>> IBM's policy specifies a comma:
>>
>>> <first year>, <last year>
>>
>>> and not a dash range.
>>
>> But this notation already means something else in our source tree.
>
> I think using the dash is preferable, and is a VERY widely used
> notation, used by all major software companies I deal with!

Also the dash notation has been vetted by FSF lawyers (and accordingly
is used by other GNU projects that pay a lot of attention to getting
the legal details right, like Emacs).

-miles
Joseph Myers July 2, 2012, 2:17 p.m. UTC | #5
On Mon, 2 Jul 2012, Robert Dewar wrote:

> On 7/2/2012 8:35 AM, Alexandre Oliva wrote:
> > On Jun 30, 2012, David Edelsohn <dje.gcc@gmail.com> wrote:
> > 
> > > IBM's policy specifies a comma:
> > 
> > > <first year>, <last year>
> > 
> > > and not a dash range.
> > 
> > But this notation already means something else in our source tree.
> 
> I think using the dash is preferable, and is a VERY widely used
> notation, used by all major software companies I deal with!

And as a GNU project there isn't a choice between using IBM convention and 
GNU convention - only about which of the GNU options we use.  The simplest 
is <first-year>-2012 (for any value of <first-year> 1987 or later) and so 
I am proposing we move to that (make this change to README to allow it, 
allow converting files when 2012 is added to the copyright years, as is 
now done in glibc, allow a bulk conversion if anyone wishes to do one).
David Edelsohn July 2, 2012, 2:44 p.m. UTC | #6
On Mon, Jul 2, 2012 at 10:17 AM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> On Mon, 2 Jul 2012, Robert Dewar wrote:
>
>> On 7/2/2012 8:35 AM, Alexandre Oliva wrote:
>> > On Jun 30, 2012, David Edelsohn <dje.gcc@gmail.com> wrote:
>> >
>> > > IBM's policy specifies a comma:
>> >
>> > > <first year>, <last year>
>> >
>> > > and not a dash range.
>> >
>> > But this notation already means something else in our source tree.
>>
>> I think using the dash is preferable, and is a VERY widely used
>> notation, used by all major software companies I deal with!
>
> And as a GNU project there isn't a choice between using IBM convention and
> GNU convention - only about which of the GNU options we use.  The simplest
> is <first-year>-2012 (for any value of <first-year> 1987 or later) and so
> I am proposing we move to that (make this change to README to allow it,
> allow converting files when 2012 is added to the copyright years, as is
> now done in glibc, allow a bulk conversion if anyone wishes to do one).

Joseph,

You are misunderstanding the point of my message.  I mentioned the
comma convention for worldwide legal precedence and acceptance, not
because it is an IBM convention.

There was a similar discussion many years ago. The dash format is
widely used, but the comma format has better legal clarity and
definition in worldwide copyright litigation, at least many years ago.

- David
Joseph Myers July 2, 2012, 3:13 p.m. UTC | #7
On Mon, 2 Jul 2012, David Edelsohn wrote:

> There was a similar discussion many years ago. The dash format is
> widely used, but the comma format has better legal clarity and
> definition in worldwide copyright litigation, at least many years ago.

Maybe questions about the meanings of the dash format are why the GNU 
instructions require a statement in a README file about the use of that 
notation.
Joseph Myers July 16, 2012, 2:01 p.m. UTC | #8
I have now committed this patch to allow the use of ranges.
diff mbox

Patch

Index: README
===================================================================
--- README	(revision 189094)
+++ README	(working copy)
@@ -15,3 +15,8 @@ 
 version of the manual is in the files gcc/doc/gcc.info*.
 
 See http://gcc.gnu.org/bugs/ for how to report bugs usefully.
+
+Copyright years on GCC source files may be listed using range
+notation, e.g., 1987-2012, indicating that every year in the range,
+inclusive, is a copyrightable year that could otherwise be listed
+individually.