documentation of source?



Hello,
 I have some ideas that I invite comments on.

1. I don't know how many developers of maxima there are at present. From 
the mailing list I expect that there not more than 20 or 30.
2. I don't know the ages of the various developers, but if one wants to 
insure continued development for the long term, it is important to bring 
in young people and get them started on the development.
   This involves a lot of expertise, of course-lisp, tcl-tk, 
mathematical knowledge, etc.  Obviously, different parts of the package 
depend on very different kinds of expertise.

3.  Even with the required expertise, one does not want to re-invent the 
wheel.  Some of the source files are very complex, and it takes 
considerable time for even expert programmers to understand them.
   Of course, some people have already spent much time understanding and 
improving certain parts of the program. 
  In addition to making continued improvement, bug-fixes, etc., I think 
it is important to set up some way to train new people to come in and 
help with the development.

So, this is a suggestion that people take some time away from 
development to document the files which already exist.  The 
documentation could even be in the source files themselves.

 One standard answer is: "Ok, please feel free to contribute to this.  
It will be appreciated."
 This is certainly one reasonable answer from busy people.  But I think 
it is much like asking others to spend the same amount of time on this 
or that project, maybe more, than people have already done.
  It is a recipe for slow development.

It would be much healthier for developers so inclined to add descriptive 
comments on routines "as they do the development." 

Perhaps I am biased, but in my profession (university teaching and 
research), we are forced to do this in explaining various things to a 
new crop of people on a regulat basis.  Sometimes it is painful, 
sometimes boring, but the benefits certainly appear when even a few of 
the recipients of the effort extend and improve the current status of 
things.

  Comments ?

-sen