On Wed, 22 Mar 2006, Marc Hadley defenestrated me:
> Hi,
> 
> I was going to take a crack at implementing String#unpack for 'u',  
> 'm' and 'M' as requested in bugs 911493 and 911497 but it seems that  
> someone already beat me to it - perhaps someone should close those  
> bugs ?

  Yes.  Thanks for pointing these out.

> Are there any other bugs/features that someone new to the codebase  
> (i.e. me) could profitably spend their time on ?

  Well I thought about proposing 1121928 since it is working with 
fixing a method implementation.  It may be a little challenging though.

  With the recent interest in JRuby recently I will try and start 
converting various TODO/Fixme's in our code into tasks that I think
new developers can sink into.  I thought I had a few in the bug database
but someone already fixed them :)

  Also, here is a draft of a document I have written, but not added to the 
website yet:

If you want to help make JRuby a better piece of software there are many ways
you can help.  This document is divided into three areas:

1. Ruby coders
2. Java coders
3. Documenters

Most people interested in JRuby qualify for all three areas.  Please
consider each area as they are all important to the success of the project.

Ruby Coders

As a Ruby coder you can help JRuby by finding areas where JRuby is not
behaving properly.  This generally involves trying to use JRuby in place
of Ruby and seeing if your software runs.  When you find something which
is behaving incorrectly (or not at all), then you should:

a. Reduce the problem as small as you can.  Hopefully it ends up being
   a couple of line test case
b. See if you can find a bug report on jruby's sourceforge site
c.i. If so, then you can comment on the bug if you think you have something 
     to add which may be helpful in correcting/diagnosing the problem.  
     Especially, if you have a better test case.
c.ii. It not, then you should send an email to jruby-devel with the test case,
      and if helpful, what module you noticed the problem in.
d. A Java developer will triage the problem and either:
  i. Fix the problem
  ii. Ask you to add a bug report
  iii. May add the bug report themselves (they may have some insight that
       makes this a better choice)

Java Coders

As a Java code you contribute by fixing problems or missing functionality
in the JRuby implementation of Ruby.  Additionally, you can contribute time
to improving the java integration or embedding features of JRuby.  

The first thing you should do is create a working sandbox and make sure you can
compile and run JRuby.  See {getting a working sandbox} for more information
on this.

The next thing you should do is figure out what you want to work on.  Largely,
most frequent contributors generally contribute to itch their own scratch.
This means they want some ruby software to run and they have found problems 
that are impairing their progress.  What if you don't have any current 
itches?  We have plenty of tasks you can work on:

a. Any open bug on the sourceforge site is fair game
b. Any TODO/Fixme in the source may be fair game.  If the TODO is an obvious 
   error in Ruby behavior then you can just fix it.  If it is a refactoring 
   TODO which was written by someone who would like a section rewritten, then
   you should send a message to jruby-devel and inquire about the item.
c. Any missing native library in Ruby which JRuby does not have yet (e.g.
   zlib, socket, digest, etc...).  We are trying to write all these libraries
   in Ruby using Java integration.  You can look at digest.rb in our source
   distribution for an example of how this can work.
d. Try making a script to exercise a standard library in Ruby with JRuby.  For
   example, require matrix.rb and do some matrix operations and see if Ruby
   and JRuby match.
e. Try running against unit tests in Ruby source tests directory against 
   JRuby.
f. Look for missing methods in JRuby's implementation of core libraries.
   In some cases we have TODO's indicating these and in others we don't.
   The Pickaxe book is useful in this case
g. Find something undesirable/missing about JRuby's java integration features 
   and propose something.
h. You can always ask the jruby-devel mailing list.  You may or may not
   get an answer depending on the winds direction.  

When you do find something to work on, follow the following process:

a. Make sure no one is already working on your new found task.  To do this:
 i. Look for bug report on JRuby's sourceforge bug list
 ii. Send a message to jruby-devel saying what you are working on.  Someone
     may have input that can help you out.  Having a reduced test-case when
     possible is always desired to limit the scope of discussion.
b. Become a code monkey and fix the problem (or add the feature)
c. Add test case(s) in the tests directory to exercise the problem
d. Make sure you did not create any regressions
 i. via built-in unit tests
 ii. via rubicon test suite
d. Generate a patch from the root of the project tree
e. Submit the patch to jruby-devel
f. pat your self on the back and find another thing to work on

After a trial period where we get used to your contributions, personality,
and general commitment (read this as you did not submit two patches and then 
quit the project), we will make you a full contributor.  

Documenters

JRubys documentation is sorely lacking.  Almost any idea for better 
documentation would be helpful.  Ideas for documentation include:

