Getting Paid to Write Open Source Code
Thanks to Norm J for pointing out the recent Doc Searls'
article that talks about the growing number of ways to earn money while writing open Source code. This article is especially interesting in light of CoSource and SourceXChange. So, buckle down, and have fun-get paid to do what you love.
How much different is funding a Open Source project from commissioning an artist to do a public mural?
Let's say I am someone with money, and I want to put up $10,000 to have a vital piece of software written...
Let's say it's a device driver, or a codec, or maybe even a I/O library.
So I put up $10,000 of my own money. What do I get?
What if I'm not satisfied with the result?
What's more, am I forced into an open-source license? Can I request a BSD license?
Otherwise, I end up paying $10,000 for an open-source codec, device driver, or library, and on
top of that, I have to give away both the open-source, and my own closed-source product.
So I spent $10,000 and substantially increased my risk. Also, I spent $10,000 for a device driver that maybe someone else might have funded. So why not wait 1 month and get the same result for free?
Why not spend $10,000 and just hire a consultant?
Paying for open-source development just seems stupid for the vast majority of business models. What the hell does open-source have to do with say, factory robotics? (not portable at all.)
Or corporate automation (must be onsite and have deep knowledge of the business internals)
Or, why would I pay someone to develop the next Quake killer, just to have them give it away.
Or why pay at all, and just let some other idiot pay, and then leech off the open-source result?
They will be forced to use GPL you say?
Even worse.
I think CoSource and SourceXChange will end up showing the idiocy of the OSS business models.
In the end, we will see that the only two models that will work is the Support and Consultant model. But no one is going to pay for OSS product development since it makes no sense.
I might pay for someone to write an intranet app for me, since I could care less if they give it away. It's not likely to be useful to anyone else.
CoSource and SourceXchange will end up being nothing more than CareerBuilder/Monster.com style sites listing jobs for programmers who end up getting hired as consultants.
I've been proposing something similar for years, but with the numbers reversed... I can't implement it, myself, but perhaps these guys can.
SourceXchange allows a single big sponsor to write a spec and then hire thousands of programmers. My (unimplemented) Programmer's Agency would allow a single big programmer to write a spec and then solicit thousands of sponsors. Each sponsor would contribute a small amount, which would then be held in escrow by the agency until the programmer completed his spec. The agency could then take a 10% commission on the programmer's earnings. From the sponsor's perspective, the agency would seem just like a mail-order shop selling commercial software... except it would be legal to copy what you purchased -- and you'd have to wait for it to be
written before you received it. From the
programmer's perspective, the agency would gather
thousands of small software purchasers into a
single rich purchaser with diverse interests.
Why can't the same companies implement both ideas?
--Ed Kiser
I quit my job 1 year ago.
I started my own company.
I write exactly the software I want.
I got investment and I have revenue.
It's not open-source, although I have
contributed in the past.
But, I completely love and enjoy what I do.
IMHO, open-source is like a hobby. If you can't imagine or find a way to get paid to do what you love, than that's your problem. Whether open-source or commercial. The openness or closedness of something is not what makes it fun or interesting. I'm sure the engineers who build stealth bombers at Skunkworks still have lots of fun.
Don't equate commercial developer with "suits" and "cubicles" and "dilbert"
Most of the people I know of don't have cubicles, or suits, they work in gargages in Silicon Valley.
If your attitude is "once I get paid to do open-source, it is no longer fun, and I have commitments and responsibilities and obligations, etc..."
then you have a serious problem with commitment, integrity, personal responsibility, and working with other people.
Is this a symptom of generation-Y, the real *ME* generation? It's kinda like "fuck everyone. I'm going to work when I want, on what I want, and no one tells me what to do. If you don't like my bugs, fix it yourself. Open-Source lets me get away with being a lazy irresponsible person. Because I can always fall back on 'if you dont like it, you have the source to fix it yourself' "
Is this really the essence of the Slashdot community? I don't want to be obligated to anyone?
The article, as far as I could tell, did not mention dissention. What if a developer produces crap, or nothing at all? He may not get paid, but now H-P or whomever is three months behind where they wanted to be. If an H-P programmer doesn't work, he gets a pink piece of paper...
The enforcement cannot be a strongarm contract -- individual developers do not have personal attorneys, and aren't willing to risk a lawsuit for $500 - $5000.
How do coSource, etc. handle enforcement on the development side?
However, I can think of a potential problem with this new "mercenary-like" approach to Free Software development. While I don't find anything innately wrong with being paid to do a Free Software development job - or being paid to do any programming job of any sort - this gives companies and people with money the upper hand when it comes to deciding what gets developed. True, most Free Software developers have other jobs, but when it comes to deciding between working on a "true" Free Software project and one for which you're getting paid, which a company wants - the for-pay job will probably win. It remains to be seen whether the traditional Free Software community is hurt by these developments.
Personally, I don't think this could happen - but it might. Do we really want to forfeit our independence?
Posted by FascDot Killed My Previous Use:
I don't doubt that you'll see proprietary companies touting the openness of their source code if you aren't already.
And yes, "Open Source" is a buzzword.
And yes, I also hate free (beer) software disguised as Free (speech) software.
BUT, you seem to be confused on number of issues.
First, Netscape is not the only corporation to have opened its code. Cygnus, IBM, Sendmail Inc and many others have always or recently been open.
Second, your only objection to sourceXchange and CoSource seems to be that the developer makes money. What's wrong with that? No one, not even RMS, objects to developers getting paid to do what they love. The objection is proprietary "standards", secret source code and lack of Freedom.
As for quality getting lost: What exactly do you feel will lose quality? Linux? These companies aren't hiring Linux developers, they are hiring developers for unrelated, Open Source software. And even if some of them wanted things like device drivers or kernel mods, they'd have to pass Linus to be official anyway.
--
"Please remember that how you say something is often more important than what you say." - Rob Malda
Not all commercial software is of poor quality, and not all Open Source software is well written. Bad programmers write bad software; whether they get paid for it is a seperate, unrelated issue.
It seems like a lot of Linux users are adopting the attitude "if it's Linux/Open Source/whatever it must be good, otherwise it sucks". A little more introspection in the Linux community would be a Good Thing.
TedC
Here's the thing. People always use the "programmers will starve" argument against Open-Source and moving the whole industry in that direction. The thing is, they're half right. If the Open-Source model becomes the standard for the industry, those programmers who cannot adapt to it will either lose their jobs or have to take severe pay cuts.
However, there is still big money to be made. Why? Here's the deal: Open-Source has many advantages. The biggest advantage is that maintenance turnaround times are extremely high. However, Open-Source does have one flaw: initial development time, be it for a piece of software or even just a major feature being added to a piece of software, is very slow.
And that is where the money is to be made.
Why? Well, Open-Source proponents say that the initial development time does not matter. However, they're wrong: it matters. A great deal. People outside the industry care about it even if people in the industry don't. This isn't a bad thing, though, because that's where the money comes in. Imagine a company which writes only Open-Source software. Of course, you have the idea of selling support and such, but let's face it, that alone is not going to pay all the bills. It'll sustain the tech support division but it won't fund programming, especially not on completely new projects. However, what happens when that company also does consulting? That is, it is hired by others to write completely new Open-Source software or add large new features to existing software.
Why would people do this? Individuals probably would not, but businesses would. Why? Because they need software now. They can't depend on waiting for features to naturally evolve, as features do in the Open-Source model; it simply takes too long (and there is no guarantee that the feature you want will evolve at all). That is where the companies come in: what they are selling still is not the software itself. What they are selling is the ability to get that software out more quickly than would otherwise happen. It's like shipping via FedEx; you can save a lot of money by using the regular mail, but FedEx will get it there much more quickly (plus they're more reliable than the postal service).
There's money to be made in Free Software. You just have to know where to look. And ironically enough, Open-Source's only flaw is the reason you can make money from it.
I really love the idea of sourceXchange and coSource. For development of new software, and for quick fixes and feature additions, this is surely the way to go.
So, I start this company and get paid $100K to develop some large piece of software, say, a complete 3D modelling and rendering package a'la 3D studio + Pixar renderman.
Great, the company that neede this got what they wanted, I got paid, and everyone's happy.
Until, a year later, someone wants not just a feature addon, but a larger change that will require some architectural changes in the software. Now what ? I'm of to Bahamas and can't be reached, and noone else really has any real insight into what goes on in my code.
How do we ensure, that a program developed thru these new efforts gets maintained, or at least, keeps it's maintainers ?
This is different from the current OpenSource development, because now, people write the software because they need it themselves, or because they truely love the idea of that piece of software they are creating. For those reasons, the software that currently gets developed, is likely to have a competent and loyal maintainer or ``head of development'' for many years.
With the get-paid-to-do-X-and-getouttahere, the software is not likely to hold this key person for very long time. I see a problem in that. But how do we solve it ?
Some anonymous poster described this effect to me:
"It is by caffeine alone I set my mind in motion. It is by the Beans of Java that thoughts acquire speed,
the hands acquire shaking, the shaking becomes a warning.
It is by caffeine alone I set my mind in motion."
So what we have here is someone experienced in tilting back cold refreshing 16oz Jolt Cola Classics (tm) and discovered the New Improved Jolt. When the fingers hit the keyboard, the once steady hands turned into convultions of mouse clicking like behavior.
I don't know about other authors, but before I do a minute's work for any of these groups, I'd have the license stated in my contract.
It doesn't matter much who owns the code as long as the license is fair. You can't take back the BSD license or the GPL.
Don't forget the non-profits like SPI and FSF. You can fund free software through them, and write it off your taxes, too. And I think they are more appropriate stewards of free software projects than companies like O'Reilly and Associates. Given O'Reilly's recent anti-GPL agitation, a lot of free software authors would not want to do business with them. It's a shame that HP chose them for an associate.
Thanks
Bruce Perens
P.S. use bruce@va.debian.org for email, my DSL provider went out of business and thus perens.com is down.
Bruce Perens.
One of the good things about the volunteers writing free software is that developers can come and go as their interest inspires them. A bug can be fixed or a new feature added by a newcomer just as well (?) as a member of the original core group.
I think that with these contracting arrangements new developers will not wander along and help out. The original core group (or person) will work on it until it is done. I didn't see any mention of how to compensate someone who jumps in at the last minute and fixes a bug or adds the final feature. How would the latecomer be compensated? I would guess that the core group will not change for the life of the project.
If the projects span a few weeks or months, then the group size will not have time to change. I think of KDE or Gnome where developers are more likely to come and go and contribute widely varying amounts of code to the project.
The idea that all bugs are shallow given enough eyeballs doesn't say if the eyeball that found/fixed the bug was a member of the core group of developers. A newcomer could have found/fixed it.
This may not even be a big deal, I don't know.
Your password has expired, please login to change it.
So are you saying that getting paid to write code is bad? Or that even if companies are advertising open source work, they are actually producing proprietary software. This conversation is pretty important to me at the moment, as I get set to launch a consulting and service firm oriented to *nix. I've hired one programmer full time, though he won't be programming full time, and another part-time to work on specialized programs. It would be nice to be able to get programmers to work on specific projects without having to pay them, but it's my opinion that they need to be paid for their time, especially since it is of value to me. My biggest problem is getting the finances to pay programmers what I think they are worth. I prefer to program myself and if I had a choice, I would not mind programming for little as long as I knew that I would be taken care of, but in my opinion programmers, especially good programmers, generally are not paid what they are worth. If anything management tends to be paid more for a job that is no more difficult than coding. The whole reason for hiring programers is the fact that I have customers that need a solution to their current problem. I intend to make my money off the consulting portion of the business, though I can forsee some projects that I will not open-source, quite a few can be released as open-source once they are complete and indeed I wouldn't mind making some of them opensource in the beginning to get professional help that I cannot afford at the present time. Comments? Thoughts? Lando
/* TODO: Spawn child process, interest child in technology, have child write a new sig */
This is a very interesting concept. What it allows for, in a sense, is something of a "mercenary" subculture of programmers. Instead of paying somebody a full time salary and benefits, and dealing with all the hassles that come with hiring somebody, a company could enlist the aid of a "hired gun" to get the job done. Yes, we have contractors now, but this allows for a completely different methodology. Instead of seeking out programmers/contractors, we have basically mercenary "contracts" (bounties even) available to anybody who thinks they can get the job done. Obviously, this means there is a level of trust that:
:) God I love(d?) that game!
a) the job will get done by the developer
b) the job will get paid for by the company
This is definately a step in the right direction for the Open Source movement. Not only does it allow people to make money, at the same time it still helps to furthur the community by making sure the code is open. The peer review is also a great way of making sure that quality code is produced. Not only that, but now, if a company needs support for certain hardware for a specific OS that doesn't have it, or some similar problem, and just wants it to get done, and does not care about owning the rights to it, it can get done quickly and efficiently.
Now you too can be a merc! Just sign up, hire some nerdy thugs, and make a killing! (figuratively speaking of course)
I can't help thinking of Mechwarrior 2: Mercenaries
-[Blaine]- "'Oh dear,' says God, 'I hadn't thought of that,' and promptly vanishes in a puff of logic."
The author of this article hopelessly confuses the meaning of "free software". He quotes a lot of Stallman to explain the slight ideological differences between "free software" and "open source", but then continues using the word "free" in the gratis sense to draw a comparison between "free software" and the software that these two companies are trying to help people create. Unless I greatly misunderstand the qualifications to be "open source", the products created under these kind of contracts will be "free software", and also will be free (gratis) to all who want them. The monetary transaction involved is to have the software created in order to sell services or add value to existing proprietary software.
I see this as (necessary?) steps in organizing the community, and I think there will be some growing pains in making it a success:
... debate ... over this.
/. reader, but the mass media doesn't make a distinction. I think it is important to continue to define the differences, so that the communities involved are not confused by the public.
It will be especially interesting to see how all this goes down with Richard Stallman and the Free Software stalwarts.
I don't recall hearing anything (yet) from this corner. I imagine there will be some
Whatever disagreements may persist between RMS and others in the often fractious movement he
started, the difference between Free and Open is now clear. The two can no longer be mistaken for
synonymous, and companies looking for open source development don't need to stumble over the F
word.
Perhaps it is clear for the discerning
often a great idea would come up and somebody would say, "Oh it would be really nice if somebody
worked on this." But because it wasn't really sexy, or because it wasn't an overnight hack, it would just go undone.
This is always going to be a significant problem. Not just for specific projects, but for
things like documention and quality control / testing. People may want to code it, but do
they want to take the extra steps to make it maintainable? This is an area I didn't really see addressed in the article.
This seems to be yet another case of Slashdot reporting old news. We at Subsume Technologies have been trying to get the boat floating in the "pay for your open source" movement since last year.
Put quite simply, nobody seems to be eager to to give funding to projects that may potentially help a competetor, regardless of the benefits of the open source model. For some reason, it is OK to buy the same word processor as your competetor if it comes from Microsoft or some other closed-source shop, but the second you want to release the source, they think they're just giving a free ride to someone else, which doesn't sit well with them.
We've taken pitches for software a company wants implemented, we've given pitches to companies for software they need implemented, and we've done software in advance in hopes of finding the market that will support it. In all cases, the mention of our intention to make the source open has been met with massive resistance.
In short, it simply won't fly. The market is not yet ready to contribute to the open source movement, they are only ready to plunder the works that already exist. It will be a good five or ten years before the more clueful companies show enough benefits to topple the old model of proprietary computing.
I'm not sure how sourceXchange is handling this --probably selected by the developer as a part of their RFP.
With Cosource.com, the developer places a bid to win the project. That bid includes their price, their schedule, their peer reviewer, and their license.
Project sponsors get to look at and accept/reject each bid. The first bid to gather enough sponsors to pay the price is assigned the project.
The license is not a text field.. it is a menu of radio buttons of standards licenses like GPL, MPL, etc. with links for everyone to go read the full license text on the home site.
I'd love to heard any comments you have on the way we're doing this. We expect that it'll take a good bit of fine-tuning to get this right so we're balancing the needs of sponsors, developers, and the Open Source community at large.
Bernie Thompson
Cosource.com
Last year my company sponsored what we called a "Linux Bounty"; we identified a dozen or so Open Source applications that we wanted ported to our operating system. We put dollar amounts on each and set up some simple rules:
- First acceptable implementation gets paid
- We decide what's acceptable
- We'll update in real-time a list of projects for which we have received implementations
- Whatever copyright terms applied to the original source base applied to the submitted code
We got a half-dozen implementations; for those which were useable, we paid. The most expensive item cost me $1000 out of my budget, and was cheap at the price.The biggest unanswered question about sourceXchange indeed lies in the matter of peer review. If I'm going to write a check for a few grand, I'm going to want to have some degree of trust in the technical judgement of the person or persons deciding if the submitted work meets the requirements. I expect I'm going to have to write wickedly precise requirements with respect to coding standards; things like "no compiler warnings beyond those generated by the starting source base", etc. Things that I need guaranteed if I'm going to be able to support the resulting software.
All in all, though, I expect to be a sponsor of a variety of projects. Start small, work my way up as I gain trust in the process. I don't like the idea of starting small; it will cost me time I can ill-afford. But it's the only way to mitigate the risks involved with someone else making an accept/reject decision on my behalf.
Jason
This is a great idea whose time has indeed come. Some posters have argued that this is just like telecommuting or contracting and others decried the notion that programmers will be getting paid, claiming that this is not "free" or "open". More reasonably, some have expressed a worry about what license the projects would be released under.
I believe that Open Source is what makes these schemes possible and different from a simple contracting agency. The understanding that the project is to be released under an open source license affects the dnamics of the sponsors and the motives of the developers, as well as lubricating the entire process.
First, Open Source allows a group of users, who want the software for its use value and not as a product to resell, to come together and pool funds for the development. Sure, there will be free riders, but they only get to sit and watch the scenery go by.
Second, developers like to work on open source projects. The reason I would rather work on an Open Source project is the ethical motive that my source will be free for use by everyone and not hoarded to extract a price, whether I get paid for writing it or not. I do want to earn a comfortable living and welcome this chance to be able to do so while developing Open Source.
Third, the bidding and collaboration arrangements suggested by these sites are made far more practical by an Open Source license because there is no need to keep the project strictly confidential, and because of the very large pool of potentially reusable code.
Thank you
Pavlos Papageorgiou
pavlos@spamblocker.voxar.com