PDA

View Full Version : How to get paid to code open source software



jazzvibes
November 3rd, 2009, 03:09 AM
This is not an advertisement. I would like to discuss a concept of creating a market place where people can get paid to code.

It seems to me that if you are a company who is considering switching to open source software, but can't for, just say, just one lacking feature. The best thing the IT dept. can do is place a feature request on the bugtracker site.

New individuals (non-coders) often request new features, and then get impatient because they don't understand that the coders are doing it voluntarily, ergo, there is nothing you can actually do except participate in a discussion, or unfortunately, just annoy them (which isn't good!).

If you want some arbitrary program developed, there are actually sites where you can pay someone to do this. They work basically in that you put up a job profile, with how much you're willing to pay (this may be an auction system) and then someone takes the job, does the job, and gets paid. Eg: http://www.rentacoder.com

Why can't you do the same for most open source software? It would seem to me that if Launchpad made it available that coders could take contracts to solve bugs/feature requests, then it would be a win win situation. The coders get paid, the company/individual gets what they want, and it creates a market place where the rate of development can skyrocket!

Most people realise that open source doesn't actually mean free, due to the investment of time, support, and other minor hassles that one may have avoided with previous systems, although you can't deny it is often cheaper. Therefore, it is safe to assume if a company wants to use open source, they are also willing to pay a little to get what they want exactly. Something you can't do normally do as it is.

Obviously, you could set up your own company, like the web designing industry which often use open source tools like Drupal, but a centralised approach would allow casual coders to take contracts when it suits them.

What do you think?

handy
November 3rd, 2009, 04:07 AM
Bounties currently exist for people who are clever enough to come up with the required code.

earthpigg
November 3rd, 2009, 04:08 AM
i like it.

kind of like putting a "hit" or "open contract" out for a feature.

except, you know, minus the assasination of people.

i'd put an open contract out for $5 to anyone that fixes legacy gdm (http://ubuntuforums.org/showthread.php?p=8164766) to work well with current packages... or maybe make a "GDM-mod" that is a modular version of gdm.