a. Introductory documents on topics like:
  i. Embedding JRuby into a Java application
  ii. Example using JRuby's Java integration features
b. Better core API documentation:
  i. java integration features (low-level and high-level docs)
  ii. BSF documentation
c. Example code with commentary
If you want to help make JRuby a better piece of software there are many ways
you can help.  This document is divided into three areas:

1. Ruby coders
2. Java coders
3. Documenters

Most people interested in JRuby qualify for all three areas.  Please
consider each area as they are all important to the success of the project.

Ruby Coders

As a Ruby coder you can help JRuby by finding areas where JRuby is not
behaving properly.  This generally involves trying to use JRuby in place
of Ruby and seeing if your software runs.  When you find something which
is behaving incorrectly (or not at all), then you should:

a. Reduce the problem as small as you can.  Hopefully it ends up being
   a couple of line test case
b. See if you can find a bug report on jruby's sourceforge site
c.i. If so, then you can comment on the bug if you think you have something 
     to add which may be helpful in correcting/diagnosing the problem.  
     Especially, if you have a better test case.
c.ii. It not, then you should send an email to jruby-devel with the test case,
      and if helpful, what module you noticed the problem in.
d. A Java developer will triage the problem and either:
  i. Fix the problem
  ii. Ask you to add a bug report
  iii. May add the bug report themselves (they may have some insight that
       makes this a better choice)

Java Coders

As a Java code you contribute by fixing problems or missing functionality
in the JRuby implementation of Ruby.  Additionally, you can contribute time
to improving the java integration or embedding features of JRuby.  

The first thing you should do is create a working sandbox and make sure you can
compile and run JRuby.  See {getting a working sandbox} for more information
on this.

The next thing you should do is figure out what you want to work on.  Largely,
most frequent contributors generally contribute to itch their own scratch.
This means they want some ruby software to run and they have found problems 
that are impairing their progress.  What if you don't have any current 
itches?  We have plenty of tasks you can work on:

a. Any open bug on the sourceforge site is fair game
b. Any TODO in the source may be fair game.  If the TODO is an obvious error
   in Ruby behavior then you can just fix it.  If it is a refactoring TODO
   which was written by someone who would like a section rewritten, then you
   should send a message to jruby-devel and inquire about the item.
c. Any missing native library in Ruby which JRuby does not have yet (e.g.
   zlib, socket, digest, etc...).  We are trying to write all these libraries
   in Ruby using Java integration.  You can look at digest.rb in our source
   distribution for an example of how this can work.
d. Try making a script to exercise a standard library in Ruby with JRuby.  For
   example, require matrix.rb and do some matrix operations and see if Ruby
   and JRuby match.
e. Try running against unit tests in Ruby source tests directory against 
   JRuby.
f. Look for missing methods in JRuby's implementation of core libraries.
   In some cases we have TODO's indicating these and in others we don't.
   The Pickaxe book is useful in this case
g. Find something undesirable/missing about JRuby's java integration features 
   and propose something.
h. You can always ask the jruby-devel mailing list.  You may or may not
   get an answer depending on the winds direction.  

When you do find something to work on, follow the following process:

a. Make sure no one is already working on your new found task.  To do this:
 i. Look for bug report on JRuby's sourceforge bug list
 ii. Send a message to jruby-devel saying what you are working on.  Someone
     may have input that can help you out.  Having a reduced test-case when
     possible is always desired to limit the scope of discussion.
b. Become a code monkey and fix the problem (or add the feature)
c. Add test case(s) in the tests directory to exercise the problem
d. Make sure you did not create any regressions
 i. via built-in unit tests
 ii. via rubicon test suite
d. Generate a patch from the root of the project tree
e. Submit the patch to jruby-devel
f. pat your self on the back and find another thing to work on

After a trial period where we get used to your contributions, personality,
and general commitment (read this as you did not submit two patches and then 
quit the project), we will make you a full contributor.  

Documenters

JRubys documentation is sorely lacking.  Almost any idea for better 
documentation would be helpful.  Ideas for documentation include:

a. Introductory documents on topics like:
  i. Embedding JRuby into a Java application
  ii. Example using JRuby's Java integration features
b. Better core API documentation:
  i. java integration features (low-level and high-level docs)
  ii. BSF documentation
c. Example code with commentary


-- 
+ http://www.tc.umn.edu/~enebo +---- mailto:[EMAIL PROTECTED] ----+
| Thomas E Enebo, Protagonist  | "Luck favors the prepared    |
|                              |  mind." -Louis Pasteur       |


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Jruby-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jruby-devel

Reply via email to