I've been meaning to post about this for quite some time. We talked about the reverse bounty concept at DrupalCon. What this means is that a developer writes up a spec/requirements doc/idea for some Drupal development, and then also estimates how much time/money it would take to get it built. People then donate, and when the estimated money level is reached, the developer builds the code.

I want to test this model, and have an idea for a small chunk of code. The concept is to simulate adding a password to your .htaccess file, except doing it in PHP directly, and hooking it into the existing Drupal user database. So, you can have a completely private system, and turn this on or off, directly from within Drupal. One of the things that this would also enable is authenticated RSS feeds (secure, too, if you run SSL): by using user:pass@example.com/node/feed you would get all the nodes that your user has permission to see. This would be tremendously useful for private organic group feeds.

I've written this up on the securesite.module page at Donorge. I estimate that this would be a relatively simple, small module. The bounty is thus being set by me at $500CDN. Bryght will guarantee that the module gets built if the bounty is reached, although we will likely pay a developer in the community to build it. And in this case, we'll pay the difference between the donations and the full bounty -- so it WILL get built. By donating, you are indicating your support for having this functionality built.

You can donate using Donorge. This will also be a test case for that system as well. Currently an entry for Drupal.org isn't in the system, so I can't funnel a percentage of donations that way. I did include a 5% tip to Donorge.org itself.

Please post questions/comments here, or use my contact form to get in touch privately.

Comments

grohk’s picture

The module sounds like it would be useful to me, but more than that I like this idea of reverese bounties, so I am putting up 100 euros toward your goal.

I also like the Donorge site. Very Free Software friendly.

---
Code Orange: Drink Your Juice

sethcohn’s picture

I'm currently working on (when I can find the time) a 'project tracking' module (more generic version of the (very) software focused one now), and one of the important elements (likely to be a separate module, since it's otherwise useful) is a bounty/streetperformer tool. See http://www.dropcash.com for a similar idea.

Ian Ward’s picture

We'll follow up w/ 50USD to securesite.module, 100USD to Drupal, and 50USD to Donorge. We like the idea behind Donorge and even looking at how it could play out in the charity world as a gateway for supporting international development and relief work and putting donations in a transparent social network...

lapurd’s picture

Thank you for this, it is really appreciated. Casper.

dries’s picture

Thanks a lot! Your support is much appreciated.

killes@www.drop.org’s picture

I think you can send (at least a part of) the money to Moshe....
He wrote webserver_auth.module a while ago...
http://cvs.drupal.org/viewcvs/drupal/contributions/modules/webserver_auth/

[Update: Moshe just explained to me that webserver_auth uses the .htaccess file as source for authentification whereas your module would use the Drupal database.]

--
If you have troubles with a particular contrib project, please consider filing a support request. Thanks. And, by the way, Drupal 4.6 will support PHP 5.

chx’s picture

this logs the user into drupal, which is good. However you still need to display an auth request, make an admin UI, check roles...

--
Drupal development: making the world better, one patch at a time. | A bedroom without a teddy is like a face without a smile.

bslade’s picture

I've been thinking about vaguely similar applications, but more in the charity/politics fundraising area.

One thing I've thought about is, would it be better to take credit card backed pledges rather than actual donations? The idea being that a pledge drive might do better because I don't have to commit my money unless something is actually going to happen.

Here's how it could work:

I put my credit card down, pledging money towards a goal, but it just gets validated at the time of the transaction. In the mail order world, this is the same as a merchant validating your credit card for a charge of a certain amount, but not actually charging you because he hasn't actually shipped the product. It's a pending transaction. It reduces available credit of the person pledging, but no money is transferred yet.

If the pledge goal is reached, all the previous pending credit card transactions are "fulfilled". Ie., the money is actually transferred. If the pledge drive times out, then the various pending credit card transactions are voided. The website holding the pledges just has to hold the transaction id's of the previously validated credit card transactions, not the actually credit card info.

A possible fly in the ointment, I'm not sure if credit card processors would like a large burst of "void" transactions. That might smell like fraud to them. Ie., like a vendor who's selling a fake product and getting lots of "cancel my order" requests. I will be researching this for DemocracyInAction.org.

PublicMailbox@benslade.com
(append 030516 to the subj to bypass spam filters)
"It's the mark of an educated mind to be moved by statistics" Oscar Wilde
See my experimental OurOpinion.com website for discussion poll technology

3dsoft’s picture

hi,
I totally agree with bslade.
Who would actually consider paying for something without knowing if the software is really going to be developed. It also would be nice seeing how much money has been donated.

