Hi,
I fully agree with you that it is important for Derby to nurture new
developers and help them achieve good understanding of the code. I
think, however, that this is almost a full time task on its own right
and should be treated as an important part of development itself.
My own view is that Derby also needs good documentation of its internals
and developer's guides for people who want to play with internals. I had
thought I would work towards this but unfortunately, due to lack of time
I have not been able to contribute much. Perhaps we should start a
project to write a book entitled "Inside Derby". I am happy to work on
such a project with anyone else that might be interested. We could write
this book in stages and make is available as an OpenSource book.
Regards
Dibyendu
David W. Van Couvering wrote:
Down at ApacheCon at our BoF we had a good discussion about what might
help people who want to contribute to Derby but feel they don't have
the database internals background needed. It was generally recognized
that there is a pretty hefty learning curve to be able to work on some
of the core parts of Derby such as the SQL compiler and the kernel.
The skills and background for someone writing database applications is
pretty different from someone writing database internals.
The problem is that Derby support can not scale to handle the growing
number of users unless more members of the community are able to get
to know the code and start contributing.
One thought we had was that those of us who know a certain area of
Derby can make ourselves available to mentor/provide guidance to those
who want to work in that area but don't feel qualified.
For example, let's say there is a bug in the compiler that is causing
me problems. I log the bug, but nobody seems to be responding
(scratch your own itch and all that). I could send an email out
saying "I'd like to get this fixed, and am willing to do the work, but
I don't know anything about the compiler. Is anyone willing to help
walk me through this?" Then someone who knows the compiler can
volunteer to help.
Alternately, someone who knows the compiler can respond to a JIRA item
saying "I don't have time to implement, test, and document this, but
I'd be willing to help walk you through how you might do this."
I think this is pretty workable. It does take a willingness on both
sides -- from the specialists to not try to fix everything themselves
(not scalable long-term) and instead make themselves available to
provide guidance, and from the non-specialists to jump in with the
support of a specialist.
David