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/ -~----------~----~----~----~------~----~------~--~---