Besides of that it is a great idea!

boris mann’s picture

The "verify" option in Donorge helps with this in part. I've also said that we will "top up" the money and guarantee that the module gets built.

To view donations, see this page.

lapurd@drupal.org’s picture

Thank you for the 5% Boris :) Appreciate it. With a Drupal item on Donorge, any item, goal or organization could 'tip' percentages to Drupal, Drupal would not even need to have a Donorge donation button on it's site to take advantage of this.

Same works in reverse, Drupal or any item could give a percentage to the securesite.module of each donation it receives. Items are encouraged to support each other this way as it also removes slightly the dependency on 1:1 donations to interests.

dries’s picture

See http://donorge.org/d_items/view/83. (The site is rather confusing.)

lapurd’s picture

The site is rather confusing

My excuse is that I have limited time and resources at this moment. There are practical steps going to be made to solve the 'confusing' problems. That means allot of interface updates and English corrections. At the moment people will just have to accept that it is given for free and that there are my limitations in time and resources.

Thanks.

jasonwhat’s picture

just click on "my account" and then there will be a link for your item. This will take you to the control panel to further manage the public information and set goals for the item if you want. You can use html to make the project page look nicer. Also, you can list drupal.org as the homepage. I'm sure you figured this all out, but after playing around on Donorge a bunch I see what it is missing in interface, but am amazed at the cool options once you get to the item control panel.

Steve Dondley’s picture

I love the idea. However, I don't like the name "reverse bounty" so well. It's more unnecessary jargon that will get in the way of selling the concept. The first thing I think of when I hear "bounty" is they payment made for the capture of an outlaw. So is a reverse bounty the amount of money an outlaw pays to capture you? Obviously I'm joking. But my point is that the term "reverse bounty" is confusing and requires extensive explanation. There's no need to go out of our way to extend meanings of existing words in the English language to handle this concept. Better words already exist.

I propose development incentives or developer endowments. They are just as short they tell you precisely what they are.

I think "endowment" is particularly accurate and appropriate. Here's what Merriam Webster says: "to furnish with an income; especially : to make a grant of money providing for the continuing support or maintenance of "

kbahey’s picture

I agree that Reverse Bounty is not very descriptive. I had to struggle with the term for a bit.

How about: Developer Initiated Bounty (DIB).

This is what it really is, the developer a) comes up with the idea, b) drafts specs c) sets a price, and d) waits for donations

So now there is a whole new meaning to "getting first dibs" :-)
--
Consulting: 2bits.com
Personal: Baheyeldin.com

--
Drupal performance tuning and optimization, hosting, development, and consulting: 2bits.com, Inc. and Twitter at: @2bits
Personal blog: Ba

moshe weitzman’s picture

much better ... now, how can we replace 'bounty'? that has negative connotations and is a pretty unfamiliar word, especially in the context of software development

maybe a 'developer proposal' or 'request for funding' or something like that.

boris mann’s picture

I used the term "bounty" originally because it was/is a name used in other projects. I like the term "request for funding". It has connotations with other professional activities like RFQs, RFPs, etc.

kbahey’s picture

Feature needs Funding (FnF)

Or Feature for Funding (FFF)

Ummm. Not sure.

RFF is fine, but it somehow does not reflect that upfront work has been done (idea, specs, ...etc.) and awaiting funding.
--
Consulting: 2bits.com
Personal: Baheyeldin.com

--
Drupal performance tuning and optimization, hosting, development, and consulting: 2bits.com, Inc. and Twitter at: @2bits
Personal blog: Ba

grohk’s picture

I used to work in the non-profit theater world, and people write proposals like this that are sometimes referred to as "grants". It does seem to sound more legit than "Bounty".

---
Code Orange: Drink Your Juice

pamphile’s picture

Naming Options
securesite.module: Bounty Donor Call
securesite.module: Bounty Donors Wanted
securesite.module: Bounty Grants Wanted
securesite.module: Bounty Call
securesite.module: Commercial Donors wanted
securesite.module: Commercial Grants wanted
securesite.module: Commercial Donor Call

BTW.. I need a a modules that works exactly like what your proposing.
see: http://drupal.org/node/18315

Marcel
http://writers-wanted.com - http://01wholesale.com

boris mann’s picture

I read your link. You can actually meet your needs with the organic groups module and private groups.

Securesite would offer additional protection, and allow remote access to authenticated users.

pamphile’s picture

Thanks for the tip... I'll give that combination a try

Marcel
http://01webmasters.com

Scott’s picture

