[GRASS-dev] Re: [GRASS-SVN] r30246 - grass/trunk/lib/gis

Hi,

could we conditionalize the year somehow on the VERSON file?

Markus

On Feb 19, 2008 3:16 AM, <svn_grass@osgeo.org> wrote:

Author: hamish
Date: 2008-02-18 21:16:17 -0500 (Mon, 18 Feb 2008)
New Revision: 30246

Modified:
   grass/trunk/lib/gis/parser.c
Log:
--script template purpose, year, module name

Modified: grass/trunk/lib/gis/parser.c

--- grass/trunk/lib/gis/parser.c 2008-02-18 22:43:47 UTC (rev 30245)
+++ grass/trunk/lib/gis/parser.c 2008-02-19 02:16:17 UTC (rev 30246)
@@ -1750,9 +1750,10 @@
        fprintf(fp, "#!/bin/sh\n\n");
        fprintf(fp, "############################################################################\n");
        fprintf(fp, "#\n");
- fprintf(fp, "# MODULE: \n");
+ fprintf(fp, "# MODULE: %s_wrapper\n", G_program_name());
        fprintf(fp, "# AUTHOR(S): %s\n", G_whoami());
- fprintf(fp, "# COPYRIGHT: (C) 2007 GRASS Development Team/%s\n", G_whoami());
+ fprintf(fp, "# PURPOSE: \n");
+ fprintf(fp, "# COPYRIGHT: (C) 2008 GRASS Development Team/%s\n", G_whoami());
        fprintf(fp, "#\n");
        fprintf(fp, "# This program is free software; you can redistribute it and/or modify\n");
        fprintf(fp, "# it under the terms of the GNU General Public License as published by\n");

_______________________________________________
grass-commit mailing list
grass-commit@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-commit

--
Open Source Geospatial Foundation
http://www.osgeo.org/
http://www.grassbook.org/

On Tue, 19 Feb 2008, Markus Neteler wrote:

Hi,

could we conditionalize the year somehow on the VERSON file?

As I understand it, the copyright date is the date the copyrighted code was written, so unconditionally specifying the current year would not be a good choice. But I have to admit I don't really understand the full
significance of the copyright date.

Paul

Paul Kelly <paul-grass@stjohnspoint.co.uk> writes:

>> could we conditionalize the year somehow on the VERSON file?

> As I understand it, the copyright date is the date the copyrighted
> code was written,

  Or, rather, published, though I'm not sure.

> so unconditionally specifying the current year would not be a good
> choice. But I have to admit I don't really understand the full
> significance of the copyright date.

  It effectively sets the copyright expiration date. IANAL,
  however.

Markus Neteler wrote:

could we conditionalize the year somehow on the VERSON file?

> - fprintf(fp, "# COPYRIGHT: (C) 2007 GRASS Development Team/%s\n", G_whoami());
> + fprintf(fp, "# PURPOSE: \n");
> + fprintf(fp, "# COPYRIGHT: (C) 2008 GRASS Development Team/%s\n", G_whoami());

Or just omit it.

AFAIK, a specific notice of copyright isn't particularly meaningful
any more. It used to be significant in the US prior to adoption of the
Berne convention, when works had to be registered and copyright had to
be explicitly asserted. Nowadays, it only matters insofar as it
affects the ability to claim statutory damages if the work is
registered.

Also, "GRASS Development Team" isn't a legal entity; and even if it
was, it would only hold the copyright on work created by its "agents"
(employees, contracted members etc), not by freelance contributors
(unless they explicitly assign rights).

And the use of G_whoami() is rather dubious. Aside from whether the
person running the command with the --script option ends up having
rights in the finished script, the result may just be "root" or
"user501".

> so unconditionally specifying the current year would not be a good
> choice. But I have to admit I don't really understand the full
> significance of the copyright date.

  It effectively sets the copyright expiration date. IANAL,
  however.

I don't know about computer code specifically, but written works
normally expire a fixed period (between 50 and 80 years) after the
author's death.

All things considered, I suggest printing out the "keys" ("AUTHOR(S)"
etc) and leaving the rest of the line blank for the author to fill it
manually.

--
Glynn Clements <glynn@gclements.plus.com>

Glynn Clements <glynn@gclements.plus.com> writes:

>> could we conditionalize the year somehow on the VERSON file?

>>> - fprintf(fp, "# COPYRIGHT: (C) 2007 GRASS Development Team/%s\n", G_whoami());
>>> + fprintf(fp, "# PURPOSE: \n");
>>> + fprintf(fp, "# COPYRIGHT: (C) 2008 GRASS Development Team/%s\n", G_whoami());

> Or just omit it.

