Slashdot Mirror


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?"

86 of 458 comments (clear)

  1. a good price by VAXGeek · · Score: 5, Insightful

    $25 an hour and they provide the hardware. flex time. try and get benefits too.

    --
    this sig limit is too small to put anything good h
    1. Re:a good price by dharma21 · · Score: 2, Insightful

      I agree, Ask for a good amount, but don't go overboard. The last think you want is for them to say: "Well for that money, I'll get another programmer to do it in house"

    2. Re:a good price by ihopMaintenance · · Score: 5, Informative

      $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.

    3. Re:a good price by wankledot · · Score: 5, Informative

      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.
    4. Re:a good price by Anonymous Coward · · Score: 3, Informative

      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.

    5. Re:a good price by happyfrogcow · · Score: 2, Insightful

      $25 dollars is entry level? where do you live? It seems like less than $20 is entry level these days.

      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?

    6. Re:a good price by wankledot · · Score: 2, Interesting

      Software development, in a contract with no benefits? $25 is very much entry level.

      $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.

      --
      My sig is blank, I typed this by hand.
    7. Re:a good price by msoori · · Score: 3, Informative

      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.

    8. Re:a good price by HermesT · · Score: 5, Interesting

      Charging by the hour is tough when working alone because of the record keeping and the feeling that one will be accused of laziness for spending a lot of time at a *seemingly* simple task.

      I reccommend negotiating a contract based strictly on an agreed upon task list (with a dollar amount affixed to each task).

    9. Re:a good price by nullard · · Score: 5, Interesting

      I've never done less that $40/hr when working on contract. Now my minimum is $50/hr. On most projects I set a minimum time as well. I also give estimates and take 33-50% up front followed by one or two more payments as necessary. If you know your stuff, you shouldn't sell yourself short.

      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?

      --


      t'nera semordnilap
    10. Re:a good price by Anonymous Coward · · Score: 2, Troll

      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.

      I'd love to get paid 25 dollars/per hour. I live in the US, and get paid $9 dollars/per hour programming C++. I work mostly with Microsoft's COM+ doing 3 tier work. I only have a high school diploma because I couldn't afford college but I'm a great programmer with 8 years experience in C++. I'm 25 BTW. I know what I'm doing, and my projects are always completed. I've NEVER had a project fail or get canceled.

      I live on the west coast in Oregon. It has the highest unemployment rate in the country. I guess that's why I can only ask for 9 per hour especially since I only have a HS degree.

    11. Re:a good price by smallfeet · · Score: 4, Funny

      Wow, trash men get paid $9 an hour where I am ... oh wait, you did say Microsoft COM+

    12. Re:a good price by ScooterBill · · Score: 3, Informative

      $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

    13. Re:a good price by angel'o'sphere · · Score: 2, Interesting

      Try to find a teleworker contract.
      $9 is ridiculous. Consider to learn Java ... I would hire you imediatly for $18 ... well I would have a bad feeling ... to rip you off that bluntly.
      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    14. Re:a good price by frenetic3 · · Score: 3, Informative

      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?"
    15. Re:a good price by yet_another_user · · Score: 4, Insightful

      The same could be said about a contract based on a task list - you will probably be responsible for setting up many part goals and how much money you think they are worth. The buyer of your product could then just as easily think that you set up too easy goals if you finish them too fast etc.

      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.

    16. Re:a good price by fpp · · Score: 2

      "I wanted to go to college but my parents didn't care about me."

      That's part of your problem. You shouldn't expect someone else to pay your tuition. You should have busted your ass to pay your OWN way through school like I did, and not expect a dime from anyone. The world doesn't owe you a thing.

    17. Re:a good price by zabieru · · Score: 2, Informative

      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.

    18. Re:a good price by holzp · · Score: 2, Funny

      $25 an hour! Where are you some sort of programmers mecca? I'll do it for $2.50 an hour, no benefits!
      - Random Outsourcer, India

    19. Re:a good price by nullard · · Score: 3, Informative

      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
    20. Re:a good price by Fulcrum+of+Evil · · Score: 2, 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.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    21. Re:a good price by still_nfi · · Score: 2, Insightful

      I have a simple policy of asking for the minimum rate that I would accept without having to think about it. That is almost always going to be more than they want to pay, but sometimes they take it and you are happy making lots of money. It is important to go into a negotiation knowing 2 figures, the minimum you would be prepared to accept if there are no other issues and the amount that you can basically be bought for (the one you ask at first). If you get offered something below your minimum, just turn it down immediately.

      --
      "I have been around the world and found that only stupid people are breeding" -- Harvey Danger
    22. Re:a good price by Marc2k · · Score: 2, Insightful

      He's a student first. He *IS* entry level.

      --
      --- What
  2. If it were me by JLSigman · · Score: 3, Informative

    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
    1. Re:If it were me by gujo-odori · · Score: 5, Interesting

      I'll address this issue from the other side. About 1.5 years ago, my former employer wanted/needed to replace an aging application that was shared source. That application had been customized by a former employee, but the original perl source was deliberately obfuscated, and the customizations were an ugly hack, completely undocumented, and had been done by an employee who was later fired.

      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.

    2. Re:If it were me by Skip+Head · · Score: 5, Funny

      ...the original perl source was deliberately obfuscated...

      I was just wondering...

      How could you tell?

      --
      Most evil is done by good people, and not by accident, but deliberately; motivated by high ideals toward virtuous ends.
  3. Business plan by Anonymous Coward · · Score: 5, Funny

    1. Start open source project.
    2. Ask slashdot why I'm not getting paid.
    3. ???
    4. Profit!

    1. Re:Business plan by iabervon · · Score: 4, Funny

      3. Get approached by a company willing to pay you

  4. go for targets by bluelip · · Score: 5, Insightful

    They are solid. Either a feature is present and functioning or it's not. No need to quarrel over hours.

    --

    Yep, I never spell check.
    More incorrect spellings can be found he
    1. Re:go for targets by ewhac · · Score: 2, 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 writing requirements docs, plus writing verification plans and tools).

      Go for the hours. Depending on where you live, and how much other work you have, I wouldn't settle for less than $90-100/hour. If they balk, it's fairly easy to do some back-of-the-napkin calculations showing how much more it would cost them to have it done in-house.

      Schwab

    2. Re:go for targets by ponxx · · Score: 5, Insightful

      Bloody hell... i'm not surprised software development is moving out of the US if college students are charging $100/hour. Of course i don't know what sort of genius he is, but i would have thought $25 (the amount the parent suggested) quite a reasonable wage for a student (considering what others get paid doing shitty work in a fast food place where they don't earn anything).

      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

    3. Re:go for targets by xenocide2 · · Score: 4, Insightful

      Theres a couple reasons that they might charge that much ($100/hour). First off, theres no benefits. Thats a large but often forgotten part of compensation. Secondly, there's cost of living. It seems that a disproportionate amount of visiters to technical sites are from California. Far higher cost of living. Third, there's usually haggle room built in. Name 25/hour and you're in a pickle if they ask for half that. Fourth, it's a contract job. Not full time employment that you both expect to last. These sorts of on demand workers charge more because you're available immediately. A frequently cited rule is the "law of four." Consultants should charge about four times as much for the same job that a full time worker would make.

      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.

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

  5. Why not pimp the project? by gatekeep · · Score: 2, Interesting

    Which project is it?

  6. Atitude Matters by cTbone · · Score: 5, Insightful

    Don't forget that if you start getting paid for your work it opens up a whole new slew of responsibilities. You might not be able to slack off as much as you like, etc. It gets harder when you have to answer to someone.

  7. it depends by mattboston · · Score: 5, Insightful

    on what this piece of software is, and how valuable it is to them. if it would cost them $20k to design it themselves and would be worth it for them to spend $5k for you to do it, then quote them that. but you need to sit down with them and come up with a approx time which it will be completed, how many hours you'd be putting in, etc. also, is there other software out there that does this, compare what you would charge to what it would cost to buy commercial software. will you be providing support, or development only. there's more than just what should i charge, you need to do a little investigation into what the company wants and what's out there, and how long it would take you to do this

    1. Re:it depends by StephenLegge · · Score: 3, Insightful
      Because they're making a build or buy decision. It's easier for them to write you a check than it is to hire and maintain employees, provide them office space, a desk, computers, and manage them everyday.

      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 asking price. You may not get that much for the job, but there's no need to go in at 25% their build cost. That's way too low.

      SLL

  8. Hourly Rate Sounds Good by smd4985 · · Score: 2, Informative

    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
  9. simple by civilengineer · · Score: 4, Funny

    just send invoices to you clients for $699. Some of them will pay without bothering to find out what they are paying for.

    --

    New year Resolution: Don't change sig this year
  10. share by happyfrogcow · · Score: 2, Insightful

    If they are going to be benefiting from your work (attaching their name to it somehow), it might be good to get a peice of the company. Or profit sharing. Something. Sure the dotcom era has left a lot of people sour about working for shares in a company, but if you believe in the company, it could be worthwhile.

  11. Pay-Per-Deliverable by Anonymous Coward · · Score: 2, Informative

    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.

  12. Hour Rate is Best by Exousia · · Score: 5, Informative

    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.
    1. Re:Hour Rate is Best by Alan · · Score: 2, Informative

      Agreed. I do contract programming and even with multiplying my time estimates by 50% or even doubling them, I still find that more often than not the client will come to me halfway through and say "oh, yea, we also need [xyz] feature" or "oh you thought we meant this, but we actually needed that.." or whatever. Some of these details can be dealt with in the contract (not really applicable for OSS), but a lot of them end up being easier to just do than fark around with ammending the contract, re-doing estimates, etc.

      Hourly rates are much better, unless of course you talk half the time you estimated, and end up screwing yourself by being *too* efficient! :)

  13. Think in goals by ChozCunningham · · Score: 5, Insightful
    Imagine how much the project is worth to you personally. Will you have the opportunity to keep it "open"? Do you care? Are you in a hurry to see it completed? Do you owe tons of money, or are you getting by?

    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!

    1. Re:Think in goals by ChozCunningham · · Score: 2, Insightful
      It sounds you like you are in a win-win situation. I would suggest veering to the moderate side of what /.'ers suggest overall, and be sure that it will look good on a resume. Some sort of offical-sounding relationship with the company, and maintain good terms with more than one person within (so your future reference doesn't dry up if leaving the company later).

      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 functional products, along with a history of functional relationships. If you don't get as much as you possibly could have this time, you will probably make it back later.

  14. Lie by ShadyG · · Score: 3, Insightful

    Not that I've ever been in your situation, mind you. My life consists of paid projects I wouldn't choose to develop on my own to subsidize unpaid work on projects I love. Consider anything you get a bonus.

    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

  15. Project price only by ryanh50 · · Score: 5, Funny

    You should bid the project out in it's entirety then sub-contract it to india for 1/5 what they are paying you.
    They get their project
    Some indian Programmer gets paid a great wage for his market
    You get your cut and can do something else :) EVERYBODY WINS!!!!! :)

    1. Re:Project price only by thelenm · · Score: 2, Informative

      That's funny because it's true. (sigh)

      --
      Use Ctrl-C instead of ESC in Vim!
    2. Re:Project price only by hoggoth · · Score: 5, Informative

      > 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 /dev/random (may take some time)
    3. Re:Project price only by kfg · · Score: 2

      Do it three times and you move from programer to "shrewd CEO."

      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

    4. Re:Project price only by AetherGoth · · Score: 2, Informative

      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.

    5. Re:Project price only by LuxFX · · Score: 2, Insightful

      Ouch. Sounds like your company is jumping on the bandwagon without checking with the driver to see where it's going.

      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 experience, samples of quality code, ease of communication, east of testing, etc. Later on you can validate your complaints with real-world examples.

      2) as much as you might not like management, make every effort to separate yourself from the programming side (don't go fixing the code yourself). This will both save you from any blame that might eventually get passed around, and keep you from winding up in a dual role of manager and programmer, although only getting paid for one.

      3) Especially if things look like they're not working out well! Keep careful track of all costs (as many as you can get your hands on) before and after. The current cost of running the facility, the cost of closing the facility, cost of moving people, cost of the new development, cost of debugging/testing/etc. the outsourced development, and the estimated cost of restarting your development facility. The goal is, before too long, going to the upper management and having black-and-white proof charted out, and being able to say, "Due to increased problems with our development pipeline, our theoretical savings have become additional costs. Unless this activity is stopped by %%DATE%%, out benefits will become costs and will continue to degrade. The quality of our product will diminish, and our returns will dissappear into the red."

      Good luck

      --
      Punctanym: alternate spelling of words using punctuation or numerals in place of some or all of its letters; see 'leet'
  16. Re:Oh, be for real. by tlacicer · · Score: 2, Informative

    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
  17. Much higher by joshamania · · Score: 3, Interesting

    Don't sweat the benefits and crap. If you're a student, you've prolly already got health insurance...especially if your folks are still listing you as a dependent.

    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.

  18. Be reasonable by Troll_Kamikaze · · 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 attract even more sponsors.

    What you don't want is for the one corporate sponsor you've attracted so far to come away feeling as though you're trying to saddle them with a development bill that should have been more broadly distributed.

    In summary: you're on the right track, but have patience.

  19. Fixed price is risky by AT · · Score: 3, Interesting

    You take a big risk if you agree to a fixed price contract. While it might seem like there is potential to make more by working efficiently, it doesn't usually happen that way. Estimating how much time a software project will take is *hard*, much harder than it seems. Even if you have experience making those kinds of estimates you are likely to be significantly wrong -- usually too short. Then there is the question of whether a feature is actually done. Particularly if there isn't a well documented requirements document, there can be a wide gap in expectations.

    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...

  20. What I did... by kzinti · · Score: 5, Insightful

    I was in this situation a few years ago, when a company wanted some mods done to a camera-control library I had written and publish on sourceforge. Because they were a well-funded company, I charged them an hourly rate. However, because they were funding an open-source project, and because their changes were fairly small, I was willing to give them a break. I charged $50 an hour - less than half what I would have charged on a project for proprietary code.

    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.)

  21. In the contract by adamy · · Score: 5, Insightful

    Make sure it is explicite that the code you write is your Copyright. Make sure the clasue Work-for-hire or anything to that effect is not in there.

    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.

    --
    Open Source Identity Management: FreeIPA.org
    1. Re:In the contract by GigsVT · · Score: 5, Insightful

      And that's the distinction all the other posters who are spouting numbers like $100+/hr are missing. This isn't regular contract work if you are rolling these changes back into your app, you are building equity in your app. The value of that must be considered.

      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.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
  22. Money, Rights and Goals by mpechner · · 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 away. If they are funding you, you could loose your rights to IP they pay to patent.

    Make sure you have the right to "hire and fire" and personel they give you.

    Talk to a CPA, yours not theirs. You want to make sure you are set up correctly for tax purposes. If this is open source of for profit, you are a business, if you are doing this for the good of mankind and envison your self as a non-profit, there are tax issues on either side of this.

    If you are a business, they can loan you a machine. If you are a non-profit, they can donate the machine to the non-profit.

    You need to think about what you want in the end.

  23. Project features Vs timeline by phorm · · Score: 2, Insightful

    Make up a spreadsheet of features the clients want, and estimate out the time it would cost for each, and as most do, add a little flex for unexpected details (which, luckily if you are the developer of the initial code, you shouldn't run across too much of).

    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 /. to estimate how much you should charge, without knowing more about the project itself, so the best I can give is this rough estimate. Try to keep in mind that hourly is the easiest as far as getting paid for any extra things that crop up, but the timelogging can be a real pain in the butt, and justifying time over an initial estimate can be too.
    For myself, I rarely work straight-through hours on contract projects, but usually stop to grab coffee, check /. etc etc, so really a per-unit basis might be the best bet.
    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.

  24. Fixed price - with fixed expectations by Big+Smirk · · 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 you can come to an agreement.

    Maybe negotiate a bonus to have it done early.

    The key point of your negotiation is who will own the 'work product' when you are done. If it's you, you can release it open source again.

    --
    TODO: create/find/steal funny sig.
  25. $1K per major feature by jimm · · Score: 5, Informative

    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.
  26. Go for a consulting contract by Stephan+Schulz · · Score: 4, Interesting
    When I was in a similar situation, I got a consulting contract with a fixed number of hours per week and a fixed hourly rate. Details are under NDA, but I typically charge EUR 60/hour to work on things that interest me very much and at least EUR 150/hour for boring stuff. I don't get much work at the second rate, but that's kind of the aim ;-)

    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.

    --

    Stephan

  27. Contingency by gray_eminence · · 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:

    • you need time off for yourself
    • they get pushy about deadlines
    • either party decides to back out of the deal
    • the scope changes
    • they have 'another person' who they want working with you
    • time spent for meetings, or reports (is this billable?)
    • any unfoseen circumstances

    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

  28. Price Point by SomeOtherGuy · · Score: 2, Insightful

    Companies interested in already coded starting points that just need a few more features (most GPL/OSS projects) will have a cutoff point as to where they would:

    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.

    --
    (+1 Funny) only if I laugh out loud.
  29. Welcome to the wonderful world by kfg · · Score: 4, Insightful

    of getting payed to be creative in an enviroment geared to quantify "production." So many worthless widgets produced an hour at so much value per widget and such.

    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

  30. Negotiating contracts by oaklid · · Score: 2, Interesting

    Don't go hourly. Unless you are super-fast, everyone will be unhappy.

    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 (and when), and any limits.

    Going through this somewhat tedious planning and defining part will make both sides of the transaction comfortable with what's being delivered and when--and it allows you both to note any potential problems. It also gives you both something to point to when the project is changed (you can ask for more money) or not delivered according to scope (they can withhold payment).

    To price the section, I estimate the time it will take, add 10% because I usually underestimate, and multiply by my hourly rate. That's the fixed price. If it takes me longer, I lose. If I work faster than I expected (ha!) then I win. Usually, I'm right about on time.

    (My hourly rates vary based on the type of work but range from 3,500 yen to 10,000 yen/hour. I do love those 10,000 yen/hour jobs but they are few and far between.)

    If your section that's going to take months and you need rent money, then work out a payment schedule with target dates for certain key goals within the section.

    In the US, contracted work is usually done with a 1099, in other words, you're not their employee so you won't get any benefits and you'll have to pay self-employment taxes.

  31. I wouldn't do it... by gwars · · Score: 2

    I run a rather successfull Open Source project. phpBB (bulletin board software, http://www.phpbb.com)

    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 their offer and take payment for your Open Source work make DAMN sure you're not signing away any of the rights to your code.

  32. A variety of suggestions borne from experience by Starky · · Score: 4, Insightful
    Since it sounds like you are an experienced programmer but inexperienced in the realm of consulting, I would recommend an hourly rate over a per-project flat fee.


    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!

    --
    -- My choice of computing platform is a symbol of my individuality and belief in personal freedom.
  33. what's it worth to them? by bscott · · Score: 2, Informative

    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
  34. Throw the question back at them by Mr.+Sketch · · Score: 2, Insightful

    If you're the recipient of money, you don't normally want to be the first person to call out a number, so ask the giver of the monies how much it's worth to them. This will also keep you in a reasonable 'ballpark' figures. For instance, if you answered back that it would cost them $150/hr, when they were only wanting to give $25/hr, that's quite a difference and the company may just give up and decide not to pay you alltogether. The same is true if you decide to do it based on features and you say 'Feature X will cost you $5000' and they were only thinking of maybe $500. If you're a busy college student it may be more difficult to keep track of individual hours, so you may want to consider a pay-per-feature plan. It may also be easier for the company to think of paying you by the feature and then they are basically donating lump sums of money to your project.

    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!

  35. I've paid someone to extend an OS product.... by PinglePongle · · Score: 4, Insightful
    and from my point of view, I don't particularly want to hear about the hours you worked. I effectively want to treat you like any other supplier - I want to be able to weigh costs versus benefits.
    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.
    • Agree in advance a feature list; each feature needs at least a paragraph or two of descriptive text so both parties understand the question.
    • Independently, you provide a rough estimate of the amount of work, and your client ranks the features in terms of priority.
    • You both select features which can be implemented in a relatively short time-box (2 to 4 weeks is ideal). You discuss those features in detail so you are clear on what you've got to do, then agree a price for that work (multiply your desired hourly rate by the estimated amount of work, duh). You agree not to charge more than the agreed price; your client agrees not to change the scope of your current iteration by asking you to implement something you haven't already discussed. If they want something extra, they can wait till the next iteration.
    • Build what you agreed to build; keep in close contact with the client, and show them at least once a week what you've achieved.
    • At the end of the iteration, deliver the agreed features to the client or into the open source code base; rince & repeat.

      • 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.
    --
    It's all very well in practice, but it will never work in theory.
    1. Re:I've paid someone to extend an OS product.... by Frobnicator · · Score: 2, Insightful
      1-2 week iterations, very frequent reviews, iterations are fixed once started...

      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:

      • IMPORTANT: Make sure you contract states that any maintenence, including fixes for bugs or security flaws, be billed as a separate iteration.
      • In addition to the general feature list, write the acceptance tests before starting to work on the iteration, making sure that you both understand and agree to them (with signatures if trust is low). That way if the two of you ever get into a dispute, you can turn to a third party who can say "It passed the acceptance tests, the company MUST accept it." or "You aren't finished working on it."
      • Include in your estimates the time for debugging and for acceptance tests with the company.
      • Make sure that all your feature lists, acceptance tests, and other documents are clear enough that you could hand them off to another developer (if you had to) and they would know exactly what was required.
      • Make sure your contract does NOT require you to do the work yourself, merely that the work is accomplished. If your Uni. work starts to suffer, you would be able to give a job to some other poor undergrads ( Pay 2 people 1/3 of your pay and let them to a bunch of the work. It's better to get your diploma and have a little less money, than to have a little more money and no diploma.)
      Just some thoughts.

      frob

      --
      //TODO: Think of witty sig statement
  36. By the feature / milestone by augustz · · Score: 4, Insightful

    Wow, a lot of folks love charging hourly rates.

    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 :)

  37. Outsourcing Open Source to India; why not? by dstone · · Score: 2, Interesting

    The second half of your legitimate complaining was about non-IT industries and unskilled, non-professional labour which has nothing to do with outsourcing a programming project.

    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) resource because it had an educated workforce, able and willing to work for cheaper than Americans. The lasted for some time, but the Canadian IT workforce has hit similar slowdowns as the Americans now also. The difference with India is even greater. Indians found a market where they can do comparable work (I'm not saying better or worse, but comparable) for much less cost. They moved in. That's the natural progression for anyone rational.

    The writing has been on the wall for 10 years or more. Robert Cringley wasn't the only one writing lucid books on "The Decline & Fall of the American Programmer" in 1993. Any American who has entered the IT profession in the last 10 years either did their research and knew what the risks were, or simply didn't do basic research about where their IT industry was going and what its competition was going to be. The latter group missed the cluetrain and it was their own fault. This is not news.

  38. Have you talked to University's legal department? by RealAlaskan · · Score: 4, Insightful
    If the company wants to encourage you to get your degree, and keep banging away at this in your spare time, they won't expect to get much, and won't expect to pay much.

    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.

  39. What can they afford? by Spazmania · · Score: 3, Insightful

    If they approached you, then they already have a pretty good idea how much money they're willing to spend on this project. So, start there. Find out what they're willing to spend, and then negotiate how much work and what kind of work you're prepared to do for that compensation.

    --
    Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
  40. not likely by Vitriolix · · Score: 2, Insightful

    they approached him because they liked his work. never undersell yourself. if the price is too high, they'll tell you and you negotiatem they wont just drop you.

  41. Pay for Service Provided by AuburnGrad · · Score: 2, Interesting

    If you charge by the hour, you are committing to a larger workload. Create a specific list of deliverables (small, workable code chunks) and price each one according to about 150% of the number of hours you anticipate times the going rate of $50 to $75 an hour. This gives your client a fixed cost (which they should appreciate) and you the flexability to work at your pace. You'll have some evenings you'll bust out a massive section and others that are slower but it won't matter if it is a fixed cost. I released three titles under this model and it halted many arguments. One warning... set your timetable within easily reachable goals. Your client will expect a finished (and working) product exactly on the day you promise it. Good luck and welcome to the evil corporate world! AG

  42. Re:As much as the market will bear by Stephen+Samuel · · Score: 5, Insightful
    A short story:

    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.

    --
    Free Software: Like love, it grows best when given away.
  43. Re:Contact me. by Phillup · · Score: 3, Insightful

    Dude...

    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.

    --

    --Phillip

    Can you say BIRTH TAX
  44. Unique skills, but depends on where you are by Corpus_Callosum · · Score: 2, Informative

    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
  45. I'm a student who's written OSS by grahamlee · · Score: 3, 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.

  46. I did both approaches by jtheory · · Score: 2, Interesting

    I wrote a simple IDE extension for an RCS, then contacted the company to see if they wanted me to build it into a full-featured integration.

    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 them, isn't it?).

    Worked out exactly as designed, win-win.

    I will mention that just listing an hourly rate is tough in a few ways. You have to keep careful track of your hours, which can be hard, PLUS they aren't sure what they're really signing up for.

    It's a good idea to try to keep track of your time (because otherwise your estimates will be *way* off), but giving a single dollar figure for development, testing, deployment and those few bug fixes is better for both of you as long as your milestones are small (because if your estimates suck you don't want to get screwed over too much).

    Don't forget to consider stuff in the contract like:
    - unforseen *large* setbacks might force you to revise your price/deliverable midway
    - only bugs that significantly impair functionality AND are discovered within the first month after release are included in the original contract
    - owernership and copyright clearly remains yours; the funds provided are purchasing your time, not the finished product (which will be licensed to them under the same license everyone else gets)

    Good luck!

    --
    There are only 10 types of people: those who understand decimal, those who don't, and, uh, 8 other types I forget.
  47. $AU 30/hr by SlightOverdose · · Score: 2, Informative

    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.

  48. Skip the national bigotry by Lulu+of+the+Lotus-Ea · · Score: 2, Insightful

    Indian programmer are, on average, just about as good as US programmers. Some are great, some are terrible. But it's not nationality that does it. Same goes for Russian, Chinese, South African, or any other programmers mentioned in the thread. I've had plenty of problems with US-born programmers too; it's nothing special.

    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, supervision, you are not going to get something good back. That fact has little to do with how much you pay them, in fact. And it gets even worse trying to move a project from someone who is intimately familiar with it to someone who has to scramble to figure out what it is/does--not that you always have the former to start with, but you always get the latter when you outsource.

    Yours, Lulu...