On Mon, 1 Apr 2013, Thomas Zinckgraf wrote:
Hello,
This is the first open source project I am contributing to, so I am not
entirely sure where to start. I graduated college less than a year ago in
Computer Science and I currently work as a python developer, although I
have done work with C++. What would be a good way to start contributing to
the project?
Thank you for your interest!
As a professional developer, I don't think you'll have problems in
navigating the C sources: although we're now over 400,000 lines of code,
Allin has always insisted on a very high standard of code readability;
plus, we tend not to use obfuscated C constructs, so if you have a C++
background, you'll probably be mildly annoyed by the lack of automatic
memory management and the absence of objects (but you knew that. ;) ), but
that should be all. As for a rough map of the source, you may find the
following link of some help:
http://lists.wfu.edu/pipermail/gretl-devel/2013-January/004269.html
As for: a good way to start, I'd be tempted to say that it all depends on
what your area of expertise is besides coding per se. If you have
experience with graphical GUIs and the GTK framework, I suspect you'll
find the source to the GUI client (contained in the gui2/ subdirectory)
lots of fun to work with.
If, instead, you're more a CS guy and you're into compiler/interpreters
design, then you'll want to look at the 'hardcore' stuff in lib/src/:
interact.c, monte_carlo.c (where the loop apparatus lives), and all the
gen*[ch] files (Backus-Naur magic).
Finally, if you're strong at numerical techniques and number-crunching,
your best bet is probably to start from gretl_matrix.[ch] and
matrix_extra.[ch], which are relatively easy to follow and may provide a
good springboard to the rest of the code. Alternatively, lib/src/pvalues.c
contains a vast assortment of functions relating to random numbers
(generations, densities, distributions etc) which range from trivial
two-liners all the way to heavyweights such as the
Geweke-Hajivassiliou-Keane simulation-based multivariate normal algorithm.
There are certainly other useful things you may want to do that I can't
think of right now. Please, feel free to ask for help any time you want.
And thank you again!
-------------------------------------------------------
Riccardo (Jack) Lucchetti
Dipartimento di Scienze Economiche e Sociali (DiSES)
Università Politecnica delle Marche
(formerly known as Università di Ancona)
r.lucchetti(a)univpm.it
http://www2.econ.univpm.it/servizi/hpp/lucchetti
-------------------------------------------------------