> AFAIK, a specific notice of copyright isn't particularly meaningful
> any more. It used to be significant in the US prior to adoption of
> the Berne convention, when works had to be registered and copyright
> had to be explicitly asserted. Nowadays, it only matters insofar as
> it affects the ability to claim statutory damages if the work is
> registered.

  The notices like this are very convenient for the ones
  ``curious'' of the conditions under which the file can be used.

  They're of exceptional value for the free software, since they
  explicitly allow the code to be modified and distributed.
  Without such a notice (either in COPYING, or in the file), the
  file cannot be either modified or distributed at all.

  Since the files are allowed to be copied between free software
  projects freely, a mess could arise, unless each file bears a
  copyright notice. As an example, please consider the HDF-EOS
  source. Does it qualify for the free software?

> Also, "GRASS Development Team" isn't a legal entity; and even if it
> was, it would only hold the copyright on work created by its "agents"
> (employees, contracted members etc), not by freelance contributors
> (unless they explicitly assign rights).

> And the use of G_whoami() is rather dubious. Aside from whether the
> person running the command with the --script option ends up having
> rights in the finished script, the result may just be "root" or
> "user501".

  Both points sound reasonable to me.

>>> so unconditionally specifying the current year would not be a good
>>> choice. But I have to admit I don't really understand the full
>>> significance of the copyright date.

>> It effectively sets the copyright expiration date. IANAL, however.

> I don't know about computer code specifically, but written works
> normally expire a fixed period (between 50 and 80 years) after the
> author's death.

  Looks like the terms may vary from country to country:

--cut: http://en.wikipedia.org/wiki/Copyright--
    Copyright subsists for a variety of lengths in different
    jurisdictions. The length of the term can depend on several
    factors, including the type of work (e. g. musical composition,
    novel), whether the work has been published or not, and whether the
    work was created by an individual or a corporation. In most of the
    world, the default length of copyright is the life of the author
    plus either 50 or 70 years. In the United States, the term for most
    existing works is a fixed number of years after the date of creation
    or publication. Under most countries' laws, copyrights expire at the
    end of the calendar year in question.
--cut: http://en.wikipedia.org/wiki/Copyright--

  So, the date may be important.

  Doesn't the law require it to be present in order for the
  copyright notice to be considered valid?

> All things considered, I suggest printing out the "keys" ("AUTHOR(S)"
> etc) and leaving the rest of the line blank for the author to fill it
> manually.

  Sounds reasonable as well.

Ivan Shmakov wrote:

>> could we conditionalize the year somehow on the VERSON file?

>>> - fprintf(fp, "# COPYRIGHT: (C) 2007 GRASS Development Team/%s\n", G_whoami());
>>> + fprintf(fp, "# PURPOSE: \n");
>>> + fprintf(fp, "# COPYRIGHT: (C) 2008 GRASS Development Team/%s\n", G_whoami());

> Or just omit it.

> AFAIK, a specific notice of copyright isn't particularly meaningful
> any more. It used to be significant in the US prior to adoption of
> the Berne convention, when works had to be registered and copyright
> had to be explicitly asserted. Nowadays, it only matters insofar as
> it affects the ability to claim statutory damages if the work is
> registered.

  The notices like this are very convenient for the ones
  ``curious'' of the conditions under which the file can be used.

  They're of exceptional value for the free software, since they
  explicitly allow the code to be modified and distributed.
  Without such a notice (either in COPYING, or in the file), the
  file cannot be either modified or distributed at all.

Oh, I'm not against including the GPL boilerplate: "This program is
free software ...".

But adding an explicit "(C) <date> <author>" line isn't useful, IMHO.
And it's impossible for a program to accurately determine the date and
author. So I don't see any point worrying about the problems involved
in creating that particular line if there's no point in even having
it.

>> It effectively sets the copyright expiration date. IANAL, however.

> I don't know about computer code specifically, but written works
> normally expire a fixed period (between 50 and 80 years) after the
> author's death.

  Looks like the terms may vary from country to country:

--cut: http://en.wikipedia.org/wiki/Copyright--
    Copyright subsists for a variety of lengths in different
    jurisdictions. The length of the term can depend on several
    factors, including the type of work (e. g. musical composition,
    novel), whether the work has been published or not, and whether the
    work was created by an individual or a corporation. In most of the
    world, the default length of copyright is the life of the author
    plus either 50 or 70 years. In the United States, the term for most
    existing works is a fixed number of years after the date of creation
    or publication. Under most countries' laws, copyrights expire at the
    end of the calendar year in question.
--cut: http://en.wikipedia.org/wiki/Copyright--

  So, the date may be important.

  Doesn't the law require it to be present in order for the
  copyright notice to be considered valid?