I think bounty is a fine word. The fact that it has multiple connotations, including allusions to crime stories in addition to abundant harvests, only makes it more fun and attractive to use in this context. Isn't it a "crime" when a great idea cannot be brought to fruition ("captured") for lack of money? :-)

From http://dictionary.reference.com/search?q=bounty ...

1. Liberality in giving.
2. Something that is given liberally.
3. A reward, inducement, or payment, especially one given by a government for acts deemed beneficial to the state, such as killing predatory animals [fixing bugs?], growing certain crops, starting certain industries, or enlisting for military service [a war on bad code?].

Steve Dondley’s picture

I like word play just as much as anyone else. But wordplay only works when its done with words and ideas that are already familiar to others. When you're introducing a new idea or concept, it's best to choose and pick your words carefully. I don't think the word "bounty" will help make the right neurons fire for most people.

Steve Dondley’s picture

How about Developer Initiated Endowment? Yeah, unfortunate acronym. :)

I like RFF. A little boring but it gets the point across. An RFD could be a "Request for Development" (i.e. a "forward" bounty, where money from users seeks a developer).

jasonwhat’s picture

Sounds universal to me. Module Grant for within the drupal community.

bslade’s picture

If you want, go to:

and either write-in a proposed name or vote for an existing one.

PublicMailbox@benslade.com
(append 030516 to the subj to bypass spam filters)
"It's the mark of an educated mind to be moved by statistics"
Oscar Wilde

j9’s picture

It makes me think of bountiful.
It makes me think of instant opportunity and reward.
It's something 'out there' that has a reward on it.
Everyone loves rewards.

It's used a lot already in many other free projects, not that that's the reason to follow suit.

http://www.ubuntulinux.org/community/bounties/ comes to mind.

It's one of those words that is fun to click because there's opportunity behind it.

It's just a great word, in my opinion.

robertdouglass’s picture

It makes me think of Jabba the Hut

- Robert Douglass

-----
http://www.hornroller.com/French_Horn_News
www.webs4.com

zach harkey’s picture

Incentives!? Endowments!? Are you kidding me?

I can't believe someone finally finds a legitimate reason to use an awesome, cock-diesel word like bounty, and you guys would prefer to use that lame powerpoint crap. I can't even say the word "endow{yaawn}ments" without yawning— see?

Just because we sit in front of computers all day doesn't mean we can't pretend we're pirate mercenaries.

-zach
--
harkey design

: z

Adagio’s picture

I like the idea too. This would probably speed up the development of Drupal's module repository. I suppose it would also contribute to peoples motivation for creating modules to use as references. However, I hope this doesn't lead to alot of modules not being released to the public, as it would make Drupal less popular.

robertdouglass’s picture

The biggest benefit from this type of award being offered is that it has the potential to bring more developers into the Drupal world. Most of the people here seem to have found Drupal because they wanted to make a website and Drupal looked like a good fit. I'd like to see more people using Drupal because they figure that's where the money's at.

- Robert Douglass

-----
www.hornroller.com
www.webs4.com

SeanK’s picture

I see the value in the module, and it was actually one of the reasons I hadn't yet jumped into Drupal with both feet. That and awaiting 4.6.0 gold.

Got one, so the least I can do is help the other along.

patatti’s picture

I would like further to explore this idea of user driven software development by user donations.

First let me define that "users" can mean individuals or corporations.

Given that most software developers dislike fund raising activities and prefer to write code rather than being a fund raising manager for their projects, the Donorge on-line concept is a step in the right direction.

I am not sure asking users to put money in a centralized pool works, otherwise non-profit orgs like GNU would have enough money to reach their goals. I do not participate in any open source development, so I do not know for sure how open source funding really works, but given this thread I suspect developers are still trying to find solutions to the funding problem. Maybe users would prefer to fund software development on per feature/bug fix terms as opposed to "project XYZ" at large.

Regarding money and trust, I too would like the trust system to work, but I think users see things differently. How can they spend their hard earned money onto someone they don't know, and without a contract?

Please allow me to continue the idea in the original post. Say you prepare a development plan with a cost/time associated with each task in the plan and published your project plan on-line with buttons for users to put money toward a specific task, then users would know where their money goes to.

On the project management side, tasks have dependencies. You may want the money a user has put in, to be escalated up the task dependency chain. Users may not want that though, so I would also give them the "no dependency escalation option". Of course, developers are bound to the dependency chain, so that too has to be communicated to the user.

