On 07/12/2007, William Stein <[EMAIL PROTECTED]> wrote:
>
> On Dec 7, 2007 3:08 AM, Ondrej Certik <[EMAIL PROTECTED]> wrote:
> > currrently *.py files in SAGE usually contain names who wrote them.
> > The famous Karl Fogel's Producing  Open Source Software discourages
> > that:
> >
> > http://producingoss.com/en/managing-volunteers.html#territoriality
> >
> > mainly:
> >
> > People sometimes argue in favor of author or maintainer tags in source
> > files on the grounds that this gives visible credit to those who have
> > done the most work there. There are two problems with this argument.
> > First, the tags inevitably raise the awkward question of how much work
> > one must do to get one's own name listed there too. Second, they
> > conflate the issue of credit with that of authority: having done work
> > in the past does not imply ownership of the area where the work was
> > done, but it's difficult if not impossible to avoid such an
> > implication when individual names are listed at the tops of source
> > files. In any case, credit information can already be obtained from
> > the version control logs and other out-of-band mechanisms like mailing
> > list archives, so no information is lost by banning it from the source
> > files themselves.
>
> I agree with maybe 60% of producingoss.com and disagree with maybe
> 40% of that book, at least for Sage.   The above is an example of some
> of the many things in that book that I disagree with (at least for Sage).
>
> > People sometimes argue in favor of author or maintainer tags in source
> > files on the grounds that this gives visible credit to those who have
> > done the most work there.
>
> I definitely argue that.
>
> > There are two problems with this argument.
> > First, the tags inevitably raise the awkward question of how much work
> > one must do to get one's own name listed there too.
>
> Just because something raises a question doesn't mean that something
> is a mistake to do!    The answer in the case of Sage is that if a person
> feels they've done enough to explicitly list themselves in an AUTHOR block,
> e.g., for a function, for a file, whatever, then they've done enough.  Full
> stop.
>
> By the way, a great example of a file that makes good use of the AUTHOR
> blocks is:
>
> http://www.sagemath.org/hg/sage-main/file/7110a20969c8/sage/rings/bernoulli_mod_p.pyx
>
> Finally, I have say that in mathematics research at least author
> credit is *everything*.
> It is by far the most important commodity there is.  To argue for
> banning explicitly
> listing credits in places in code is frankly a very stupid waste of
> valuable gold.
> I've seen *precisely* this sort of thing be enforced with Magma in some cases,
> and it seriously aliented certain people, present company included.
> If somebody
> feels strongly enough to put
>
>    AUTHOR:
>        name (date) -- summary of what they did
>
> in a function docstring, then they deserve that right.
>
> > Second, they
> > conflate the issue of credit with that of authority: having done work
> > in the past does not imply ownership of the area where the work was
> > done, but it's difficult if not impossible to avoid such an
> > implication when individual names are listed at the tops of source
> > files.
>
> What's wrong with some implied ownership!?  That's actually
> very very important.  For example, to take a concrete situation, Robert
> Miller and Emily Kirkman spent a huge amount of time during the last
> year writing graph theory code.  Their names are clearly listed in
> AUTHOR blocks at the tops of files.  I've done some minor reorganization
> of docstrings and code, but definitely don't feel I should be listed -- it's
> their part of Sage.  Now suppose some talented enthusiastic person, e.g.,
> named Jason Grout, comes along and starts submitting patches all over
> the place for
> graph theory.  It's clear what should happen -- Robert and Emily should get
> notified, get first dibs to referee, etc.,   until after a while Jason
> starts getting
> so confident he lists his name under AUTHOR, and he should be consulted
> too.
>
> Morever, "implied ownership" really isnt' an issue with Sage, beyond the
> basic respect it should entail, since the whole
> culture of the project is that anybody can work on any part of the system, as
> long as they _respectfully_ post patches, get them refereed etc.
>
> > In any case, credit information can already be obtained from
> > the version control logs and other out-of-band mechanisms like mailing
> > list archives, so no information is lost by banning it from the source
> > files themselves.
>
> There is a significant barrier to entry in getting credit information from
> version control logs, and they can be very misleading (e.g., in the case
> of moving chunks of code around).
>
> Again I strongly disagree with removing all the AUTHOR: blocks from
> the Sage docstrings.  I think doing this would
>    (1) stupidly ignore a huge amount of what makes Sage work,
>    (2) removes a valuable mechanism for getting a quick sense of
> who the main people are who consider themselves serious contributors
> to a file or function,
>    (3) raises the barrier to *giving* people credit for their work.
>    (4) completely goes contrary to the tradition in mathematics, where
> credit is everything -- which
> is why most mathematical objects are named after people (e.g.,
> Bernoulli numbers, Tate curves,
> etc.).  When some random mathematician, say, types
>     sage: bernoulli_mod_p?
>     I get
>        ...
>         AUTHOR:
>             -- David Harvey (2006-08-06)
>    This tells me something very useful immediately - that there's a
> real specific
> person behind this code, maybe somebody I'll see at a conference soon and
> thank for their function, ask further questions about it, etc. etc.
> If as a random
> mathematician I had to rely on clicking around with Mercurial to get info like
> that it would never happen, and I probably wouldn't trust what I see anyways.
>

I agree!

John

>  -- William
>
> >
>


-- 
John Cremona

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to