Negotiating Pay for Open Source Work?
OpenSourceforMoney asks: "For about nine months now I've been working on an Open Source software project; the first release was five months ago. It's reasonably popular given its age -- several hundred users at least (users, not downloads) -- but despite my best attempts, I've been unable to get even a few dollars in donations to help support this (and being a student, I really need to get some money from somewhere). Now suddenly I've been approached by a company which wants to pay me to continue working on this project. How should I handle this? Should I ask for an hourly rate, or should I come up with specific targets and attach prices to each? How much money is it reasonable to ask for, for doing work which I'd end up doing (albeit more slowly) even if I wasn't getting paid? How have Slashdot readers handled the transition from working on a project for fun to being paid to work on it?"
I'd charge by the hour. That way you can work on it whenever you have the time (I'm assuming you're still a student). Keep DETAILED records of when you worked on it and what you did during those times, so they can't come back later and claim fraud. Good luck!
-jls
Techno-pagan
The way I look at it is that you should charge at an hourly rate requisite with your experience and education. I don't think open source software should be treated any differently than other software projects. That is how it works at my company (generally). We also try to reward contributors who don't work for us on a full-time basis as frequently as possible.
Then again, if the company that wants to retain you balks at that price point, then I guess you have re-adjust your sights....
smd4985
$25 an hour and they provide the hardware. flex time. try and get benefits too.
25$ ??? Where do you live? Venezuela? Seriously, if that is your project, don't settle for entry level.
A couple things to consider. Do you want to maintain control of the project? If so negotiate to sell them support but keep development seperate. If I hire you to develop, the goals I give you ARE your goals and the project direction can be wrestled from you. Use your skills to find work but keep your baby as your own.
A company will not pay for time that they cannot audit you for. (Forget about filing claims at your local workforce/labor commission to collect for you) The best option is to have them pay on delivery of features & milestones. Well, maybe half up front, and half after b/c you don't want to get cheated and you need immediate motivation & relief. That way is a good way to compensate everyone and build trust between both parties. After a while of doing that, and building a reputation with them, maybe you can move to a different compensation system.
Hourly rate if you can. Projects ALWAYS take long than you think. Fixed price negotiations are generally bad news for "small shops" and individuals. I've got 22 years under my belt, and this is my experience.
--Slashdot: News for Turds. Stuff that Splatters.
If you ask for a rate that low to start, you'll be insulting them, and yourself. Asking for a higher rate in the software/design/etc. world shows the customer that you know what you're doing, and you should be treated with respect. If you ask for $25/hr you're admitting that you're a college kid with some spare time, and they will continue to treat you as such, asking for more $50+/hr will command some respect. You can always come down, or negotiate from there, but never ever start for a low rate thinking you'll price yourself out of a job. They want to work with you, so the likelyhood of them walking away without making a counter-offer is almost nil. I'd ask for at least $50/hr, especially if it's going to be a part time thing, no benefits, and no long term plan for what they want to give you. Selling yourself short for technical work is shooting yourself in the foot, in every way!
My sig is blank, I typed this by hand.
WTF, try $75 per hour. At least $50 per. You are obviously a good person (programmer at least :-) since you've already been working on this a while and so they know your work. Asking to too little might seem like a good thing but it devalues your contribution and drives down others value in the industry.
If your doing good work then you should be paid well. If you terrible then you shouldn't but since they came to you, you have something to offer. Finally I'd be careful of targets unless you can realistically predict how long it will take you to add stuff. After 20 years in the industry I don't always know how long things will take.
Anyway that's my $0.02.
I think BARE minimum is pushing it there. Its no wonder companies are outsourcing to India. $125/hr is like average to high market place.
"A synonym is a word you use when you can't spell the word you first thought of." - Burt Bacharach
$25 an hour? Is this guy working for peanuts? You wouldn't get me out of bed in the morning for less than $50 ... and considering it's 1099 I'd want at least $75. Then maybe I'd take under a two hour lunch. No wonder you guys want free software.
The rule of thumb is that whatever you expect to be your full time salary, you must at least be able to 1.5 times that for your hourly salary to break even (for the lack of other benefits the company offers). $25 is way too cheap to ask.
I have a similar project (DataVision, many hundreds of users, 7 languages, over 30 countries). Two different people have paid me $1K each to implement major features.
Transcript show: self sigs atRandom.
Whichever way you choose, you've made one thing clear: you only have a limited amount of time to do the work.
Besides pay, you should also consider what happens when:
Contracts are there to define what your responsibility is, and the responsibility of another party. It's important to know what would happen if you were getting close to meeting a target, and the other group backs out - would they still have to pay you? If you were paid hourly, would half-written code be worth anything?
It's okay for two groups to be unhappy about a situation, but if you have forgotten to specify the responsibility of each party, then things get nasy. The worst thing that could happen is the project dies... okay not the worst, but it's up there
That's funny because it's true. (sigh)
Use Ctrl-C instead of ESC in Vim!
It's pretty straightforward - you want all you can reasonably get out of them. They want to pay what's fair, or less if they can... so the intersection of that is, what's it worth to them?
They probably won't want to tell you that - they may not know themselves, right now. But without more information on what your project's about and who the company is (not to mention what work they expect done), it's difficult to speculate on what the value is. It may be up to you to figure out what benefit they will receive from your work, and base your compensation (hourly or package-deal) on that.
How do you do that? I dunno. Track down other people they've funded, or former employees (or maybe just some people lower-down in the food chain than whoever contacted you). Look up their financial reports, try and guess how much your work will affect their business. For example, if you're writing a driver for a product of theirs, find out how many they sell per year and try to guess how many more they'll sell with your driver available. It's probably worth your while to do some legwork.
Or just make it an hourly rate. But I'm not always comfy with them; some days I do a lot more work per hour than others...
Perfectly Normal Industries
> sub-contract it to india for 1/5
Been there. Done that.
Ended up with horrible code that didn't work and if by some miracle it did work, it didn't do what we wanted anyway.
Reviews and changes were like pulling teeth.
Communication was nearly impossible.
We all seemed to be speaking the same language. We'd get lots of "yes yes we understand perfectly". But nothing we ever said seemed to make it into the code in any recognizable fashion.
I'll stick with paying U.S. rates, rather than pay 20%, lose the customer, never collect the money, and ruin my reputation.
I'll never outsource overseas again.
- For the complete works of Shakespeare: cat
$25/hr...are you serious?
A good programmer, let alone someone who has the initiative to write a signifigant piece of software on their own, is worth no less than $50/hr contract. You have to remember that the actual cost of an employee is around 30% above their base salary.
Ask for $75/hour and negotiate down to no less than $50/hour.
Believe me, I hire people like you and this is what I would pay.
M
In general, hourly is what you want to do.
If you have very clear, undebatable specifications from them, and you can accurately conclude how much time it'll take you to accomplish a task, then you could be paid "per feature".
But that's just a bad idea. What if they don't like your work? Then they might not pay you. Working hourly is the way to do it. It's just cleaner.
Since it's your project, make sure you understand who owns the work you do. That can be fuzzy, and generally when it's the employer footing the bill, they own the work.
that's retarded -- don't be afraid of that scenario.
as the author of the open source package, you're not only an expert in the material but also since you're intimately familiar with every detail you can begin contributing immediately whereas some new hire would take a good deal of time (both his own and possibly a supervisor's time for training) to get up to speed and end up costing a great deal more (especially if a specialist is needed for that position.)
don't be afraid to ask for whatever is fair. probably more than 25 an hour but not more than 50 or 60 if it's not a project that requires extremely specialized knowledge.
-fren
"Where are we going, and why am I in this handbasket?"
Man, $125/hour thats crazy! Consultant companies don't hire their programmers out for that much!
I'd say shoot for around $40/hr. Do you know how much freelance PHP programmers online are working for these days. We'd take full project in the range from $100 and up.
You have very specific skills and experience that places you in a unique position. If this product is truly important to the company that has approached you, then you are in a highly priviledged negotiating position.
In the Silicon Valley, when I did contract or consulting work, my rates ranged from $80 / hour up to $250 / hour depending on what it was doing and how much flexibility (read: responsibility) that I had.
If you are working from home, when you want and not having to deal with the daily grind of their organization, you should probably charge per "milestone" (e.g. put a price on each feature or bug-fix that is requested). This price should reflect the complexity of the feature as well as the market prices that the target company is used to paying. In general, you should never charge less than $2k for any feature or basket of bug fixes, and never more than $15-20k (depending on how large the feature request is). It is really okay to have a chat with the manager who is authorizing each feature, start by asking "what do you expect to pay for X" and be prepared to gently press him/her higher. Your job is to try to find the highest price for each feature that he/she is comfortable with. If you are also comfortable there, do it.
If you are going to spend time at the company, you should charge hourly rates. These rates should be HIGH in comparison to local consulting/contracting rates because of your unique position as author/co-author of the product that they want you to work on. If you are in northern California or the East Coast, for instance, you should not agree to work on the customer premises for less than $100 / hour. And depending on who you would be working for, the duration of the contract, what you will be working on and the demands placed on you, you may be able to push that as high as $200 - $300 / hour. Generally, the shorter the contract, the higher the rate.
Whatever you do, don't take the "donate your time" attitude that you have in developing Open-Source software and direct it at a profitable business. Giving to the community is one thing, and very noble. But when it comes to business, nobility is derived from profit.
The reason that it can be true that 1+1 > 2 is that very peculiar nonzero value of the + operator
Or just walk in and say that you usually charge $X an hour, but since you want to retain control and you might be developing it anyway you're willing to negotiate.
I was doing contract work for a company in '98 that I was making $40/hr on. They billed their client $150/hr for my work.
t'nera semordnilap
I had *precisely* the same experience...it took them four times as long as originally scheduled to complete the project, code had so many bugs as to be unusable; they didn't even implement some functionality. They didn't bother documenting it, so it was practically impossible to go back and fix. Then they refused to refund and even wanted us to pay them outrageous service fees for fixing what they were supposed to have done in the first place.
There are a bunch of great suggestions here, but they all miss one facet I think you should consider; namely, how much do you need? You are a student. If you have any potential at all, this will not be your only project over time. So, charge what you need to charge to make some money and get the project (and your first client). There will be plenty of time in the future to optimize earnings. For now, make money and get customers. You'll never have the freedom you have now to pursue either.
BTW, I'm a CTO. I out-source programming, in-source programming, and write code myself. As a student, you're off the curve. Be glad you're getting experience and money!
If you go to college and work when you are under 22 like I was, you lose so much in taxes because your parents can claim you as a dependant and therefore they get the tax rebate from YOUR paycheck.
No they don't. You declare yourself as your own dependent and don't give your parents your W2s. You should also inform them that you are not their dependent around december so that, when they get busted for tax fraud, your conscience is clear.
"We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
and my mentality has always been that if someone needs the software then they'll pay for it to exist, even if they don't want to sell the source code afterwards. And to a large extent, this works. In fat, it works perfectly. I've never had anyone say "well you're writing free software, so why should we pay you?". In fact, often the software I write is for universities, who would rather release the code open source than hang on to it. This is just the mentality that unis have, I guess.
I currently work for $AU 30/hr (about $US15). This is considered pretty damn cheap, but I maintain that rate because I get a hell of a lot of work word-of-mouth.
Next year (after finishing university) I will have a lot of experience under my belt, a reputation for getting stuff done properly cheaply, and a lot of loyal clients.
I find it quite interesting to see references to "entry level" jobs being $50/hr or $50k/yr. Over here (in Australia) entry level IT jobs are generally around $AU30k/yr ($US15k), although I'm hoping to get around 50-70. Perhaps I should move to the states.