The copyright notice is unnecessary. In any country which has ratified
the Berne convention, copyright exists in all original works
regardless of the presence or absence of an explicit copyright notice.

The relatively few countries which haven't adopted the Berne
convention typically only recognise copyrights which are explicitly
registered with a statutory body based in that country.

AFAICT, the only significance of that notice is that it bars a defence
of "innocent" infringement, which could otherwise reduce damages:

  http://www.law.cornell.edu/uscode/17/401(d).html

  (d) Evidentiary Weight of Notice. If a notice of copyright in
  the form and position specified by this section appears on the
  published copy or copies to which a defendant in a copyright
  infringement suit had access, then no weight shall be given to
  such a defendant's interposition of a defense based on
  innocent infringement in mitigation of actual or statutory
  damages, except as provided in the last sentence of section
  504 (c)(2).

--
Glynn Clements <glynn@gclements.plus.com>

Glynn Clements <glynn@gclements.plus.com> writes:

[...]

>>> Or just omit it.

>>> AFAIK, a specific notice of copyright isn't particularly meaningful
>>> any more.

[...]

>> The notices like this are very convenient for the ones ``curious''
>> of the conditions under which the file can be used.

>> They're of exceptional value for the free software, since they
>> explicitly allow the code to be modified and distributed. Without
>> such a notice (either in COPYING, or in the file), the file cannot
>> be either modified or distributed at all.

> Oh, I'm not against including the GPL boilerplate: "This program is
> free software ...".

> But adding an explicit "(C) <date> <author>" line isn't useful, IMHO.

  Actually, I'm in doubt whether the GPL notice will have any
  legal value without the proper ``(C)'' line. Unless someone
  relieve me of this concern, I'd prefer to put this line as I've
  been doing before.

> And it's impossible for a program to accurately determine the date
> and author.

  It's a known hassle. Unfortunately, the price of not caring
  about the stuff like this properly is the freedom.

> So I don't see any point worrying about the problems involved in
> creating that particular line if there's no point in even having it.

[...]

Ivan Shmakov wrote:

>>> Or just omit it.

>>> AFAIK, a specific notice of copyright isn't particularly meaningful
>>> any more.

[...]

>> The notices like this are very convenient for the ones ``curious''
>> of the conditions under which the file can be used.

>> They're of exceptional value for the free software, since they
>> explicitly allow the code to be modified and distributed. Without
>> such a notice (either in COPYING, or in the file), the file cannot
>> be either modified or distributed at all.

> Oh, I'm not against including the GPL boilerplate: "This program is
> free software ...".

> But adding an explicit "(C) <date> <author>" line isn't useful, IMHO.

  Actually, I'm in doubt whether the GPL notice will have any
  legal value without the proper ``(C)'' line. Unless someone
  relieve me of this concern, I'd prefer to put this line as I've
  been doing before.

Just how many times do I have to explain it to you?

If you don't understand copyright, consult a lawyer.

--
Glynn Clements <glynn@gclements.plus.com>

On 22/02/08 05:04, Glynn Clements wrote:

Ivan Shmakov wrote:

Or just omit it.

AFAIK, a specific notice of copyright isn't particularly
meaningful any more.

[...]

The notices like this are very convenient for the ones
``curious'' of the conditions under which the file can be used.

They're of exceptional value for the free software, since they explicitly allow the code to be modified and distributed.
Without such a notice (either in COPYING, or in the file), the
file cannot be either modified or distributed at all.

Oh, I'm not against including the GPL boilerplate: "This program
is free software ...".

But adding an explicit "(C) <date> <author>" line isn't useful,
IMHO.

Actually, I'm in doubt whether the GPL notice will have any legal
value without the proper ``(C)'' line. Unless someone relieve me
of this concern, I'd prefer to put this line as I've been doing
before.

Just how many times do I have to explain it to you?

If you don't understand copyright, consult a lawyer.

Just to plead for the ignorant here ;-):

http://www.fsf.org/licensing/licenses/gpl-howto.html

There is an explicit mention of a copyright line:

"Whichever license you plan to use, the process involves adding two
elements to each source file of your program: a copyright notice (such
as “Copyright 1999 Terry Jones”), and a statement of copying permission,
saying that the program is distributed under the terms of the GNU
General Public License (or the Lesser GPL)."

Moritz

Moritz Lennert <mlennert@club.worldonline.be> writes:

[...]

>>>> Oh, I'm not against including the GPL boilerplate: "This program
>>>> is free software ...".

>>>> But adding an explicit "(C) <date> <author>" line isn't useful,
>>>> IMHO.