perhaps ditto for remastersys and ubuntu 9.10 (http://geekconnection.org/remastersys/forums/index.php?topic=320.0).

in that example, it would also be ideal to create a framework for anyone to post money for the 'open contract' in question via pay pal or something similar. $5 here, $5 there, it does add up.... and may encourage an aspiring programmer doing resume building to focus his efforts where the money is?

an entire paradigm of collaberative wiki-like contract linking and 'related contract' suggestions would be great, as well.

organizing it in conjunction with the Open Invention Network (http://en.wikipedia.org/wiki/Open_Invention_Network) maybe? the "Free Software Open Contract" project itself would skim 1-2% of donations off the top to fund patenting related patentable technologies and giving the patents to the OIN.... at the discression of the person posting or donating to the contract, skim another 1-2% or so towards efforts to abolish software patents all together <-- that part only taken from donations origionating in nations where software patent is an issue such as the US and Japan. funds only collected when a contract is filled, of course. a little check box: "when this contract is filled, contribute 2% of the donated funds towards fighting Software Patent as it currently exists."


edit: the 1-2% skim should be at the discretion of all donor, for all aspects. if a donor wishes, all the money will go directly to the dev. again, a little check box giving the choice.

JDShu
November 3rd, 2009, 04:14 AM
I think writing code like that would take more than an hour.. so $5 is less than minimum wage haha

HappinessNow
November 3rd, 2009, 04:16 AM
You could create a magnificent game like The World of Goo. :p

JDShu
November 3rd, 2009, 04:24 AM
i like it.

kind of like putting a "hit" or "open contract" out for a feature.

except, you know, minus the assasination of people.

i'd put an open contract out for $5 to anyone that fixes legacy gdm (http://ubuntuforums.org/showthread.php?p=8164766) to work well with current packages... or maybe make a "GDM-mod" that is a modular version of gdm.

perhaps ditto for remastersys and ubuntu 9.10 (http://geekconnection.org/remastersys/forums/index.php?topic=320.0).

in that example, it would also be ideal to create a framework for anyone to post money for the 'open contract' in question via pay pal or something similar. $5 here, $5 there, it does add up.... and may encourage an aspiring programmer doing resume building to focus his efforts where the money is?

an entire paradigm of collaberative wiki-like contract linking and 'related contract' suggestions would be great, as well.

organizing it in conjunction with the Open Invention Network (http://en.wikipedia.org/wiki/Open_Invention_Network) maybe? the "Free Software Open Contract" project itself would skim 1-2% of donations off the top to fund patenting related patentable technologies and giving the patents to the OIN.... at the discression of the person posting or donating to the contract, skim another 1-2% or so towards efforts to abolish software patents all together <-- that part only taken from donations origionating in nations where software patent is an issue such as the US and Japan. funds only collected when a contract is filled, of course. a little check box: "when this contract is filled, contribute 2% of the donated funds towards fighting Software Patent as it currently exists."


edit: the 1-2% skim should be at the discretion of all donor, for all aspects. if a donor wishes, all the money will go directly to the dev. again, a little check box giving the choice.

Ok, I think I understand more clearly what you're saying, actually. People all donate money to a cache which is given to whoever fulfills a certain task. I think trying to do this for an entire program might be difficult, as it can take many programming hours. Maybe this could be taken a step further... where th money is split into bounties for particular bugs. Say, fixing a trivial bug is $7, while a critical bug might be $100. I can actually think of alot of problems with this system, but I think its enough for discussion for now :P

earthpigg
November 3rd, 2009, 04:25 AM
I think writing code like that would take more than an hour.. so $5 is less than minimum wage haha

well, would you rather code for $0.00 as a volunteer, or code for $5 as a semi-volunteer?

some volunteer devs will only work on certain projects that they like.

others, perhaps a minority and perhaps not, will gladly follow a bit of change offered to 'nudge' them in that direction.

consider this:

me and you want saaaay 60 frames per second on this video game on this video card with this CPU or worse with a GPL'd driver. i pledge $5, you pledge $5, a bunch of other folks pledge what they want, and if someone ever makes that happen (as decided by an arbitrator):

we are notified, they claim the bounty and $5 is deducted from our paypal or visa or whatever.

if no one never gives us the feature in question, we don't pay anything.

i already pay for Linux video games, so i would certainly participate in that.

jazzvibes
November 3rd, 2009, 04:36 AM
I think writing code like that would take more than an hour.. so $5 is less than minimum wage haha

I wasn't talking about wages, I was more talking about incentives. Taking earthpigg's suggestion of anyone being able to add dollar amounts to a particular contract to increase the incentive means that the developer (or dev team) might be able to earn quite a bit. eg, i want Xfeature, but i'm a student and only can put $5 on it, but then a small business comes along and also wants the feature, so puts $200 on, as does another business ... suddenly it looks a lot more feasible.

At any rate, whether you put a time constraint on the contract (and penalties for delays) would be up to the contractor, and up to the developer to accept its conditions. If there isn't a time limit, you just collect the money when its done and be happy, if the company wants it by the end of the week, they might need to offer professional rates. I am not suggesting we start paying people by the hour

I can see this getting tricky about splitting up the pay however when talking about contribution. Presumably there are already models from the corporate sector that could be used, or maybe from tracking methods (like git, svn, bazaar???) out there.
Probably as JDShu says, you would need to keep individual contracts very well defined and small so you wouldn't need large teams anyway...

http://ubuntuforums.org/showthread.php?t=178608 just found this thread which talks about bounties. Makes a good point that you should only get paid when you submit the necessary fix.

furthermore it looks like bounties don't actually exist anylonger. https://answers.launchpad.net/launchpad/+question/23011

handy
November 3rd, 2009, 05:39 AM
Haiku had a project with a $2000- bounty last I looked. :)

p_quarles
November 3rd, 2009, 05:45 AM
You could create a magnificent game like The World of Goo. :p
Not open source.

jazzvibes
November 3rd, 2009, 05:45 AM
I wasn't suggesting that no-body has bounties anymore...

The question is what is stopping a really good framework for bounties or contracts or what ever you want to call them around for lots of software? Why did launchpad remove it?

Does the current system of bounties have everything we've talked about so far?

earthpigg
November 3rd, 2009, 06:10 AM
Does the current system of bounties have everything we've talked about so far?

nope.

set it up. all you, bro!

(or bro-ette, as the case may be.)

handy
November 3rd, 2009, 06:17 AM
nope.

set it up. all you, bro!

(or bro-ette, as the case may be.)

+1, If a system can be conceived of that is good enough to gather the interest of enough (F)OSS dev's then it will work.

Plain & simple to say.

LOTS of work to create, market & gather the support required to establish.

I wish you good luck jazzvibes.

jazzvibes
November 3rd, 2009, 06:47 AM
haha bro* for the record

i wouldn't have any idea where to start ...

earthpigg
November 3rd, 2009, 07:02 AM
haha bro* for the record

i wouldn't have any idea where to start ...

start by not patenting the 'invention' so i (or others) can steal it and use it later, please.

after that: community college course on small and/or e-business management?

i really dig the idea, and i am sometimes willing to risk embarrassing myself to try things at the bleeding edge of my present knowledge/education/experience level.

mild embarrassment to follow:
http://ubuntuforums.org/showthread.php?t=1284760

so no patenting! that goes for everyone here.

*looks around with suspicious eyes*

edit: or, if you do, do it and give it to the OIN (http://en.wikipedia.org/wiki/Open_Invention_Network). or do it and sell the patent to a member company. por favor.

edit2: yes, i am paranoid.

edit3: and i really do mean bleeding edge. as in, 'what i can barely grasp, i immediately attempt to apply. publicly.' my knowledge of Linux can be exactly tracked by things i have attempted to do or done. another example, this one earlier and not so embarrassing: http://ubuntuforums.org/showthread.php?t=1070885 ... the link in my sig is the only one i would regard as mildly successful.

jazzvibes
November 3rd, 2009, 07:32 AM
i don't know much about software patents, but i hardly think this classifies as 'novel' which is a patent requirement. wiki it (http://en.wikipedia.org/wiki/Patentability)

i suppose this is going to need more research then. How would it work with source code hosting sites, like launchpad, sourceforge, github, etc. I'm not actually a coder (beyond Matlab) and haven't ever used them. Would you have a separate site, or try to get it implemented into one of them?

earthpigg
November 3rd, 2009, 07:46 AM
my personal opinion:

seperate site. for maximum modularity and sustainability would try to get sourceforge, launchpad, etc, to mark projects with related outstanding bounties on the project websites.

interaction directly between both the FSF (http://en.wikipedia.org/wiki/Free_Software_Foundation) and OSI (http://en.wikipedia.org/wiki/Open_Source_Initiative) and the provisionally titled "FOSS Bounty Project" would be ideal.

regard both the FSF and OSI as the dual "philisophical upstream" and show no preferential treatment to either. redundancy is key. Free Software versus Open Source and Linux versus GNU/Linux discussions and debate belong elsewhere, ya know?

need a better name than FOSS Bounty Project. Open Source Bounty Project prefers the OSI. Free Software Bounty Project prefers FSF. both suck, in my opinion, for that reason. anything with "GPL" in the name favors the FSF. anything with BSD in the name favors OSI (or does it?). grrr.

Software Libre Bounty Project?
Debian Bounty Project?


what can we name this, without favoring the ethics-centered camp over the other technical-superiority-centered camp? (especially since both are pretty damn spot on in their justifications.)

Frak
November 3rd, 2009, 07:49 AM
Sell merchandise alongside your Open Source code. For instance, Microsoft makes most of it's money from Windows, but the developers of the Silverlight Toolkit are paid quite a bit. The ST is free (as in air) and Open Source (under the Microsoft Public License (http://www.microsoft.com/opensource/licenses.mspx#Ms-PL)). Or, Open Source as in Open Source to view, as what ASP.NET does.

Basically, make a great product that everybody wants, and then use it as a way to expand Open Source software. There, I said it.

earthpigg
November 3rd, 2009, 07:50 AM
RNBFLOSSOCBPFCDP. done!

and what does RNBFLOSSOCBPFCDP stand for?

why, naturally, it stands for RNBFLOSSOCBPFCDP Non-Demoninational Free Libre and Open Source Software Open Contract and Bounty Posting and Filling Communal Development Paradigm.


did i leave anyone or anything out? is everyone theoretically happy? :D

good. i am glad we settled that in the proper (http://en.wikipedia.org/wiki/Recursive_acronym) manner (http://en.wikipedia.org/wiki/Political_correctness). (two links)

jazzvibes
November 3rd, 2009, 08:08 AM
RNBFLOSSOCBPFCDP. done!

HAHAHAH quite the name!! thanks heaps for the ideas though!!

I hardly think the name is particularly important. I could name it anything abstract as that seems to be popular with web2.0 sites, take www.dogpile.com, www.delicious.com for example as neither have anything to do with what service they actually offer. Imagine if you took it literraly, dogpile-dog maintenance, delicious-cookbook... there are plenty of others.


Sell merchandise alongside your Open Source code.

I don't understand. Are you talking about something like UbuntuOne as a product everybody wants - then using profits to support Ubuntu? I think this is deviating a little because this looks more like a business model as opposed to how the casual coder can make a buck or two...

For the record, i have no idea what ASP.NET does (aside from make some annoying webpages). Microsoft's silverlight is simply a match for Adobe's flash, they want to increase the marketability of their product amongst developers by open sourcing it presumably, but they've got a bit of a way to go. Flash 9 has a internet penetration of very close to 100%, with flash 10 not far behind (disclaimer: i recently saw the stats somewhere in adobe's advertising material for their SDK)

Frak
November 3rd, 2009, 10:25 PM
For the record, i have no idea what ASP.NET does (aside from make some annoying webpages). Microsoft's silverlight is simply a match for Adobe's flash, they want to increase the marketability of their product amongst developers by open sourcing it presumably, but they've got a bit of a way to go. Flash 9 has a internet penetration of very close to 100%, with flash 10 not far behind (disclaimer: i recently saw the stats somewhere in adobe's advertising material for their SDK)

I don't see how ASP.NET makes "annoying" web pages. It's just like any other Web Framework. It provides a choice to code within. If a web page turns out terrible on ASP, that's the fault of the developer, not the framework. If I churn out something terrible in Rails, it's my fault, not Rails.

As for silverlight, it may not have a high marketshare now, but remember that Microsoft has hefty influence. As an example, look at the presidential election, broadcasted using Silverlight.

Besides, I don't see why people disown Silverlight compared to flash, considering you can actually make Silverlight applications within Linux using Open Source applications and components.

1111peoy
November 3rd, 2009, 10:35 PM
Howto make money on open source software. easy!

1. Users pay for support
2. A client can pay a programmer to do some changes for them
3. The core of a program is free and open soruce, but to get access to the real content like a song, movie or some graphics or a book, the user have to pay for it.
4. Advertising(yuck)

jazzvibes
November 4th, 2009, 12:05 AM
Howto make money on open source software. easy!

1. Users pay for support
2. A client can pay a programmer to do some changes for them
3. The core of a program is free and open soruce, but to get access to the real content like a song, movie or some graphics or a book, the user have to pay for it.
4. Advertising(yuck)

Sounds good, except you'd need to start your own company. The model works fairly well, but Canonical still hasn't made a profit, which shows it isn't flawless. Actually, AFAIK it would seem that is actually a fairly difficult model to make profitable, especially in the case of Canonical where their main product is free, and they're simply trying to sell the axillary services.

At any rate it doesn't really solve the original problem which was how can I get paid to freelance write code. Not how do I start a software company and make it profitable and at the same time involve the community.

Frak: Yeah ok, ASP.NET isn't bad, I do understand that, I was just being a little light hearted. And I didn't actually say Silverlight was bad, merely they have a long way to go, and observed that MS is playing a different tact to make it more marketable. Either way you didn't actually explain your original point any further. Lucky 1111peoy came along...

So, are there any other ideas. The way open source software works is that you're supposed to be able to contribute anything from anywhere from anyone. What is it about that model that can improve; especially in terms of making it more market friendly. (I'm an engineering student, not an economist which probably isn't helping)

jazzvibes
November 4th, 2009, 03:49 AM
I have listed a poll on how much you'd be willing to put into a bounty for a killer feature for a particular app...

http://ubuntuforums.org/showthread.php?t=1313480

I'm curious to know what people will spend...

praveesh
November 4th, 2009, 04:05 AM
I think writing code like that would take more than an hour.. so $5 is less than minimum wage haha

if more than one person need the same feature, they all can offer $5 . What about it ?5+5+5+5+5+5+5=$35

jazzvibes
November 4th, 2009, 04:14 AM
if more than one person need the same feature, they all can offer $5 . What about it ?5+5+5+5+5+5+5=$35

exactly! It depends on the individuals on how much they each want to put in though...

Also it is why i am rather regretting making the mistake in my poll of leaving out the $5 option

Frak
November 4th, 2009, 04:18 AM
Go up to a client and tell them you'll do it for $7!.

Sporkman
November 4th, 2009, 04:18 AM
Bounty is the quicker picker-upper.

jazzvibes
November 4th, 2009, 04:32 AM
Go up to a client and tell them you'll do it for $7!.

HAHA yep! Or better yet, go up to 100 clients and tell each of them you'll do it for $7

Frak
November 4th, 2009, 04:41 AM
haha yep! Or better yet, go up to 100 clients and tell each of them you'll do it for $7
$7! = $5,040

JDShu
November 4th, 2009, 04:55 AM
One problem that might occur in a bounty system is that it leads to more wasted effort than open source development already has. For example, say you have a feature that is worth $100... you might have two people both working on nabbing this bounty. Of course only one of the solutions will be used. No problem, more competition is good right? The problem is that they are probably competing in speed which could lead to poor coding practice (I only dabble in programming for now, but I understand that this is easy to do), ie. the first person that completes the solution wins the bounty. Yet what if the second person has a better solution? In short, the monetary incentive could have a negative effect on the program.

Since its open source, the second person could always submit his work which would replace the first, but the money has probably already gone to the first person.

JDShu
November 4th, 2009, 04:56 AM
$7! = $5,040

sneaky :P

jazzvibes
November 4th, 2009, 05:07 AM
I think the race is good. Some major improvements in software is done at those conferences where they code for just 2 or 3 days, proving code can be written quickly if there is incentive. The conferences work on the incentive of community eg, Druplcon, Gnomecon, etcetcetc (admittedly they then spend the next 12 months bug fixing ...) Still, the whole point of a bounty system is to improve the rate of development.

In terms of making sure you're not ending up with an unstable hack there would need to be a system of checks and balances. Something like this already exists though. A bug is submitted, then confirmed, then assigned, then completed, then merged into the program. The final step is usually at the prerogative of the core team who actually know what they're doing.

A modified structure would need to put together for this bounty system. Also, it would have to be simple enough in concept that it would still link well to the different code repositories that exist. I am not planning on making another Launchpad, or sourceforge, or github. I want to have something complement those systems.

It seems to me that if you want to be eligible for the bounty, you need to have the bug actually assigned to you. Although maybe this stifles competition ... I don't know. If two people independently worked on a bug, and both were officially assigned to it, would they collaborate and then share the bounty? hmmm If they didn't share, and instead ran it like a true 'blind' competition, you might get two solutions, of different quality. You might need a further person (with credibility in that package) to come and decide on the winner ... or at least verify the quality of the code.

This also relies on the initial contract being very well defined. I know some existing bugs are quite vague which wouldn't be very good.

Edit: furthermore, even if the winning solution is a poor form of a hack. If it is deemed acceptable by the people putting the money down, then its still good enough. It then simply opens up more opportunities for other people to come along and fix the next round of bugs...