tags:

views:

271

answers:

6

I've been recently confronted with a not so typical programming problem. Where do I look for contributors? I'm extending an already existing project, Hypertable, and I'm looking for a one or two more people to lend a hand in implementing some stuff. The extension to the project I'm working on is a MapReduce framework which once done will complete the fully open source google stack alternative.

Do you have any suggestions on where to ask for help?

+1  A: 

If you intend to provide your work under an OpenSource license (which I believe you do, as Hypertable is licensed GPL) you're probably best of describing what you intend to do on the Hypertable mailing lists. You're most likely to find interested people there.

My recommendation is to back your intention with some code patches to demonstrate what you are about to do - if that's feasable. Get yourself known to the community of developers there and check if they are open for external contributions, or if they are already working on what you intend to provide.

There are a lot of resources out there on how to get involved with an open source project. Look for those (perhaps someone could provide a good reference here) and see if they apply for you / this project.

Olaf
A: 

first upload your code or your ideas to a common sharing web site like google code or codeplex, then open a blog in order to add updates to your project, you need to sell your idea and contributors will show up.

Oscar Cabrero
A: 

Well, I'm already a (infrequent) Hypertable contributor and am involved, more or less in a project but the problem with the Hypertable team is that they are involved more and more in the data store itself. So I guess the question should be how do you find contributors who might become interested in the project outside the project community? Am I fated to look for contributors in a passive way by maintaining a blog, etc. ?

A: 

You might get some ideas from this previous question about attracting open source contributors.

DOK
A: 

If I were you, I would do the following things:

  • write up some kind of document that describes what you're trying to do, why you're trying to do it, and how you will do it. This is between a mission statement and a spec, it should have the details you know about but also broadly describe why this is a good thing to work on and who would find it useful.
  • get all of the code and associated data that you have so far and put it somewhere publicly accessible, such as GitHub or SourceForge.
  • make a simple web page that integrates access to the code with any text you've written.
  • notify people that you think will be interested. This includes mailing lists, websites of similar ideas, people you've met in your field, and personal friends in the industry that you think might like helping you with your idea. If you can do some or all of the prep work that I suggest above before contacting people, people are more likely to take you seriously because you will exude some aura of organization.
  • as you work on things, post dated updates so that people who look at your web page don't have to wonder if your thing is still actively developed.

Getting help from random people on the Internet is partially about marketing, so don't neglect that aspect of your work even though it's not coding. It's fun to work on something new, good luck. Also as DOK points out, similar questions have been answered before, so check those answers too.

James Thompson
A: 

The Hypertable team are indeed mainly focused on taking the product to 1.0 beta. It's definitely getting there. The stability of even the alpha version Hypertable is quite remarkable. Based on what I've seen, people are abandoning HBase and Cassandra and adopting Hypertable. The Baidu endorsement is a major PR win for the project (I heard the DB size is up to 1PB and most of the problems encountered and worked around are from Hadoop)

The map-reduce extension is in the post 1.0 plan. One reason for the lack of interest for such extensions is that existing map-reduce frameworks like Hadoop (along with convenient wrappers like Cascading) works just fine with Hypertable (map/reduce jobs that use various ways (direct or Thrift) to access Hypertable)

I for one, welcome alternative map-reduce frameworks. But it's perceived to be a lot of work without much payoff. Feel free to prove them wrong :)

ididak