On Sun, Jun 24, 2012 at 1:57 AM, NARUSE, Yui <naruse / airemix.jp> wrote:

> (2012/06/23 1:39), David Albert wrote:
> > I've been using ruby as my primary language for two years now and I like
> it quite a lot. I'd like to start contributing back to it, but I don't know
> where to begin. Does anyone have any pointers as to where I can be helpful?
> >
> > A bit of background: I'm pretty comfortable with the ruby language, C
> api, and codebase. I've written a couple of small C extensions and have a
> cursory understanding of how the garbage collector works and how objects
> are stored. More recently, I've been spending some time learning about how
> YARV works (iseq generation, opcodes, method definition, FrozenCore, etc).
> >
> > I have been looking into https://bugs.ruby-lang.org/issues/5776, and
> I've made some progress. At some point between 1.9.2 and 1.9.3 the
> visibility of top level inner method definitions changed from private to
> public: https://gist.github.com/2973857. Because everything typed into
> irb is eval'd with the binding from inside the top level Object#irb_binding
> method (lib/irb/workspace.rb:51), all top level method definitions in irb
> have become public. I haven't learned enough yet to know why this change
> happened and if it was intended, but I imagine I can get there soon.
> >
> > Hopefully this is enough to help you understand the level I'm at. I'm
> happy to continue working on #5776 or contribute to something else. Any
> advice or direction would be wonderful.
>
> As Ammar says, writing Ruby program, studying Ruby, introducing Ruby to
> some,
> helping someone troubled with Ruby... all of them are contribution.
>
> Anyway, what you are saying is to contribute ruby core code, like fixing
> bugs
> and adding a grand new feature.
> But they are also from helping someone (include you and me) troubled with
> Ruby.


Yes, this is what I'd like to help with. I'm happy to get my feet wet
fixing a few bugs before adding any grand new features though.


>
> If you find a person who hit a bug of Ruby, you get a chance to fix the
> bug.
> If you find a person who is suffering how to write a function beautifully,
> you may get a chance to add a new feature which make the function written
> easily.
> Such people are waiting us in twitter, blogs, stackoverflow, and so on.


> If you report a bug, it should have small reproducible code.
> So making a small reproducible code of existing but not fixed bug reports
> is great contribution. (of course bug fix patch is welcome ;-)


Thanks for the tips. It can be intimidating starting out in such a large
project. It is hard to know what is already being worked on and what is
available.

I'm happy to add code and steps to reproduce to existing bugs that are
missing it (and of course patches when I can). If there are any specific
bugs that need some love, please let me know.

Best,
-Dave