You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "David W. Van Couvering" <Da...@Sun.COM> on 2005/12/14 21:28:02 UTC

So you wanna write some database code

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

Re: So you wanna write some database code

Posted by Deepa Remesh <dr...@gmail.com>.
On 1/10/06, Andrew McIntyre <mc...@gmail.com> wrote:
>
> On Dec 27, 2005, at 4:27 PM, Deepa Remesh wrote:
>
> > It would be great if a committer can add a new component 'newcomer'.
> > We can add this information to the Wiki page. Also, I can update the
> > bugs listed in DERBY-257 with this new component.
>
> I've added a "Newcomer" component to JIRA. It won't show up on the
> front page until some issues are assigned as "affecting" the Newcomer
> component.

Thanks Andrew.
I have added "Newcomer" component to the open tasks listed in DERBY-257.

Deepa

Re: So you wanna write some database code

Posted by Andrew McIntyre <mc...@gmail.com>.
On Dec 27, 2005, at 4:27 PM, Deepa Remesh wrote:

> It would be great if a committer can add a new component 'newcomer'.
> We can add this information to the Wiki page. Also, I can update the
> bugs listed in DERBY-257 with this new component.

I've added a "Newcomer" component to JIRA. It won't show up on the  
front page until some issues are assigned as "affecting" the Newcomer  
component.

andrew

Re: So you wanna write some database code

Posted by Deepa Remesh <dr...@gmail.com>.
I have started a Wiki page with information found in mailing list and
DERBY-257: http://wiki.apache.org/db-derby/ForNewDevelopers

It would be great if a committer can add a new component 'newcomer'.
We can add this information to the Wiki page. Also, I can update the
bugs listed in DERBY-257 with this new component.

Thanks,
Deepa

Re: So you wanna write some database code

Posted by "David W. Van Couvering" <Da...@Sun.COM>.
I do want to emphasize one point -- I think we're doing OK getting 
newbies to work on the "edges" of the code.  What I am concerned about 
and want to encourage is for people who aren't experts to find ways to 
start working on the "core" technology.

Doing design documentation is a good idea, but it's a lot of overhead, 
and I'm not confident it's going to happen.  That's why I proposed the 
"buddy" system -- it's more incremental and on-demand.

David

Re: So you wanna write some database code

Posted by John Embretsen <Jo...@Sun.COM>.
Daniel John Debrunner wrote:

> Agreed, and I think we could do a better job of encouraging more
> contributions "around" the engine as a way to get started with Derby.
> 
> Examples are:
> 

[snip]

>   Telnet access - I was working with Apache James and they use telnet
> for remote admin, login and then issue statements like
> 
> adduser fred pass92word
> 
> Seems like a telnet access to a database would be cool, using ij as the
> scripting language, e.g.
> 
> telnet derbyhost:2253
> <user/password stuff>
> ij> select * from my table;
> ...
> 
> Since James does this in Java it has to be possible for Derby, and then
> one could access a Derby database without installing java or derbyools
> on your client. I looked at the James code quickly, but didn't see the
> code for the telnet server.

This is an interesting idea - although I'm a bit worried about the 
inherent security deficiencies of telnet. I guess it depends on which 
use cases this tool/feature is designed for.

I found the James telnet (Remote Manager) source at
http://svn.apache.org/viewcvs.cgi/james/server/trunk/src/java/org/apache/james/remotemanager/


-- 
John



Re: So you wanna write some database code

Posted by Francois Orsini <fr...@gmail.com>.
On 12/15/05, Daniel John Debrunner <dj...@debrunners.com> wrote:
>
> Kathey Marsden wrote:
>
>
> > For the newcomers,   focusing on quality items as outlined in DERBY-257
> > can add great value and learning potential  with very low (often no)
> > risk.   Contributions of this type I think deserve our highest level of
> > attention.  I think it is everyone's itch to bring more high quality
> > contributions and contributors to the project.
>
> Agreed, and I think we could do a better job of encouraging more
> contributions "around" the engine as a way to get started with Derby.
>
> Examples are:
>
>   Sample applications.
>
>   Admin/Query servlets -  I was talking to Susan Cline on the flight
> back from Apachecon last night and she said it would be great if there
> was some web-based api to Derby, either as an example or as a starting
> point for a complete web-based api. The servlets coupled with an
> embedded servlet container like Jetty would be very cool.


Interesting you're mentioning this...as part of the browser embedded derby
Ajax demo I showed at ApacheCon, I developed a tiny HTTP request service
interface to Derby which issues queries against this last one and return
data in XML format (only one supported at this time) - this is not a full
blown web server obviously and does not need to be - just enough to send
queries to Derby via HTTP and get data back in XML...footprint obviously is
very low...

A JMX interface to Derby for Admin/Monitoring purposes would be nice as
well....

Re: So you wanna write some database code

Posted by Daniel John Debrunner <dj...@debrunners.com>.
Kathey Marsden wrote:


> For the newcomers,   focusing on quality items as outlined in DERBY-257 
> can add great value and learning potential  with very low (often no) 
> risk.   Contributions of this type I think deserve our highest level of
> attention.  I think it is everyone's itch to bring more high quality
> contributions and contributors to the project.

Agreed, and I think we could do a better job of encouraging more
contributions "around" the engine as a way to get started with Derby.

Examples are:

  Sample applications.

  Admin/Query servlets -  I was talking to Susan Cline on the flight
back from Apachecon last night and she said it would be great if there
was some web-based api to Derby, either as an example or as a starting
point for a complete web-based api. The servlets coupled with an
embedded servlet container like Jetty would be very cool.

  Telnet access - I was working with Apache James and they use telnet
