I have just looked over PARI citing discussion and recently I had a
talk with a developer of a software package X who was concerned that
inclusion of X into Sage will mean that people will stop giving credit
to X (and this developer in particular ;-)) Sometime ago there were
suggestions to somehow gather statistics on how many times which
function was called, which in practice does not seem like a great idea
due to performance hits and privacy issues. Figuring out manually
which components are used is somewhat boring and actually quite hard.

But how about this: suppose I have written a function f that does what
I need and I want to properly cite people and systems who made it
possible, but at the same time I am too busy/lazy to do much to
achieve it. However, I can do

sage: uc = UsedComponents("f(75)")

and then

sage: uc
Flint, PARI, Singular
sage: print uc.acknowledgement()
Computations were performed using CAS Sage~\cite{Sage}, interfacing
Flint~\cite{Flint}, PARI~\cite{PARI}, Singular~\cite{Singular}.

which I copy-paste into my paper (or better yet - use SageTeX) and

sage: print uc.BiBTeX()
<BiBTeX entries for keys Flint, PARI, Sage, Singular>

which I include into my bibliography file (or hopefully SageTeX can
somehow take care of).

To get these lists, it seems to me that one can execute the code
"f(75)" in a profiler, collect used functions, and then look for
substrings (either modules or particular functions) from a list that
gives matches of substrings to components. This list has to be
manually maintained, as in general this matching is probably non-
trivial, but authours of particular functions and interfaces can
easily add them, I think. As a bonus such automated citer will include
proper versions for everything.

I don't know how long such lists will be typically, and perhaps it may
be a bit weird to cite 10 papers and 20 software systems, but at the
same time if they were used - why not. As to where stop the list of
components, I think that "is it included in Sage distribution" is a
reasonable compromise, i.e. Linux and gcc don't have to be cited,
Python and Cython probably have to. This also can be made tunable
leaving the final choice to users conscience, which is more or less
the case for regular paper citations.

Thank you,
Andrey

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to