Negotiating Pay for Open Source Work? 458
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?"
a good price (Score:5, Insightful)
Re:a good price (Score:2, Insightful)
Re:a good price (Score:4, Informative)
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
Re:a good price (Score:5, Informative)
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.
Re:a good price (Score:2, Insightful)
But since it is your pet project, I agree that $25 could be a bit skimpy. Especially if you have to pay for health insurance out of pocket.
bottom line might just be, Do they offer benefits for hourly work? If so, Only after X amount of hours/months?
Re:a good price (Score:2, Interesting)
$25 (or $51k/yr) is entry level maybe if it's with a big established company giving you benefits, but for hourly contract work, it's not.
Re:a good price (Score:3, Informative)
Re:a good price (Score:5, Interesting)
On the other hand, if it's a project you're doing anyway, I could understand taking less. In that case part of your pay is the satisfaction you get. The question is, can you afford that?
Re:a good price (Score:2, Troll)
I'd love to get paid 25 dollars/per hour. I live in the US, and get paid $9 dollar
Re:a good price (Score:4, Funny)
Re:Contact me. (Score:3, Insightful)
You are doing Windows programming for dirt.
How are you going to hurt your reputation?
Contact the guy.
You *think* your main selling point is your performance, it isn't.
Your main selling point is $9/hr.
If you want to change that... contact the guy.
Re:a good price (Score:3, Informative)
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.
Re:a good price (Score:3, Interesting)
$9 is ridiculous. Consider to learn Java
angel'o'sphere
Re:a good price (Score:3, Insightful)
Re:a good price (Score:5, Informative)
Re:a good price (Score:3, Informative)
Re:a good price (Score:3, Informative)
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 realis
Re:a good price (Score:2, Redundant)
But seriously, a lot of other variables need to be taken into consideration too. How many hours a week do you want to work on it? What else is going on in your life that will be competing with it for your time? Who will own the copyright to the code you will produce (remember that "open source" and "public domain" mean different things)? What specific features do they want you to add to your software, and how does that match
Re:a good price (Score:5, Interesting)
I reccommend negotiating a contract based strictly on an agreed upon task list (with a dollar amount affixed to each task).
Re:a good price (Score:4, Insightful)
Also working by a tasklist may soon have you doing loads of extra hours everyday to keep up a good payrate.
Definately much better to work and charge by the hour. If the buyer thinks your working to slow, you will simply have to explain what it is you are doing and why it has to take the time it takes. Let him know that your software needs its time to mature in your lab, rushing it out the door will only bring problems further on.
'Bugs' is a word even most CEOs understand.
I did both approaches (Score:3, Interesting)
They did -- so we worked out an agreement. I made a list of small-scope enhancements, and put a dollar amount on each (based on my time estimates and a good hourly rate). Per the contract, I made the listed enhancements, and released the project as open source (which make the source available for any other developer who wants to enhance it for them! nice bonus for t
The Market Barometer... (Score:2)
Re:a good price (Score:3, Informative)
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
Unique skills, but depends on where you are (Score:3, Informative)
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 gri
Re:Oh, be for real. (Score:2, Informative)
Re:a good price (Score:3, Informative)
If it were me (Score:3, Informative)
Re:If it were me (Score:2)
Re:If it were me (Score:5, Interesting)
I found a GPLed project that would meet all our needs except for a couple of missing features. I took that to my boss and suggested we pay the author to add what we needed and GPL that code as part of the main project. This was approved in principle, so I contacted the author.
We quickly negotiated a set price for the features we wanted, and I took that back to management for approval. It was quickly approved, and he got to work on the things we needed. It was a real win for everybody. We got all we asked for and then some, at a great price. Because we were (at that time) the largest deployment of that software in the world, it got the most thorough workout and bug discovery process of its life and many fixes of previously unknown bugs resulted from our testing and use.
It would have been much harder to sell management on an hourly rate. Since I was able to go to management with a list of what we needed and a concrete price to get those things, the deal was approved almost immediately, with no dissent. Every level of management, from my boss to the top, liked the fact that they could put a specific, reasonable price on it rather than an open-ended situation that they would have had with a per-hour contract.
Re:If it were me (Score:5, Funny)
I was just wondering...
How could you tell?
Business plan (Score:5, Funny)
2. Ask slashdot why I'm not getting paid.
3. ???
4. Profit!
Re:Business plan (Score:5, Funny)
go for targets (Score:5, Insightful)
Re:go for targets (Score:2)
Re:go for targets (Score:2)
He would actually have to be able to do a very good estimation of the hours it would take him to complete a particular target. Otherwise he would ask for amount X thinking that it would take him Y hours but in the process he needed 3Y time only to be paid X. I don't know how difficult this is. I suppose it depends on how good a programmer you are and how complicated/familiar the subject is.
I usually offer both to customers, and most of them prefer to pay by targets. For estimating the time, I try my be
Re:go for targets (Score:2)
Either way has ups and downs. The real key I think is how well you estimate time- if you routinely under or overestimate the amount of time to write a feature, go hourly. If not, per feature works well if they have specific things they want.
Re:go for targets (Score:3, Insightful)
The downside to milestone-based payments is who decides when the work meets the requirements. If you don't have a detailed contract in place, the client can ding you for an almost endless series of little changes, claiming, "Well, we always expected it would do this."
Avoiding this means coming up with a very detailed requirements specification as well as test suite to prove the software meets the requirements. This effectively triples (or worse) the work you need to do (the work, plus negotiating and wr
Re:go for targets (Score:5, Insightful)
After all, if you're a student, you're most likely in part doing this because you're learning in the process. Whenever i've done a programming project, i usually learned a new concept (whatever, new language, different databases etc.) in the process and wasted a lot of time doing so. Afterwards i usually figured out that i could now do a similar project in 1/4 the time.
So if $100 is reasonable for a professional, a student charging 25 is still ok...
Ponxx
Re:go for targets (Score:5, Insightful)
That last one is something to think about, working a quarter of the year for the same overall pay as your peers. But the little things eat you alive. Employer based benefits can be more cost-effective, and contractors move around a lot. You can't rent a car from most responsible rentalships until you're about 25, so that means a lot of wear and tear on the contractor's car and a lot of stress on the driver/navigator.
They're reasons, but not solid reasons. The fact that the programmer in question would be retaining rights to the code means that the company won't be building equity in code (of course, most code never sells for much). So the price ought to vary based on your own utility for the code. If you want the code in your own personal distrobution, then you might consider mentioning alongside a lower quote than they might expect. On the other hand, if you don't think they understand the GPL or have no intentions of honoring it, then you might need to save up some money for legal fees. Good lawyers with GPL experience are rare.
Why not pimp the project? (Score:3, Interesting)
Atitude Matters (Score:5, Insightful)
it depends (Score:5, Insightful)
Re:it depends (Score:3, Insightful)
Assuming it will cost them $20,000 to build it themselves, if you can do the same job for even a little bit less money that's already a more attractive proposition for them (especially if they don't already have the technical people who can do the work).
Remember, I'm saying the $19,500 is your opening
Hourly Rate Sounds Good (Score:3, Informative)
Then again, if the company that wants to retain you balks at that price point, then I guess you have re-adjust your sights....
simple (Score:5, Funny)
share (Score:2, Insightful)
Pay-Per-Deliverable (Score:2, Informative)
Hour Rate is Best (Score:5, Informative)
Re:Hour Rate is Best (Score:3, Informative)
Think in goals (Score:5, Insightful)
The more important the project is to you, the more you should ask. The less it matters (personally) the lighter your demands. As an artist, I charge more for paintings I personally favor. Do not try to negotiate a payment for what you have already given away freely by inflating your offer; you've given it away, and there is somebody else who could continue your work more cheaply. (Even if they are n't looking for one, it leads to resentment, as it's tacky.
Whatever you ask for, choose the offer that leaves doors open for the future. Avoid killing a golden-egg goose. If you are getting paid to pursue what you would do of your own accord, you are getting a good deal. The dream of capitalsim. And if the company you are working for thinks it's a steal to have you develop for them, so be it!
Re:Think in goals (Score:2, Insightful)
And when it's all done, start a new open source project to keep making nice stuff for everybody. I may sound sappy, but building a record of funct
Lie (Score:3, Insightful)
That said, there's no reason to tell your client the whole truth and nothing but the truth. Focus negotiations on the value your software represents to him. If your software is worth more to him than he is paying you to do the development work, the deal will get done. Let him know you would keep working on it for free, and even if he wants to pay you to speed things up, you won't get as much. Let him know that due to other obligations, you were thinking of maybe dropping the project, or at least drastically pulling back on the number of hours you can contribute. Encourage him that for the right price you can afford instead to drop your other obligations and make this product really kick ass, which is of course what you would prefer to do, if only it could be facilitated.
-- ShadyG
Re:Lie (Score:2)
You'll always come out ahead hourly. (Score:2, Insightful)
If you just need $x amount of money to keep going and you're happy with that you can bid by the project and do fine.
sounds good (Score:2)
charge by the hour? (Score:2)
So.. the only question is what's reasonable.. I'd estimate the amount of time required, multiply that by an 'hourly' ra
Re:charge by the hour? (Score:2)
Hourly would work out in your favor, but is harder for them to predict... say you want to work on it for 80 hours one week? Are they goign to cap your hours and want time sheets and such? Charging a monthly fee, might give you more flexibility and give them a set cost... as if they had hired you... but without the benefits.
Also, depends how big the company is, larger corporations will want to fit you into one of their accounting/hr categories, but a smaller company won't ca
Project price only (Score:5, Funny)
They get their project
Some indian Programmer gets paid a great wage for his market
You get your cut and can do something else
Re:Project price only (Score:3, Informative)
Re:Project price only (Score:3)
Seriously. That's business.
You can, of course, always put your money where your philosophical values are. Take the job, "outsource" it to other college kids and take 20%.
KFG
Re:Project price only (Score:5, Informative)
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.
Skip the national bigotry (Score:3, Insightful)
What is a lot more likely is that hoggoth's outsourcing woes have to do with the *outsourcing* part of it. If you dump code on people without adequate specs, documentation, and yes, s
Re:Project price only (Score:3, Insightful)
Of course, this assumes that the controlling interests in your company are smart enough in the field to recognize shoddy work or not. Bugs are bugs, but a lot of the problems are internal -- such as poor, undocumented code that, from virtue of its own crapiness, result in increased costs of updates and management.
My advice is 1) before they shut down your facility, document the entire expe
Outsourcing Open Source to India; why not? (Score:3, Interesting)
As for the IT industry, well, what would you have the Indian IT industry do? Not advertise its services? Shut itself out of the largest IT market in the world? Say, oh, no, we won't accept offers from the USA because it's not fair to workers there? Puhleeeze. Canada, for example, became a great IT (especially programming) resou
Much higher (Score:4, Interesting)
Companies are much more willing to pay big $$$ to someone they don't have to give benefits too...so $50 - $100 per hour may not be out of the question.
Also, if you're only talking a relatively few hours, ask for more. i.e. if it's only 10 hours a week, $100/hour get's you a grand, while 20 hours a week at $50 gets you that same grand...it all looks the same on the company's monthly budget.
Normal Contractor Wage (Score:2)
The fact that you enjoy what you are doing should not factor at all into how much you are getting paid. You do not deserve any less than a normal contracted programmmer (who may also enjoy his job as much as you enjoy this). Furthmore, the fact that they have recieved the fruits of your previous work for no charge makes up for the fact that they do not retain copywrite on th
Be reasonable (Score:2, Insightful)
Even though you may indeed deserve far more than the $0 you've been paid so far, you can't expect this one company to foot the entire development bill.
Don't try to charge this single company full price for your work, or the use of your program is likely to become more expensive to this particular company than a competing (and probably more feature-complete) commercial package. If your software's good enough to have attracted hundreds of users and a corporate sponsor, it'll probably become good enough to
Fixed price is risky (Score:4, Interesting)
So you can chop the project into tiny, easy-to-estimate pieces and write up a huge requirements document to manage your own risk, or you can just take an hourly rate and code. I know which I'd rather do...
Simple (Score:2)
What I did... (Score:5, Insightful)
I'd suggest you take into consideration who the company is, what they want to do with the code, and what their financial situation is. For example, I wouldn't charge a big, well-established company the same I would charge a non-profit.
Also make sure the company understands who owns the code you produce. Many companies don't understand how open-source licenses work, and might assume that, because they've paid for it, your code belongs to them and doesn't continue to fall under the restrictions of your chosen license. Understand your license fully and make sure the company that's paying understands it too. (Just to avoid disputes in the future, you might want to capture that understanding in your contract, or in a side agreement.)
As much as the market will bear (Score:2)
Don't feel guilty about being paid for doing what you like to do. The whole point of this is that they are making enough money off of your work that they're willing to pay you to do it better/faster/stronger.
It's not like they're going to lose money by paying you do do this. Consider this as both coverage for what you've done so far, as well as the money that the projec
Re:As much as the market will bear (Score:5, Insightful)
Many years ago, (mid 80s) a friend of mine was working at a lab which, among other things, had a small handfull of UNIX boxes (SGI, SUN, Vax). He managed to finagle me the right to use the equipment in off times to do some of my own computing research (strange sorting techniques, mostly).
While using the machines, I noticed that there were some problems with the way that they were set up, so I also spent some time cleaning up the admin (for whatever reason, I also got the root PW).
In time, his boss found out what I was doing and he came to me with a speech along the lines of: I notice that you've been doing some work on our machines, but in doing some inquiries, it seems that you're not a member of this lab this department, or -- for that matter, not even a current staff or student at the University. This means that if something were to go wrong, theres nobody who could really take responsibility for you being here or what you're doing, and I really don't have the right to ask you to do specific things.
So either you're going to have to accept payment for what you're doing here, or I'm going to have to stop comming here. With some surprise and shock, I chose the former option. He then asked me how much I wanted to be paid for my time.
I quoted him a number which was a bit over twice the minimum wage, and he frowned at me. After thinking for a moment, he offered me a different number -- about twice what I'd offered him. His explanation was that he wanted to pay me enough to ensure that I wouldn't be hired out from under him by the first yokum to come along.
I think that it's very human to underestimate the value of the work that we do -- especially when we enjoy doing that work. All I would really suggest is that you trust that they see value in the work that you're doing, and they know far better than you how much money it's making them (My guess is "lots"). Be willing to stretch yourself in accepting that valuation, and asking enough that you're not regretting the decision later and don't have to make a pained choice later on between staying with a project that you enjoy or going off to a 'real' job that might be less enjoyabe, but would better support your lifestyle.
Easy Answer (Score:2)
The easy answer is you should charge $25 an hour for any time spent on implementing features, bug fixes, and changed, that this company requests. This is a job, it's irrelevant whether you would have done the work anyway.
Of course if they ask you to do something that is company specific, or
In the contract (Score:5, Insightful)
The difference is major. If you do it as work for hire, they own it. If you do it and own the copyright, you are building equity.
Re:In the contract (Score:5, Insightful)
It's different if they want you to fork in a direction you don't want to take your app, or they ask that the code be licensed in a way that is encumbered, etc, in that case, I'd charge more. Maintaining a fork is a major undertaking.
I'd keep it a reasonable rate, especially considering that the guy is still in school. Working with contractors or employees that are still in school can be difficult.
Under GPL it's not that important (Score:2)
easy calculation (Score:2)
Money, Rights and Goals (Score:2, Interesting)
Make it hourly. Rates, $30-$40.
Important, do not accept anything without understanding your rights to the source and the derivitives they create from it! You might be openoffice.org (example), but Sun is packaging it at $70 per copy.
Make sure it is spell out what they are doing with it.
Make sure they don't gain the right to take you off the project if you don't meet their deadlines for releases.
Make sure that if they see Intellectual Property(IP), i.e. patent potential, that you do not sign your right
Project features Vs timeline (Score:3, Insightful)
Then, once you've got that down, you can either estimate your charges based on:
a) Per-unit basis (charge per X feature)
b) Per-hour basis
c) Overall project basis
You can't really expect
For myself, I rarely work straight-through hours on contract projects, but usually stop to grab coffee, check
That way, anything extra they suddenly think of that they want (and if you have ever developed corporate software before, this is more common than not) can be tagged in later, and you can also set cut-offs for various functionality/features.
Also, get paid in installments because sometimes good projects get cancelled by bad budgeting. Thankfully an open-source project at least doesn't die in this scenario, as nothing is worse than watching your "baby" project die at 80% before reaching fruition.
Fixed price - with fixed expectations (Score:2, Insightful)
Negotiate a contract
Make a rough estimate on how long it will take you to do something, double that, multiply that by $100/hr and ask for that. Offer fixed deadlines for what and when you will deliver. Make sure acceptance test is spelled out. Make the deadlines easy to hit, and deliver early.
If you can't negotiate this, ask for a small fixed price to come up with a detailed proposal - say $100. You should already know approximately what they want. Then spend a day or so going back and forth until
$1K per major feature (Score:5, Informative)
Go for a consulting contract (Score:5, Interesting)
Consulting agencies tyically charge significantly higher rates.
Check the details of the contract, i.e. who can terminate it, with how much advance warning, how conflicts are resolved, who pays for arbitration, if any, who pays for travelling, and so on. I always insist on the company paying arbitration, and paying my travel costs for arbitration, regardless of outcome. It lowers my risk significantly, and I have not yet had any trouble.
Contingency (Score:4, Informative)
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
Licensing (Score:2)
I personally don't see a problem dual licensing, but you have to be very careful to not put stuff you added in THEIR licensed version, in your GPL version, or they could get pissed and take ac
Who owns it? (Score:2)
Not if you negotiate right. Be SURE that is part of the contract.
Price Point (Score:3, Insightful)
A. Start from scratch in house
B. Expand upon the source with in house team
C. Bring someone (contract/consultent) in to bone up on the code and fork it to their needs
D. Find a different package that meets their needs
The fact they are looking to the original team to do it means that they are looking for the most efficient (both in knowledge and cost) solution out of the gate.
If the cost remains cheaper than it would be for them to do it "in house" or bringing in a contractor -- then that would be the sweet spot for all involved.
Welcome to the wonderful world (Score:5, Insightful)
You ain't alone. This is an issue that musicians, artists, conventional authors etc. have been wrestling with for centuries.
Your own quandry gives all the evidence needed that there is no clear answer; and where there is no clear answer people on both sides always feel "funny" about the whole thing. Feeling "funny" leads to discontent and acrimony.
Therefore the ideal solution ( which is to say as reasonable an approximation of the ideal as you're ever going to get) is always highly dependant on the very nature of the parties, which is going to be different in every specific case.
Again, as example, you've actually gotten a lot of good advice already, based on real experience of real coders, and a lot of it conflicts. Different parties, different results.
I'd suggest you go to the people who are relevant to this discussion ( the people offering you payment ) and telling them your desires and fears over how to arrange this, ask them their own desires and fears; and then see if you can come to an agreement up front as to how best meet those desires and alleviating those fears.
In short, talk to them kid.
( And a lawyer never hurts. Trust, but verify. You can be damned sure that's what they'll be doing)
KFG
Negotiating contracts (Score:2, Interesting)
We all know how something seemingly trivial can suddenly turn into a time sink when it doesn't go exactly as planned or when your new employer asks for something a little different than what you planned.
So break your project into sections. Define very clearly what the section does--its features, links into other sections, operating platforms, testing process, a timeline for completion, what parts of the scope your new client can define (
I wouldn't do it... (Score:2)
I've had more offers of money then I can shake a stick at. People have offered to pay us for development, sponser our website, and just buy us outright. I've turned them all down. Why? I don't trust corporations...
Ultimatly the people paying you to develop are going to expect something back, and most likly that will be ownership of your code and the right to dictate what you do with it.
If you do accept
Re:I wouldn't do it... (Score:2)
A variety of suggestions borne from experience (Score:5, Insightful)
It is often difficult for those who are not used to billing their time to accurately assess the amount of time a feature will take to implement, including time costs such as requirements definition, maintenance etc.
When I started consulting, I took the amount of time I thought something would take and quadrupled it, which seemed to be about right. After many years and much experience, I only double it. However, the point is that even for experienced consultants, predicting time committments is an art frought with uncertainty.
So to prevent yourself from getting into situations where you end up taking four times as much time as you thought you would take and consequently only making a quarter of the rate you thought you would make on an hourly basis, simply charge them on an hourly basis.
A second recommendation is that you not sell yourself short in your hourly rate. As a student, you may not have ever earned $25/hour. However, you have unique knowledge of the product and are doubtless a talented programmer with marketable skills. Don't be afraid to ask a bit higher than you may otherwise be comfortable with and be prepared to negotiate to a midpoint if they balk.
A third recommendation is that as an independent consultant, you document your activities much more thoroughly than you otherwise would. Write down the requirements they specify. Record your hours and what you did during the hours you bill them for. As someone who is not a regular employee, you should endeavor to be able to justify any and all billing questions or other decisions in a way that regular employees would not need to.
Finally (and this is perhaps the most important point), do not let them convince you to sign over your intellectual property as a condition of your employment or take full ownership of intellectual property you create in their employ in a way that compromises your project. Read everything they ask you to sign. Take documents home to read them over, take them to a lawyer, take them to more experienced friends and solicit their advice. If you are uncomfortable with something, cross it out, initial it, and ask a company officer to initial it as well. Everything is negotiable, including intellectual property arrangements.
Good luck!
what's it worth to them? (Score:3, Informative)
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...
Throw the question back at them (Score:3, Insightful)
The moral is to try and get a number out of them first and then negotiate from there. If the number they throw out is completely unreasonable, let them know and (more importantly) let them know _why_ it's unreasonable.
I hope this helps, congragulations and good luck!
Figure out your cost, go from there. (Score:2)
If this is the only thing you'll be doing, figure out your costs, what are your yearly bills, divide by 2000 and you'll get a number you can start with.
If there's enough work to do, incorporate (about 3000, if you do it through a lawyer) and do it as a corporation, you'll be able to keep more of your cash that way.
I've paid someone to extend an OS product.... (Score:5, Insightful)
I want to know that I can pay you $2K to build me a furtzwangler, and get $3K's worth of value out of it. I don't want to hear about how your PC needed to be reformatted (in my time), or how you looked at a cool new solution to a particular design problem (in my time) or how you had to rearchitect your OO persistence layer using the gesundheit design pattern.
It comes down to risk : software development is inherently unpredictable. Someone is going to have to take a risk - will the features I asked for take 6 weeks, 6 months, or 6 years ? You are in a far better position to estimate the duration of the project than I am, so it's only fair that you bear the risk.
Of course, that assumes that I am not a psychopath who changes the requirements every week and "forgets" to tell you it also has to run on the Amiga platform. That is the risk you bear - you might be able to build the required features in 6 months, but not if I keep changing my mind....
So here's what _can_ work as long as there is an amount of trust between you and the company who want to pay you.
This allows you to reduce your risk by not allowing the client to change their mind once you've agreed your current iteration's scope. As the scope of an iteration is likely to be relatively small, your client does not have to make a big, irrevocable decision about what they want exactly so you can do a big complicated estimate. The risk is effectively shared.
By seeing how much you get done in your iterations, you get a way to adjust your prices in a way that reflects reality - if it turns out you had to work day and night to complete your iteration, you need to charge more (or reduce the scope of what you take on in an iteration). If you have time to spare, you can take on more in the next iteration.
Re:I've paid someone to extend an OS product.... (Score:3, Insightful)
Sounds like you've got some experience with eXtreme Programming, or at least familiar with the principles behind it.
Personally, I've done similar things (not Free softare, but independant stuff) and that's EXACTLY what I'd put on the list. But you did forget a few things:
By the feature / milestone (Score:5, Insightful)
Don't do it. Start with a fixed rate deal, and then if they start wanting all sorts of stuff do hourly rate. But a fixed rate lets you spend the time you want where you want. If you do hourly, they are much more likely to pay attention to how you spend your time. Don't ask for rediculous amounts, $5k is a good starting number. Get enough to live. The fact is, you would do this work for FREE
Have you talked to University's legal department? (Score:5, Insightful)
If the company expects that their contract will be your focus, $1000.00 per day is a reasonable day rate in my field. It's close to the $100/hour other posts have quoted. Plan to drop out of school for the duration of the contract. If you're a grad student, talk to your advisor. He might be willing to keep writing ``satisfactory'' on your progress reports while you work exclusively on this.
If the company wants to let you own the code, I'd suggest working relatively cheaply. I might let them bargain down from that $1000 per day. As another post said, you're building capital. If the company expects that they will own your output, then $1000/day is too low, in my opinion. When you're done, you'll have nothing but the money, so it had better be a BIG pile. After all, this will monopolize your life, you're putting off graduation, and so on. Either way, make sure that ownership of the resulting code is clearly spelled out in the contract. Hire a lawyer to review the contract.
Finally, have you talked to your university's legal department? Is there any way that this project could belong to the Uni? Are you sure about that? If you are an undergrad, you are probably in the clear. If you are a grad student, there is a very good chance that ALL your work is the property of either the Uni or some granting agency. If this was part of work you did for the Uni, it is almost certainly theirs. I'd ask for permission to release it under your favorite Libre license BEFORE I mentioned the commercial interest. Most Uni's are VERY interested in exploiting their ``intellectual property''.
Above, I told you to hire a lawyer to review the contract. Do NOT depend on the University's lawyers to do this for you. They are working for the Uni, not for you. Their responsibility is ONLY to the Uni, and if you get screwed, tough. If you're not paying the lawyer, he's not on your side, period.
What can they afford? (Score:4, Insightful)
I'm a student who's written OSS (Score:4, Informative)
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.