for remote admin, login and then issue statements like

adduser fred pass92word

Seems like a telnet access to a database would be cool, using ij as the
scripting language, e.g.

telnet derbyhost:2253
<user/password stuff>
ij> select * from my table;
...

Since James does this in Java it has to be possible for Derby, and then
one could access a Derby database without installing java or derbyools
on your client. I looked at the James code quickly, but didn't see the
code for the telnet server.

I'm sure there are other ideas as well.

Dan.





Re: So you wanna write some database code

Posted by Kathey Marsden <km...@sbcglobal.net>.
Deepa Remesh wrote:

>There is a JIRA issue which lists tips, tasks and bugs suited for
>newcomers. http://issues.apache.org/jira/browse/DERBY-257. Some of it
>is outdated. I am working on making a Wiki page out of the material in
>this. I will leave out the list of JIRA issues as there is a plan to
>add a new flag.
>  
>

I think that ALL  contributors and committer can help in this effort and
increase knowledge transfer by ...
    - Keeping  technical discussions on the list.
    - Trying out, reviewing  and asking  questions about patches
especially in components which they are not experts.
    - Paying  quick attention to patches and technical questions.
    - Avoiding all thoughts of component ownership.   

For the newcomers,   focusing on quality items as outlined in DERBY-257 
can add great value and learning potential  with very low (often no) 
risk.   Contributions of this type I think deserve our highest level of
attention.  I think it is everyone's itch to bring more high quality
contributions and contributors to the project.

Kathey



Re: So you wanna write some database code

Posted by Deepa Remesh <dr...@gmail.com>.
On 12/15/05, Daniel John Debrunner <dj...@debrunners.com> wrote:
> Geir Hoydalsvik - Sun Norway wrote:
>
> >
> > A good idea David! Perhaps the community also could work on getting a
> > list of useful tasks suited for students and newcomers. I know this has
> > been attempted before, could it be tried again?
>
> One idea that came up at ApacheCon was to have a flag in Jira, maybe a
> new component like "intro" or "newcomer", that indicated a task was
> suitable for newcomers.
>

There is a JIRA issue which lists tips, tasks and bugs suited for
newcomers. http://issues.apache.org/jira/browse/DERBY-257. Some of it
is outdated. I am working on making a Wiki page out of the material in
this. I will leave out the list of JIRA issues as there is a plan to
add a new flag.

Thanks,
Deepa

Re: So you wanna write some database code

Posted by Mike Matrigali <mi...@sbcglobal.net>.
Didn't realize that, then your suggestion seems good.  I should have
since I know it is a pain to update a jira issue that has 2 fixins to
add a new one.

Daniel John Debrunner wrote:
> Mike Matrigali wrote:
> 
>>hopefully not overloading the current component, I think it is useful
>>to note what part of the system it affects.  It would be nice if JIRA
>>had a new field that somehow could be used to indicate how hard a
>>bug fix or improvement was.  This would seem likely a good place for
>>intro/newcomer.
> 
> 
> So Jira allows multiple components for an issue, thus an entry could be
> 'newcomer', 'sql' and 'jdbc'.
> 
> Dan.
> 
> 
> 


Re: So you wanna write some database code

Posted by Daniel John Debrunner <dj...@debrunners.com>.
Mike Matrigali wrote:
> hopefully not overloading the current component, I think it is useful
> to note what part of the system it affects.  It would be nice if JIRA
> had a new field that somehow could be used to indicate how hard a
> bug fix or improvement was.  This would seem likely a good place for
> intro/newcomer.

So Jira allows multiple components for an issue, thus an entry could be
'newcomer', 'sql' and 'jdbc'.

Dan.


Re: So you wanna write some database code

Posted by Mike Matrigali <mi...@sbcglobal.net>.
hopefully not overloading the current component, I think it is useful
to note what part of the system it affects.  It would be nice if JIRA
had a new field that somehow could be used to indicate how hard a
bug fix or improvement was.  This would seem likely a good place for
intro/newcomer.

But failing new jira fields maybe we could just standardize a comment
to be attached to a jira, and a jira query that would pick up the comment.

Daniel John Debrunner wrote:
> Geir Hoydalsvik - Sun Norway wrote:
> 
> 
>>A good idea David! Perhaps the community also could work on getting a
>>list of useful tasks suited for students and newcomers. I know this has
>>been attempted before, could it be tried again? 
> 
> 
> One idea that came up at ApacheCon was to have a flag in Jira, maybe a
> new component like "intro" or "newcomer", that indicated a task was
> suitable for newcomers.
> 
> Dan.
> 
> 
> 


Re: So you wanna write some database code

Posted by Daniel John Debrunner <dj...@debrunners.com>.
Geir Hoydalsvik - Sun Norway wrote:

> 
> A good idea David! Perhaps the community also could work on getting a
> list of useful tasks suited for students and newcomers. I know this has
> been attempted before, could it be tried again? 

One idea that came up at ApacheCon was to have a flag in Jira, maybe a
new component like "intro" or "newcomer", that indicated a task was
suitable for newcomers.

Dan.


Re: So you wanna write some database code

Posted by Geir Hoydalsvik - Sun Norway <Ge...@Sun.COM>.
A good idea David! Perhaps the community also could work on getting a 
list of useful tasks suited for students and newcomers. I know this has 
been attempted before, could it be tried again? Perhaps one also could 
create a users competition like the best demo app, the best test, or 
similar? The winner could be recognized on a web page hall of fame?

-geir

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



Re: So you wanna write some database code

Posted by Dibyendu Majumdar <di...@mazumdar.demon.co.uk>.
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