Don't Like It? Code it Yourself!

Have you ever considered paying for, or sponsoring, a

... for software that you use?


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2009/03/dont-like-it-code-it-yourself.html

The company behind OpenERP has a similar program called Shared Fundings Project.

http://www.openerp.com/buy.html?page=shop.browsecategory_id=7

  1. People are not giving enough money, even if it is pooled. - You need a set of reasonable time/cost estimators
  2. There is no methood to give real money, and return it if not completed - You need to collect real money at the time of the request, and be able to return it if no developer claims it.
  3. There is no standard for complete. There are crazy people out there that will never certify completion because they regret committing the money. - An impartial third party is required to determine completed, and issue payment.

Overall, there is a whole, non-trival, business in this. It could work, and it would work well with the major corporations taking part in the market.

When users ask for a feature in Twisted (http://twistedmatrix.com/), and I tell them to code it themselves, I quite seriously mean that. I don’t mean F**k you; I honestly mean that it would be a rewarding experience in many ways for someone to learn enough to write it themselves. I spend a lot of time reviewing code contributed from people who have followed my advice, painstakingly going through and explaining how it could be made to adhere to the standards of our project so that it can be incorporated, and how it could be better code in general.

And I also mention that you can donate cash to the project. I appreciate your point about donations.

I don’t think you know a lot about the psychology of open source projects. I would appreciate it if you didn’t speak for all of us in such a blanket way, especially to say that we’re all routinely being really rude to our users, when we are actually going out of our way to be polite and helpful, usually for free.

So let me make it clear how I sound when I’m being rude:

F**k you. Don’t speak for me.

Reading Predictably Irrational … this sounds a bit like the ‘social economy’ vs ‘market economy’ issue. Bridging those two is no easy thing.

Would you pay your Mother-in-law to cook something specific for you for Thanksgiving? Would you pay to get out of helping do the dishes after the meal?

I think that is what yoy will run into trying to inject money into many (not all, but many) open source projects.

Talk about reinventing the wheel. Jyeah! (Wayne’s World Style)

I’ve done this kind of work before with AROS, which has a bounty system for wanted features. Despite there being some quite hefty sums available (one bounty for a browser got as high as US$2000 at one point). Most of them just sat there never being touched.

I scored a Nintendo DS out of it, but I found that there was two real problems with it. The major one is that you can offer all the money you like, if people can’t code then they can’t hope to take advantage of it. And the fact is that for the majority of open-source projects, there just isn’t enough interested developers that have the skills to do the hard stuff.

The other problem might be specific to just me. I have a good well-paid job as a sysadmin. I’m a skilled coder, but I do it in my spare time. I have plenty of spare cash from my job already, and can generally buy whatever I need whenever I want. So unless you’re putting up enough cash to hire me for long enough to make it worth me taking a leave of absence from my job, anything you can offer is just pennies.

Not everyone can afford to pay for a bug fix for someone elses software. Imagine Micro$oft if we paid for each bug in their software. Its the developers responsibility to fix their software.

Open source IS a much better way to go, but its not within everyones abilities to fix problems. I have found in the past that contacting Open Source developers with info regarding problems or incompatibilities etc is well received. They generally appreciate being informed of glitches and will act to fix in most cases.

If you DO fix a problem yourself then its also a good idea to let the developer know of the solution, even if its not open source.

@W

So what if I come up with some VS (VS6, VS7, etc.) project files. And then what? They’ll be outdated in two weeks. Am I supposed to maintain them now? I don’t want a full time job. I just want to contribute a bug fix or two.

Exactly. But why should you have to mantain different platform/tools specific configuration files in the first instance? What’s the matter with hand written make files? Use CMake!

a href=http://www.cmake.org/http://www.cmake.org//a

Tools to ease platform/tools portability are there: use them. Allow mantainers know about them. Problem fixed. Next.

Cheers

The first thing I thought of was the Bounty system at the Seagull Project, a PHP-based CMS.

a href=http://seagullproject.org/bountiesSeagull Project Bounties/a

http://seagullproject.org/bounties

Ok, so I didn’t see the (no html) staring me right in the face. Sue me!

I suspect something like this is behind a number of major open-source projects. A core team of developers from commercial interests with a common need or spying a services market are probably behind a number of highly visible ones, don’t you think?

The financial incentives just aren’t as direct as the scenario you describe.

Totally off topic, but I’m trying out Google Chrome and I like it a lot. However, the text on Coding Horror seems blocky and blurry now, and it’s difficult to determine normal text from bold text without zooming in. Is this just the fault of the browser, or can I tweak it somehow?

Sounds good.

I’m glad to hear someone challenge the folks who say The good thing about open source is you can always change it to do what you want. As you say, that’s theoretically possible, but not very practical unless you have the skill and a lot of time on your hands. I sometimes cringe at the thought of having to modify code I wrote; I can’t imagine it would be easier to download and modify a stranger’s code.

There are sites to do exactly that. For example: http://fossfactory.org

I’m a little skeptical, but I’ve met the FOSS Factory guys and they’re enthusiastic. (They’re not totally altruistic, mind you, but they really do believe in this idea…).

They aren’t saying F**k you they’re saying Help! and they mean it. The people maintaining open source software frequently work for a living doing something else and don’t have any more time to implement new features than you do.

I’ve also seen maintainers for software that are dedicated, but not very skilled… sometimes inheriting a dead or forked project.

Personally, I’d love to contribute to open source projects on my spare time, but my employment contract forbids it. :frowning:

I’ve had an experience where the original owner of the program wanted a feature NOT to be included. I offered to do the programming, but he actively resisted the idea. :frowning:

The first thing that sprung to mind when I read this was Amazon’s Mechanical Turk. The second thing that sprung to mind was Stack Overflow.

lightbulb

I agree with Old Joe, that quite a lot of this happens by the corporation that wants to sponsor bugfixes (or features) in an open source code-base simply hiring someone to work on that code-base full-time. Apache is perhaps the best-known project where a lot of the code has been contributed in this fashion.

I think what you’re proposing is a system that would allow for a contribution smaller than a full-time programmer’s salary. It’s a good idea; only large corporates and the occasional super-rich individual can afford six-figure annual contributions to anything.

I think it’s a great idea; the fact you have already paid out to have some bugfixes prioritised suggests that the market is there. It would need to be run by someone that was very widely trusted - sourceforge, maybe?

There was a startup that wanted to create this escrow service - I think they were called MicroPledge. It didn’t really work out that well I think.

http://micropledge.com/