Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
$400 bounty started for "simple" OSS node.js module (groups.google.com)
89 points by reddittor on May 8, 2011 | hide | past | favorite | 44 comments


Does this mean that there's a business here - kind of like a reverse groupon?

A group of people want X (digital content), and each will pay whatever they want to for it. Fulfillment is more likely the larger the "pot" becomes, and it's an all-out competition to see who wins the pot.

Any ideas for a tweaking of this business model that makes more sense?


Bounties are not new in any way.. i have seen those for ubuntu und i think gnome some years ago.. but can't find an ubuntu bounty list anymore, weird..

Anyway, there is http://www.cofundos.org/ and http://micropledge.com/ at least..


FreeSWITCH has bounties too:

http://wiki.freeswitch.org/wiki/Bounty


The Open Media project also has bounties: http://openmediaproject.org/bounty

While not a prime driver for development, they can be useful for picking off new feature branches, etc.


I looked into this long and hard and even built a website and minimal implementation, as I'd had some experience running and contributing to bounties on Open Source projects, but the more I thought about it, the less like a solid business it seemed.

The biggest problem is that the amounts involved are small, and the number of projects involved is also small (this is a $400 project, and it was considered interesting enough to get front page on HN; this indicates a tiny market). At the time, SourceForge, and several other Open Source sites, were beginning to add bounty and "hire this developer" features, and I couldn't see how a third party could more effectively reach those users or those developers (because you need both sides to buy into your product in order for it to be useful). The amount a third party could charge for the intermediary service is bound to be low or developers would go elsewhere; a couple points, maybe. So, 2% of $400 is 8 bucks. It'll take 10,000 projects of that size per year to pay yourself a decent salary and cover expenses. There probably haven't been 10,000 Open Source bounties in the past decade, much less the past year.

One of the problems a product like this would solve would be the trust issue: Can the bounty contributors trust the developer to deliver quality code if paid at the start, and can the developer trust all of the bounty contributors to pay up in a timely fashion if the code is delivered first. But, there are already ways to solve that problem. ChipIn solves the latter one, and many Open Source developers are sufficiently well-known in their community that no one would doubt they would finish the job. The other problem is connecting developers with money; but SourceForge and elance and many other sites already provides mechanisms for users to give developers money, as do traditional contractor agreements.

Of course, you've specified "digital content", and I was just looking at software, which opens up the market quite a bit. There were discussions amongst the browncoats (Firefly fans) of building a system to directly fund new Firefly episodes through viewer contributions. But, I think in the end, everyone agreed that the math just didn't add up. It might for lower budget content.

Back to software, I think github and SourceForge could make a few extra bucks from this kind of idea, but I don't think there's much room for any third party to fit into that relationship, if they aren't already in the loop for some reason.


Can't I accomplish the same thing using Kickstarter?


Yes, but it didn't exist when I was working on the problem. But, it is one of many competitors you would face trying to make money in the space today.


It sounds like a reverse Kickstarter: someone posts a need and starts the pot. Other people can add to the pot and/or fork the product to modify the requirements. When the product is delivered and you can verify that it matches the requirements, the pot is paid out to the developer.


What happens if multiple people claim the pot at once, perhaps with variations in quality, speed and completeness? Is the pot really just one pot or will each contributor decide who gets paid?


This is more of a commentary on the kind of people that use node.js than anything else.


Is this common in certain OSS circles? I know stack overflow has a bounty feature, but I've never really seen this before.

I thought open source was about "scratching your own itch", not "here's $20, scratch me"


I thought open source was about "scratching your own itch", not "here's $20, scratch me"

Open Source is about availability of the source code, not about paying for the development or not.


I've paid for features to be implemented and been paid to implement features. It's not common per se but it's not frowned upon in my experience. It's often a lot more efficient to pay someone else (or them you) with expertise and a commit bit to get something done; just don't expect money to allow you to go against the projects grain and tack on cumbersome or obscure functionality.


No. It possibly can demotivate people (is that all I'm worth?; since I started doing this for money it's not fun any more) http://www.gnu.org/philosophy/motivation.html

However, I think it's a great idea in principle. There's been the "street performer protocol" http://en.wikipedia.org/wiki/Threshold_pledge_system#Street_... (which didn't seem to take off); and http://www.kickstarter.com (which did, but it's mostly not software).


I had the exact same experience. I worked for an open source company that had bounties and I think it was one of the major factors that completely killed the open source community around it. A few years later a friend of mine mentioned she had contributed to the project, but stopped after she worked on something for 10 hours and realized that worked out to about $10/hour.

However, it seems like a good model if it gets up to market rates (if someone could do this in an hour or two) and especially if it's something developers wouldn't do on their own.