Developers have to put bread on the table, and users don't want their money to be consumed until the work is done. This system needs terms in a contract to cover the fact that some of the money will be consumed during development. There must also be clauses in the contract to cover the case of underestimated complexity or underestimated amount of work (need more time/money).

You also want multiple donators to be able to share the cost of a feature/bug fix, and you want to allow developers to share the benefits of teaming up on a task (i.e. split the money). You may also want to advertize this fact to the user, and you definitely need to something in the contract between the developers.

Since you want to present some time/cost estimate on a per task basis, you have to consider that developers are not equaly accurate in their estimates. So you also want an "estimate accuracy index" based on who made the estimate. Developers would earn this "estimate accuracy index" based on a known formula that reflect their performance in meeting their time/cost estimate. The index would be visible on the task list.

Finally (for now), project plans change as not all plans are right from the start. This also has to be communicated to users (users that fund the project that is), and this also has to be stated up front.

I am making sense? Where can this discussion be continued?

lapurd’s picture

In my oppinion people have had discussions about open source investment mechanisms over and over again. Money making mechanism come and go, again and again and will do so every now and then. No single solution will fit all, because no code, organization or interest on the receiving or sending end works the same. These investment mechanisms into features always end up with democratic choices in how the mechanism works, so there are always trade-offs, never a complete solution, always splintering (no one mechanism people just understand and works for completely different projects). But donations, they will just remain the same. Everyone knows what a donation is. You support an organization and what and HOW it produces. I believe there is a trade-off with open source in that you either support it by paying for services or simply just support by 'good will' via donations. Any direct investment is always a solution which might work for some and not for others. Donations are thus just another way of support just as offering code, documentation or usability improvements are given/donated if you will. Drupal got where it is today without any investment mechanism, Donorge did, thousands of projects did. Open source when combined with an investment feature system will always boil down to some kind of investment mechanism which will work for some and not for others; thus splintering and less ability to 'just donate'. So you always need a backup system which just works: donations. People will always understand a donation and donations will never go away. That is why Donorge was also started and to optimize around just that: donations. And it works so far, Donorge donates percentages to Drupal and visa versa. That's my 2 donated cents I guess.

I understand you raise the matter of getting funding to developers/contributors more individually, but Donorge is simply about donations and being smart about those. So saying something like: "Donorge is a step in the right direction" is kind off a moot point, because it is not a step to any investment into feature mechanism. You can however use it for this just fine, but that would operate outside of Donorge.

boris mann’s picture

...you can do so via the old school way.

SeanK’s picture

OK, so I was the last one to donate, and that's been over a week. The project is only at about 2/3 funded (if my quick, in the head Euro to CAD conversion is right).

This has obviously dropped off the radar. How can we better promote the concept? Perhaps a permenant placement for the items in the donage system at the top of the site's home page?

boris mann’s picture

Longer announcement later in the day, but the module is completed.

To your point about promotion: this was a trial, and didn't really have any "assistance" from Drupal other than being promoted to the front page. Hopefully, as we get more developers posting reverse bounties, the general buzz around them will increase.

pamphile’s picture

If processors other than PayPal are accepted, I would be able to donate.
PayPal excludes many countries

http://01debug.com
http://01webmasters.com

jasonwhat’s picture

International bank transfers can be done on donorge.

boris mann’s picture

You can read about the success of the securesite bounty on Bryght, as well as check out my Request for Funding of Porfolio Module.

steffen’s picture

This page here should have a Drupal bounty registry, where people who would like to sponsor specific development tasks can post their bounties.

bslade’s picture

I'm not seeing it there.

Ben in DC

pamphile’s picture

Now that your drupal site is totally secured from the outside world.

How do you let someone signup since the signup page is also secured.

Marcel
http://www.macminiforums.com/forums/

pamphile’s picture

ok I found out...

Create a guest account username and password on the securesite module setting page

Marcel
http://www.acmetutorials.com
http://www.goingtochina.com

kae’s picture

this is a very interesting concept. it'd be great if in general users can contribute feature requests, developers can provide a quote, and there is a way to collect the money. right now I am going to have to manually contact each developer I know working on ecommerce/paypal, ask them for a quote, and then figure it out from there. see node 44295. plan to do this at conference next week.

mcurry’s picture

Have there been any updates on the "reverse bounty" (or whatever it's called) approach? I'm considering doing something similar for a classified ads module, and wonder how well donorge.org works. I've set up a donorge.org project but I'm not sure if I've done things right (verification, other configuration). Any constructive feedback will be greatly appreciated.

Michael Curry - Exodus Development

jbrown’s picture