[ANN] Offering to work directly for the Ruby community!

Discussion in 'Ruby' started by Gregory Brown, Mar 10, 2008.

  1. Hi folks,

    I've been prone to having crazy ideas before, but this one is my
    latest. After posting a long, whimsical post on the O'Reilly blog
    about this, my friends have persuaded me to try this for real.

    If you haven't read that post yet, it's here:


    === Quick Project Summary ===

    ***Through the donations of community members, I would like to put my
    commercial and personal software projects on the back burner for a
    prolonged period of time (3-6 months), and focus on working on open
    source projects that are of high importance to the majority of

    If you've already seen discussion of this idea elsewhere, and are just
    wondering where to donate, head to:


    Otherwise, if you still need convincing, read on:

    === Why does the open source Ruby community need some grassroots,
    non-commercial love? ===

    The Ruby community suffers from an embarrassment of riches when it
    comes to open source software. It seems that countless hackers and the
    companies they work for are eagerly contributing new software, and
    working on shaking bugs out of old software. This on its own is a
    great reason to believe that Ruby will continue to be a serious
    contender for many different programming tasks, both in the commercial
    and hobbyist sectors.

    Still, there are complications. With the explosion of interest in Ruby
    and software written in it, the community is feeling growing pains at
    all levels, especially in our infrastructure that supports application
    development in Ruby. Though it's relatively easy to find paid Rails
    work that allows you to contribute a plugin to the community now and
    again, it's pretty hard to find a company that'd fund fixing the
    various bugs that have been reported with RubyForge, our central
    software repository. Though many Rubyists will seek 1.9 compliance in
    their greenfield projects, it's unlikely that we'll see large numbers
    of existing Ruby projects get fixed up in a short period of time
    without some external push. These are the kinds of things that casual
    hacking as well as commercial work don't really answer, and this
    proposal aims to offer a solution to them.

    Put simply, I'd like to put my commercial work as well as my personal
    software projects on the back burner for several months, so that I can
    work on problems that are common among most Rubyists. My goal is to
    raise the funds necessary to do this from the community itself, and
    there are a number of reasons why I'd be a good candidate for this
    sort of thing.

    Ideally, I'd like to spend 3 to 6 months as an employee of J. Random
    Rubyist, working on projects that matter to me, but also matter to the
    many hard working, busy, and wonderful Ruby developers I've met over
    the last several years.

    == Why Me? ==

    I can name a ton of Rubyists I'd say would be technically proficient
    and community centric enough to take on this kind of effort. However,
    I've been fortunate enough to have several unique experiences that
    make me confident that I could do some great work on something like

    * I have successfully participated as a Ruby Central Codefest Grant
    recipient in 2005 as well as a Google Summer of Code student in 2006

    * I have been very active in the community, so my work and
    contributions can easily be reviewed by anyone who wishes to do so.
    I've spoken at a number of Ruby users groups and conferences,
    including RubyConf 2006 in Denver, CO.

    * I have a deep passion for working on open source software, and place
    this interest ahead of making boatloads of money. Though I expect to
    do some minimal commercial work during the duration of this project, I
    have no problem making this project my primary focus for a while.

    * My living expenses are relatively low, and I do not have a full-time
    job, a family to take care of, or any other major commitments that
    would take me away from dedicating time to a project like this. For
    the record, I have endless admiration and respect for the hackers out
    there who are 'doing it all', though I don't envy the complications
    that must arise from that.

    * I am very comfortable with candid, transparent discussions in
    public. This will be necessity for a project like this to succeed.

    Because of these reasons, I think I'm the right person for this job. I
    hope you do too.

    === Logistics ===

    If you're looking for the shiny stuff, such as the ideas for things I
    want to work on, skip to the section below here, but here a few
    important logistic details:

    1) I need to make at least $500/wk to cover my living expenses.

    2) I need to figure out whether I'll be working on this project, and
    for how long, by April 1st. This will let me figure out how to
    re-arrange my commercial work so as to not conflict with this project.
    This means that I need to raise money rather quickly, just over 3
    weeks remain from the time of this posting.

    3) $500/wk is less than what I'd like to live on, and less than what I
    make. So I'll accept donations up to $20000 for a 6 month period,
    even though $500/wk would put it at $13000. If I make less than that
    in donations by April 1st, and at least clear the cost of working two
    weeks, I have no problem working fewer weeks at $500/wk. This means
    that earlier donations will be 'sustaining the project', and later
    donations will be 'supporting my comfort'.
    Though I would be quite happy to even be able to dedicate two weeks to
    this project, reaching the $20000 maximum would be phenomenal, as it'd
    make this hardly a sacrifice for me.

    4) Until April 1st, this is pretty much a process open to change and
    community suggestions. Please join this mailing list and ask
    questions / make suggestions, whether or not you choose to donate.

    === Project Ideas ===

    Here are some of the ideas I've cooked up, and I'm open for more

    = Ruby 1.9 Field Medic.

    Start with Ruport and tumble through dependencies, working on
    compatibility issues. From there, work on helping with 1.9 support
    where needed in projects like: ActiveRecord, mechanize, redcloth,
    Camping, Merb, hpricot, highline, and maybe others. I've not checked
    the 1.9 status of these projects, but I'm sure could come up with many
    more if time permitted.

    = A Six Month Nightmare with RubyForge.

    Tons of bug reports!
    Tons of feature requests!

    No one likes PHP. But RubyForge is driving me insane. I would be
    willing to fix it given the time and funding.
    Uncovering Hidden Gems

    I could request suggestions for various useful but under-documented or
    less well known Ruby libraries, either third party or stdlib, and
    write a large series of tutorials and quick references. The idea here
    is that it would hopefully result in a large amount of documentation
    being written, which would spark contributions to these many 'hidden
    gems' in Ruby.

    = First class PDF support in Ruby.

    I'm currently maintaining PDF::Writer along with Mike Milner. The
    library implements most of the PDF spec, and is incredibly useful.
    However, it's not very usable. It is slow, has API issues, and
    countless bugs. The current plan is to maintain the library making
    minor improvements when we can. A large time block would allow for
    something better: A fast, thin, pretty rewrite. This would go a long
    way to helping Ruby be a first choice for reporting software

    = From Lone Hacker to Community Leader.

    I could work with newer or shy developers to help them get acquainted
    with free software practices in general. I'd help people learn how to
    package gems, set up mailing lists, do sane release

    ** Please send me more ideas! **

    === Summary / How To Help ===

    If you've read through this long email and still want *more* detail,
    my 'official' proposal is a bit longer and has some additional info:


    If you've managed to get this far, you're probably at least partially
    interested in this project, and the most straightforward way you could
    help is of course, make a donation:


    I'm suggesting that $50 is a good number to shoot for, because if I
    end up doing proportional voting for projects, that's probably the
    amounts I'll split them up into. Of course, I welcome anything folks
    wish to offer, so feel free to offer $5 or $500 if you wish.

    There are other ways you can help. This project will depend entirely
    on word of mouth and the support of the community. If you know my
    work, or just think I'm a good guy, please tell your friends. Blog
    posts linking to the proposal and donation page would be great.

    Finally, if you're skeptical but have constructive criticism you can
    offer, or have ideas on how you think this should work, or are just
    generally curious, please join this mailing list and get involved:


    Thank you for those who've read all the way to the end of this *long*
    email. I hope this project succeeds, and I look forward to working
    directly for J. Random Rubyist starting in mid April!

    Gregory Brown, Mar 10, 2008
    1. Advertisements

  2. Gregory Brown

    7stud -- Guest

    I'll contribute $10,000. Where should I send it?
    7stud --, Mar 10, 2008
    1. Advertisements

  3. Gregory Brown

    7stud -- Guest

    Never mind. I reread your post and now I'm really excited. I'll
    contribute $20,000. I've got a clearing agent in your country. He'll
    send you a check for $50,000. You cash the check and keep $20,000 for
    your Ruby work, and then send the balance to me. Here is my address:

    118 Maple Way
    Shanty Town, Nigeria
    7stud --, Mar 10, 2008
  4. Very entertaining, and I'm sure there are no legal issues involved in
    that one :).

    Those serious about donating can of course use Pledgie:

    My hopes are that my Ruby friends who are familiar with my work and
    contributions to the community will help me make this project a
    reality, but I totally respect people who are afraid I'm scamming
    them. Just please investigate the projects I've been involved with
    before poking fun.

    Gregory Brown, Mar 10, 2008
  5. Gregory Brown

    7stud -- Guest

    Let me guess. You started playing p_oker online for fun. You won a few
    $'s, so then you bought a book and started playing seriously. However,
    your results weren't as good as when you started. You lost money.
    Since you knew you were a better player, you deposited more money. Then
    you lost that. Then you lost more. Now you owe a bookie 20 large, and
    you're looking for new ways to raise 'investment capital'.

    Good luck.
    7stud --, Mar 10, 2008
  6. Gregory Brown

    Tom Cloyd Guest

    FWIT, I've seen python sites which list programmers wanting to do
    specific things, and will, if people wish to fund them. I believe people
    with specific projects also show up there. It's been a while, so I can't
    tell you more than this. I HAVE see the idea working, though. The trick
    seems to be that someone says "I can do this cool thing, but not for
    free", and the "thing" sells itself to a community of interest. Enough
    people buy in, and it's launched.

    Good luck.

    Tom Cloyd, Mar 10, 2008
  7. That's certainly what I'm hoping for here.

    As one of the lead devs of Ruby Reports[0], I've had literally 100s of
    people tell me about their difficulties with PDF::Writer. So one of
    the cool things I'm suggesting is to give the library a clean
    rewrite. Currently Mike Milner and myself have taken over maintenance
    on that project, because Austin is too busy these days. While we can
    manage to fix bugs here and there, we don't have the time to rewrite
    it for free. That's one thing this could fund.

    Also, we want to get Ruport running on 1.9, and there are a ton of
    projects I use I'd love to see 1.9 compatible. That's another idea.

    Finally, as a RubyForge staffer monitoring the support forums, I know
    there are a lot of problems with RubyForge that need fixing. So I'm
    throwing that up as an idea as well. Basically, I've tried to target
    things I feel already affect a lot of people, in the hopes that having
    a reasonably well known Ruby hacker work on them for some dedicated
    period of time sounds attractive.

    However, if I've missed the mark with these projects, I'd basically be
    willing to work on whatever people suggested, so long as it's
    something I find cool.

    Thanks for sharing your thoughts on this, and keep an eye on the
    project ideas[1] page to see what folks cook up.


    [0] http://rubyreports.org
    [1] http://rubymendicant.wikidot.com/project-ideas
    Gregory Brown, Mar 10, 2008
  8. Gregory Brown

    James Gray Guest

    Yeah, kind of like putting a bounty on a project, in reverse. Greg's
    project seems much large in scope, but along similar lines.

    James Edward Gray II
    James Gray, Mar 10, 2008
  9. Gregory Brown

    Tom Cloyd Guest

    Exactly - that's the idea: "I'll do the following for $XX." THEN people
    know what they're buying into, and that's much more inviting than simply
    putting money on the table for....for... what?? People will respond to
    specifics best, I think.

    Tom Cloyd, Mar 10, 2008
  10. The only issue is that most of the projects I've targeted are as James
    mentioned, large scale. So there is a bit of a commitment on my end,
    as I'll need to be sure I can pay rent for the amount of time I'm
    taking off. That having been said, I've listed project ideas here:


    I'm going to keep this list relatively small and 'general community
    centric' in the hopes that anyone who donates, even if they prefer one
    project over the other, would be happy seeing most or any of these get
    worked on. Those who have concerns about that, can catch up on the
    mailing list I've started and help me weed out ideas that aren't
    generally useful enough.

    Reverse bounties work pretty good for projects of small to mid-size
    scale, but I'm really targeting the things that seem to never get done
    in an organized fashion. This is of course, an experiment, but I hope
    it's one that works out well.
    Gregory Brown, Mar 10, 2008
  11. Gregory Brown

    Bil Kleb Guest


    Best wishes,
    Bil Kleb, Mar 10, 2008
  12. I hope you can put in at least a month. Good luck!
    Thomas Wieczorek, Mar 10, 2008
  13. Gregory Brown

    Tom Cloyd Guest


    Just had a thought. This whole idea might generate more heat if it were
    bigger - I'd like to see a place where problems and people could meet,
    and the interested community could register and vote, to express their
    interest. This would involve much more than one programmer, of course,
    but that's part of what would drive interest of the community in
    general. The focus would probably end up being the more difficult,
    unsolved, high-value problems.

    This is probably too idealized, but I like the concept, and it could
    serve us all well. It would embody a key notion: pro bono work can only
    get so much done, after that, people have to get paid, somehow.

    Tom Cloyd, Mar 10, 2008

  14. I'll definitely have this in mind for the the future, and it's a good
    idea for sure. It's tough to convince people to clear 3-6 months
    without having a guinea pig do a test run first. :)

    I'm happy to be that guinea pig. While it's true I'm just one person,
    often a lot is accomplished by one person when they have a dedicated
    period of time. My experience in Google Summer of Code was like
    that. However, there is a lot to be said for working in pairs or a
    group as well.

    This is a great idea, and please keep in touch with me if you flesh
    the ideas out.

    Gregory Brown, Mar 10, 2008
  15. Things are looking optimistic. If all the folks who emailed me pledge
    what they suggested they would, we'll clear that no problem.
    I also am talking to some people about larger scale donations, more on
    that as I find out...

    Thanks for your support.
    Gregory Brown, Mar 10, 2008
  16. Thanks Bil!
    Gregory Brown, Mar 10, 2008
  17. Didn't Chad announce at RubyConf this past year that RubyCentral wanted to fund
    projects exactly along these lines? I'm not sure where things are on that front.


    Jeremy Hinegardner, Mar 12, 2008
  18. Ruby Central supports it, see
    They will match donations up to 5000$.
    Thomas Wieczorek, Mar 12, 2008
  19. Gregory Brown

    Chad Perrin Guest

    You must be talking about some other Chad than me.

    By the way, if someone wants to solicit funding, "fundable" might be a
    good place to get started:

    Chad Perrin, Mar 16, 2008
  20. I believe using Chad and Ruby Central together would imply Chad
    Fowler. :) And yes I thought I remembered something about that, too,
    but I also missed a good chunk of the conference.



    Read my books:
    Ruby in Practice (http://manning.com/mcanally/)
    My free Ruby e-book (http://humblelittlerubybook.com/)

    Or, my blogs:
    Jeremy McAnally, Mar 16, 2008
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.