>>> Actually, I'm in doubt whether the GPL notice will have any legal
>>> value without the proper ``(C)'' line. Unless someone relieve me
>>> of this concern, I'd prefer to put this line as I've been doing
>>> before.

>> Just how many times do I have to explain it to you?

>> If you don't understand copyright, consult a lawyer.

> Just to plead for the ignorant here ;-):

> http://www.fsf.org/licensing/licenses/gpl-howto.html

> There is an explicit mention of a copyright line:

> "Whichever license you plan to use, the process involves adding two
> elements to each source file of your program: a copyright notice
> (such as ⌠Copyright 1999 Terry Jones■), and a statement of
> copying permission, saying that the program is distributed under the
> terms of the GNU General Public License (or the Lesser GPL)."

  Thanks for bringing it here, that's the very point of my
  concern.

  I know that the absence of the ``copyright'' line won't
  invalidate my copyright. I'm concerned that the absence of such
  a line may invalidate the /copying permissions/ stated in the
  file, thus rendering the file non-redistributable and
  non-modifiable (except by its author.)

Glynn Clements wrote:

If you don't understand copyright, consult a lawyer.

Ok,

just added on the wiki site:
  http://grass.gdf-hannover.de/wiki/Development#GRASS_License

a link to the Software Freedom Law Center's "Legal Issues Primer for
Open Source and Free Software Projects":
  http://www.softwarefreedom.org/resources/2008/foss-primer.html

as for the thread, I think it's important to focus on the purpose of
the --script module switch, ie to create a wrapper script template. For
that I think it's a good idea to set useful defaults and <your name
here> examples. It is important that any donated addon script contains
sufficient copyright & license info, as without that it is essentially
useless. So anything we can do to encourage the author to consider that
is a good thing. It is easier for the lay-devel to see & remove the GPL
boiler plate than to think to add it. Make it easy to do the right
thing.

as for "the grass devel team" not being a legal entity- I wonder how
closely that phrase can be related to the OSGeo Foundation. Now that
GRASS is an official OSGeo project, presumably the GRASS PSC and/or the
"GRASS GIS Project" has some amount of formal identity.

And so "(c) the grass devel team" is a descriptive term which, in
context, is short for "(c) the authors of the GRASS GIS Project, as
represented by the GRASS PSC - a subsidiary of the OSGeo Foundation".
The devels are the authors, and it is natural for the authors of a work
to hold the copyright. As the exact meaning of "authors" is controlled
via our RFC2 SVN commit access policies it isn't as vague as it might
appear on first reading.

Hamish

      ____________________________________________________________________________________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping

Ivan Shmakov wrote:

>>>>> Moritz Lennert <mlennert@club.worldonline.be> writes:

[...]

>>>> Oh, I'm not against including the GPL boilerplate: "This program
>>>> is free software ...".

>>>> But adding an explicit "(C) <date> <author>" line isn't useful,
>>>> IMHO.

>>> Actually, I'm in doubt whether the GPL notice will have any legal
>>> value without the proper ``(C)'' line. Unless someone relieve me
>>> of this concern, I'd prefer to put this line as I've been doing
>>> before.

>> Just how many times do I have to explain it to you?

>> If you don't understand copyright, consult a lawyer.

> Just to plead for the ignorant here ;-):

> http://www.fsf.org/licensing/licenses/gpl-howto.html

> There is an explicit mention of a copyright line:

> "Whichever license you plan to use, the process involves adding two
> elements to each source file of your program: a copyright notice
> (such as Copyright 1999 Terry Jones), and a statement of
> copying permission, saying that the program is distributed under the
> terms of the GNU General Public License (or the Lesser GPL)."

  Thanks for bringing it here, that's the very point of my
  concern.

  I know that the absence of the ``copyright'' line won't
  invalidate my copyright. I'm concerned that the absence of such
  a line may invalidate the /copying permissions/ stated in the
  file, thus rendering the file non-redistributable and
  non-modifiable (except by its author.)

I can't see how that can possibly be the case.

Permission to perform actions which are restricted by copyright law is
legally no different to permission to perform actions restricted by
some other law.

For binary distributions, the permission to copy is normally only
stated in the included copy of the GPL, and the only copyright line in
that file is the one for the GPL itself, not the work which is
licensed under it.

In any case, the issue of the desirability (or lack thereof) of
including such a line is essentially moot. There is no way that
G_parser() can determine either the author of the script or the date
of first publication.

If you want that line, you would be better off including a fixed
string, e.g.:

  Copyright <author> <date of first publication>

and relying upon the author to fill in the details.

--
Glynn Clements <glynn@gclements.plus.com>