Not necessarily. To quote the cliche, OSS is free as in freedom not free as in free beer.


It is not as common as hacking for yourself, but it does happen. Stallman used to be paid to add features to the gnu system, money which he lived of.


I'm sure I've seen this a few times before. Google showed up this from 2008: http://www.fossfactory.org/


That might work for weekend hacking sessions. But for serious projects, most of the development process is financed by businesses. Take a peek at the Linux contributors: http://arstechnica.com/open-source/news/2010/12/linux-kernel...? but this isn't a sole case.


I'd love to do it myself, but I've tried a few times without much success. Hopefully, I will be able to learn from someone else should they choose to do this.


"Please be clear if you want to be down for the OG bounty"

OG as in original gangsta. Funny to see it used in a programming setting


I'm also the author of the node.js rap.

The OG rap about node.js: http://soundcloud.com/marak/marak-the-node-js-rap


This is hilarious. How did this come about?


[deleted]


> I'm surprised he didn't just write a 10 line script that wraps a command line utility and call it a day. Oh right, he did.

What's up tlrobinson?

I wrote a stop gap hack to get stuff done while I prototyped the JSONloops format and merge algo. tmpvar and h1jinx then helped out with writing an irrklang wrapper to get low latency playback when my side was ready (see: https://github.com/Marak/JSONloops/blob/master/vendor/play.j... ). Now that both things "work" I want to improve the project.

Why the snarky comment? I'm just trying to have some fun with a little side project. :-(


Just not sure why you feel the need to package up this kind of trivial stuff and spam HN with it (under various usernames, for some reason: http://news.ycombinator.com/submitted?id=marak http://news.ycombinator.com/submitted?id=JimBastard)

Edit: ...then complain when the moderators decide it's crap: @paulg, I'm sure you don't care when sleeping on your pile of money, but the people moderating Hacker News are a cancer. Your site is doomed (https://twitter.com/maraksquires/status/67123612653592576)

Edit2: Shouldn't feed the troll. I'm done here.


> Just not sure why you feel the need to package up this kind of trivial stuff and spam HN with it (under a different username, for some reason: http://news.ycombinator.com/submitted?id=marak)

That account has been silent-banned for awhile ( as most of my accounts have been for flaming / trolling people). I cannot use it anymore. Notice all the submissions are missing?

What would you like me to do?

I don't understand why you are hating on me. I've never done anything to you or interacted with you in anyway.

If you consider the work I did on https://github.com/marak/JSONloops to be "trivial", then I implore you to build your own multi-user real-time audio sequencer that work's in the browser and is written in 100% JavaScript.


> That account has been silent-banned for awhile ( as most of my accounts have been for flaming / trolling people). I cannot use it anymore. Notice all the submissions are missing?

Out of curiosity, why do you feel the need to flame or troll people on Hacker News?


Now for the daily slap fight! grabs popcorn


It's just super lame. tlrobinson has been hating on #nodejs for a while because it went against some of work he put into CommonJS.

It's really sad to see someone trying to derail an effort like this over some petty personal vendetta.


[deleted]


Awesome! I look forward to meeting you one day. I'd love to hear your reasons for having a problem with me considering I've never spoken with you before in my life.


I don't know what the deleted post referred to, but I'm certainly not surprised that folks here have a problem with you (without having met you), since you admit above to having had a number of accounts here you used for the purposes of flaming and trolling.

Do you seriously think that is going to endear you to the community?


I just tried to add $100 to the bounty from StartupsOpenSourced.com -- not sure if they'll accept it or not considering it's not necessarily coming from an individual, and they don't know me personally.


I'll allow it. :-)


if they don't allow it on the forum, and the guy who writes this is reading this thread, email me at jmtame at gmail and I'll be sure you receive $100 over paypal (I'll verify with the OP)


I don't know Node, but I know all major browsers support <audio> elements, so there must be audio support in V8 somewhere, right?


That's actually in the browser/rendering part of the browser (i.e., in WebKit), not in the javascript engine. So, no.


Much like how typed arrays (Float32Array etc) are part of WebKit and not v8 even though logic would suggest otherwise.


I for one thing think this whole JS for the server-side thing is just wrong (typeof(NaN) returns "number", what?), on the other hand NodeJS and V8 sound more like just a dumb single threaded daemon just had sex with a single threaded language engine and had a conjoined twin. I have to deploy half a dozen just to have a useful smallish app. Don't even mention all these callback non-sense. I like loops and processing return values just the way I've been programming for 8 years thank you very much.

Seriously, not every time there's some interests shelling out money pushing for whatever agenda they have, we have to fall for it. If it's bad, it's bad. Just say it and look away.

On the other hand, I can see $400 being something tempting for bootstrapping entrepreneurs like me...


Large, "real-world" companies such as ngmoco have slashed their hardware requirements by an order of magnitude by moving away from the standard stacks people have been "programming for 8 years thank you very much". Before you make another contribution to a discussion, about a technology you obviously know very little about, do some homework.

P.S. picking on a technology because it has some flaws (typeof(NaN) returns "number") is sign of someone who reads books by their covers and fails to see the benefits of an otherwise more suitable solution. You will find in many languages the NaN constant is an instance of some kind of Number type. I'm interested in knowing "the way [you've] been programming for 8 years". I'm certain we could begin tearing it to pieces as you're so fond of doing.

Please, in the future, the moment you begin contributing your FUD to a thread such as this, just say it, and look away.


Both of you, typeof NaN == number is not a language flaw! It's part of the IEEE 754 floating point specification.

https://secure.wikimedia.org/wikipedia/en/wiki/IEEE_754

Look, a big "system language" like Java also defines NaN, +inf, -inf as values of double (see Field Summary).

http://download.oracle.com/javase/6/docs/api/java/lang/Doubl...

As in

double mathError = Double.NaN;

Any other standards conformant language supports NaN for floating point numerical values. I would even argue an absence of NaN should be perceived as a language flaw.

EDIT: I realize the above might not actually be sufficiently explanatory. "Not a number" is used to specify the class of numbers that cannot be represented in floating point notation. This includes the undefined like 0 / 0 and imaginary numbers (e.g. square root of a negative value). It can also be used for missing values in a large computation.

Any operator with a NaN results in a NaN. So 1 + NaN = NaN. Most NaNs are quiet, as in they do not throw an exception and allow the operation to continue. This allows large batch computations to continue without stopping the entire process for one bad record. Instead there will be a NaN for that record and the rest of the data will be processed correctly. You can see why this might be useful when dealing with large amounts of scientific data and hopefully why the IEEE would introduce such a feature.


Good to know. Thank you.


Calm down man. Jeez. I don't know anything about the ngmoco case but I would like to see how their operational costs compare to before. And yes, a link would be helpful.

typeof(NaN) returns "number" is obviously a bad example, but how about this?

1 + "1" * 1 == 2 // returns true

You really wouldn't know why until you dig into the language spec. There are lots of little things here and there that trips you up on a daily basis in JS I've never really understood why anyone would use it to write large systems on the server-side. It's a language that you have to deal with pretty much everyday when you are using NodeJS, I don't see how using JS can make the people using NodeJS more productive. But maybe that's not the point.

But maybe it is, given that on it's website it openly admits that it takes inspiration from Python's Twisted and Ruby's Event Machine.

V8 is essentially single threaded. That's common knowledge, but then again, Python isn't much better either.

So let's look at it's other selling point - Event driven programming/networking. Is that something new? No. Is that something proven? Yes, as it seems to work very well for Ericsson. Are callbacks necessary in EDP? No. Are they everywhere in NodeJS? Yes. Are they easy to read and manage? Obviously No.

For argument's sake, let's say event-driven programming/networking is a very good idea that it warrants slapping on a terrible language and programming practices on it. What about the eco-system? Well, there isn't much to say, or we wouldn't be reading this thread.

I don't know man, I don't see the merit in having yet another event-driven programming platform and marrying it on a terrible programming language. It doesn't even have bindings for other languages. I don't really understand the hype, but maybe you can enlighten me because I really haven't been able to find any in depth analysis of NodeJS.


In the world of software, the best doesn't always win. What wins is; ubiquity, ease of use, & random market factors. x86 isn't the best architecture out there, Linux isn't the greatest kernel ever developed, PHP can be pretty horrible when used incorrectly, Wordpress's code is complete crap, and yes, JavaScript has some quirks. Some really really smart people at Microsoft, Sun, and Google have all attempted to add another language to the browser, and all have failed so far. The only language that has been successful is something that was created in a few weeks at Netscape. And now, that language is invading the server, and it's going to win. Every single big company on the web is toying with Node right now. During 2011, HP is going to ship tens of millions of computers and phones that has Node as a core component of the OS. The performance goals that the Node dev team are aspiring towards are mind-blowing, and you know what? I think they are going to get there.

So, to answer your question, what are the merits of Node? The "Ease of use" vs "Performance" ratio is going to be off the charts. You may feel more productive in another language. But there are millions of people who are going to enjoy the ease of use to fire up a high performing HTTP server in 3 lines of code.


Hi, I'm interested in learning more about ngmoco's use of Node - particularly how they have lowered hardware costs with it. Can you please offer a link?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: