[Python-Dev] __credits__ and __author__ variables
Guido van Rossum
guido@digicool.com
Thu, 01 Mar 2001 11:30:53 -0500
> On Thu, 1 Mar 2001, Guido van Rossum wrote:
> > I'm slightly uncomfortable with the __credits__ variable inserted
> > here. First of all, __credits__ doesn't really describe the
> > information given.
Ping replied:
> I'll explain the motivation here. I was going to write something
> about this when i got up in the morning, but you've noticed before
> i got around to it (and i haven't gone to sleep yet).
>
> - The __version__ variable really wasn't a useful place for
> this information. The version of something really isn't
> the same as the author or the date it was created; it should
> be either a revision number from an RCS tag or a number
> updated periodically by the maintainer. By separating out
> other kinds of information, we allow __version__ to retain
> its focused purpose.
Sure.
> - The __author__ tag is a pretty standard piece of metadata
> among most kinds of documentation -- there are AUTHOR
> sections in almost all man pages, and similar "creator"
> information in just about every metadata standard for
> documents or work products of any kind. Contact info and
> copyright info can go here. This is important because it
> identifies a responsible party -- someone to ask questions
> of, and to send complaints, thanks, and patches to. Maybe
> one day we can use it to help automate the process of
> assigning patches and directing feedback.
No problem here.
> - The __credits__ tag is a way of acknowledging others who
> contributed to the product. It can be used to recount a
> little history, but the real motivation for including it
> is social engineering: i wanted to foster a stronger mutual
> gratification culture around Python by giving people a place
> to be generous with their acknowledgements. It's always
> good to err on the side of generosity rather than stinginess
> when giving praise. Open source is fueled in large part by
> egoboo, and if we can let everyone participate, peer-to-peer
> style rather than centralized, in patting others on the back,
> then all the better. People do this in # comments anyway;
> the only difference now is that their notes are visible to pydoc.
OK. Then I think you goofed up in the __credits__ you actually
checked in for tokenize.py:
__credits__ = 'first version, 26 October 1997; patched, GvR 3/30/98'
I would have expected something like this:
__credits__ = 'contributions: GvR, ESR, Tim Peters, Thomas Wouters, ' \
'Fred Drake, Skip Montanaro'
> > Second, doesn't this info belong in the CVS history?
>
> __credits__ isn't supposed to be a change log; it's a reward
> mechanism. Or consider it ego-Napster, if you prefer.
>
> Share the love. :)
You west coasters. :-)
> > Anothor source of discomfort is that there's absolutely no standard
> > for this kind of meta-data variables.
>
> I think the behaviour of processing tools such as pydoc will
> create a de-facto standard. I was careful to respect __version__
> in the ways that it is currently used, and i am humbly offering
> these others in the hope that you will see why they are worth
> having, too.
What does pydoc do with __credits__?
--Guido van Rossum (home page: http://www.python.org/~guido/)