135

My previous employer wants me to fix a bug in the code I wrote while I was working for them. Should I provide assistance to them—on contract (paid) or for free—despite the fact I am no longer working for them?

Background: Last summer I worked as an intern for a large manufacturing company. The duration of my contract was fixed to 3 months. I was paid an hourly rate for my work. My job responsibilities entailed IT support and software development. The software project that I worked on was a fairly simple server application. I worked on the project exclusively. Initially the project seemed to be a success, the software was working as intended. Before my contract concluded and I left the company, I made sure to leave extensive documentation on how to use the program and how to edit the source code should they need to.

I did not sign a contract specifically pertaining to this software project and any post deployment assistance it may require.

Since then I have started working for a different company as a full-time software developer in a different country.

Problem: I have recently been contacted by my previous employer (this is over a year after my contract ended with them), saying that there is a small bug with the software that I previously wrote, and that they need my help to fix said problem. As previously mentioned I now work full-time in a different country. This means that going back there in person is out of the question. Though I do believe it will be possible to fix the bug remotely. If I were to help fix this bug it would require me to devote my free time (evenings/weekends) to assist them.

It is in my best interest to fix this bug so that I can still use the previous employer as a reference for future employment. I do not want them to be on bad terms with me.

Question: Should I negotiate a new contract with my previous employer and charge them money for this additional assistance that I would be providing them in my spare time? Or should I provide the assistance for free since it is my moral responsibility, even though I am not contractually obligated to?

Important update: My current employer has given me permission to work for the previous employer, provided that certain criteria is met:

  • I provide them with regular updates on the progression and estimated duration of the project.
  • I manage my time such that this additional work does not negativley impact my current work for them i.e. do not work late into the night before a work day.
  • I keep silence to anybody else of the works I currently do for my current employer.
4
  • 3
    Comments are not for extended discussion; this conversation has been moved to chat.
    – user44108
    Oct 18, 2018 at 16:00
  • 4
    How long would it take to fix the bug? Oct 19, 2018 at 12:30
  • 3
    Is there any way that your current company could take on the project (and their appropriate markup) and assign it to you?
    – Neil
    Oct 19, 2018 at 17:00
  • When you say you have a job as a full-time developer, what does full-time mean? Or more specifically, what does your contract say about that? It's quite common for full-time devs to be excluded for working for anyone else. Oct 21, 2018 at 18:44

18 Answers 18

294

Fixing the bug is not your responsibility.

should I provide the assistance for free since it is my morale responsibility

No. It is not your moral or legal responsibility to provide free help. You are not their employee anymore.

I made sure to leave extensive documentation on how to use the program and how to edit the source code should they need to.

Good! You've already done what you need to do to help out. They are aware of the bug and have the resources to fix it themselves. They are expected to fix it, not you.

There are also several strong reasons why you should not do the work for free:

  • You're a professional now. Performing unpaid work does not benefit you.
  • You are currently employed by a new company. Performing after-hours work for your old company may be considered a conflict of interest or breach of contract.
  • It's been at least a year since you left the old company, and their systems may have changed. You have no idea how long this fix will take to complete.

How should you respond to their request?

Option A is to politely refuse, and direct them to the documentation that you left behind.

Should I negotiate a new contract with my previous employer and charge them money for this additional assistance that I would be providing them in my spare time?

Option B is to discuss this with your current employer. Maybe you can negotiate a temporary contract to help out the old company, but you must get your current employer's permission first. Also be sure to ask how much time they (the old company) expect from you.

22
  • 37
    "but you must get your current employer's permission first" please elaborate why such permission would be necessary? As far as I am aware no such legal permission is required in most - if not all - western countries. Oct 19, 2018 at 11:14
  • 20
    @DavidMulder A lot of employers put such a permission mandatory, in their contract
    – nl-x
    Oct 19, 2018 at 11:58
  • 20
    @nl-x In the US such a clause is only legally enforceable for executive positions if my understanding is correct. In most western European nations at least for normal work positions such a clause would be unenforceable and I have at least never seen such a clause (I tend to check work contracts for friends and acquaintances fairly often). The closest thing I can think of is a non-compete clause which probably wouldn't even apply here and is unenforceable or only in extremely limited form enforc. in most countries (from "have to pay compensation" to "max 1 year" to "special business interests". Oct 19, 2018 at 12:11
  • 17
    In addition to the advice in the answer, if OP considers doing the work, definitely consider paying for insurance. If you break their system while you're their employee, they eat that cost, if you do it as a third party (whether a paid contractor or doing them a favour) you're legally very exposed without insurance. And "break their system" in this instance is more about what they can reasonably prove in court, regardless of whether you actually did anything wrong, you may still end up liable.
    – delinear
    Oct 19, 2018 at 12:26
  • 9
    @Davor: That’s a pretty standard clause of full-time employment contracts in various European countries. As an employee even while off the clock you have the responsibility to maintain your work performance. It is well established that well rested workers perform better than overworked, stressed, or tired workers. If you take on additional jobs past the 35–45 hours or whatever is considered full-time in your country you reduce the time left for rest and risk a decrease in work performance which directly affects your (primary) employer. Oct 21, 2018 at 12:29
59

Should I negotiate a new contract with my previous employer and charge them money for this additional assistance that I would be providing them in my spare time?

Yes if you feel deeply with it. You are writing code so they can make a profit. As an aside, it's entirely possible your current company will not allow you to work. Check with your manager if you are allowed to do this before asking about the contract. Most companies I've seen have clauses/rules regarding working for a similar company while employed there.

Or should I provide the assistance for free since it is my morale responsibility, even though I am not contractually obligated to?

No, I don't think you have a moral responsibility for fixing your error. If you wrote a software that solved world hunger, then yes, maybe in such a case. However, given that you were making money, and they were making money off you, then there is no moral obligation or what not.

3
  • 8
    I agree, it is the company that has the responsibility especially when decide to hire a 3 month intern instead of creating a real job..
    – Bebs
    Oct 18, 2018 at 12:05
  • 31
    It is 120% the company's responsibility to fix this bug. While you do have a moral obligation to write the best software you can while working for a company, that obligation ends as soon as you're no longer working for them. And code absolutely always has bugs in it. The fact that there were bugs in the software you produced for your old employer does not mean that you failed them while you were working for them. It means that you're a human being who did your best, which is all that can be asked of you.
    – Kevin
    Oct 18, 2018 at 15:24
  • @Bilkokuya this can depend on what contract says and which legislation this work was done. But sure, for most sane contracts and places you should be right! Oct 19, 2018 at 23:03
34

Should I negotiate a new contract with my previous employer and charge them money for this additional assistance that I would be providing them in my spare time? Or should I provide the assistance for free since it is my morale responsibility, even though I am not contractually obligated to?

There are no moral obligations in business.

You were paid by the hour, not by the result. And from what you described the company is seeking your assistance from a neutral position, they are not angry or threatening you.

Most likely, they already did a quick guestimate and believe that asking you to fix the bug will be faster, cheaper and possibly less likely to introduce other bugs than hiring someone new who is unfamiliar with the code.

Their request is an absolutely rational one. The person who wrote the code is usually the best person to fix a bug. Reaching out to you with a request for help is an obvious solution. Most likely, they will not be surprised by you asking for payment, and most likely they would not be losing sleep if you refused.

So yes, if you wish to, you can offer them to fix the bug at an hourly rate that you find justified. You should detail everything you mentioned above - that you are full-time employed, would complete this work in your spare time (important for an estimate of deadlines!) and that you can only do the work remotely.

And yes, you should ask for compensation for your time. Why would you do this for free? Why would you assume they expect you do it for free? Would they do something for free for you?

And that is all there is to it. I would abstain from the philosophical musings of some other answers. Why they found the bug now, whether or not they read your documentation, if they already tried fixing the bug with in-house people - all of that is of no consequence to your question.

Don't overthink simple things.

12
  • 3
    When you reply, you should also say that you will have to ask your employer for permission. Assuming this is not a competitor, your employer will quite likely agree - I've had cases where an employer agreed "if you bring cake for everyone on Monday" :-)
    – gnasher729
    Oct 18, 2018 at 13:01
  • 5
    @gnasher729 Not sure why you should have to feed people for the privilege Oct 18, 2018 at 13:21
  • 5
    @Ruadhan2300 Hmm perhaps but it's kind of weird to "pay current employer to do outside work" in the first place. Either your contract permits it or it doesn't. Oct 18, 2018 at 13:32
  • 1
    @jpmc26 - it is meant literally. There really are no moral obligations in business. However, human existence is more than business.
    – Tom
    Oct 19, 2018 at 6:55
  • 4
    I disagree with the statement that there are no moral obligations in business. But this isn't one of them. I would possibly feel a moral obligation to a previous employer if I had been grossly negligent, e.g. failing to leave them with a record of the root password on a critical server. But bugs in code you have written are not negligence, there is no fault on the OPs part, and no residual obligation to the employer. Oct 19, 2018 at 23:21
20

Should I negotiate a new contract with my previous employer and charge them money for this additional assistance that I would be providing them in my spare time? Or should I provide the assistance for free since it is my morale responsibility, even though I am not contractually obligated to?

That depends on how you view your moral responsibility, how much you value your relationship with them, how long you think the bug fix will take, and how much you value this time.

You could just indicate you are too busy and thereby refuse to help fix the bug.

You could offer to take a quick look at the issue, then give them an estimate of how much time and at what rate it would take to fix the problem.

Or you could just agree to jump in and help fix it.

If it were me, and I didn't think it would take up too much of my spare time, I'd just do the latter.

In fact I have helped out previous employers. Many times.

I once left a Systems Administrator position. My replacement ended up deleting critical system files on a main drive and inadvertently deleting their only backup in the process. Although I had nothing to do with the cause, I worked with my replacement overnight all night long to rebuilt the operating system drive and create a viable backup, then went in to my regular work in the morning. I got a nice "Thank you" letter in return. To me, it was just the right thing to do.

9
  • 10
    An unpaid all-nighter is much, much more than I'd expect from anyone. (I actually think the extremity of the story hurts your answer.) But +1 for the suggestion to quote them an estimate or fix it if it's small.
    – jpmc26
    Oct 18, 2018 at 3:54
  • 14
    Joe you are far too nice for your own good. I used to be like that, but now I realise that "free" niceness (or too much niceness) does not always have a positive impact on earth, and sometimes it has a negative effect.
    – goamn
    Oct 18, 2018 at 5:34
  • 2
    Niceness is fine, as long as it's not taken for granted or exploited. Oct 18, 2018 at 13:10
  • 2
    @JoeStrazzere while I agree that being nice is often its own reward, I believe there exists a line where being nice becomes synonymous to being oblivious to abuse
    – user22159
    Oct 18, 2018 at 21:29
  • 4
    This is becoming an extended discussion and is likely to get spun off into a chatroom if it continues, It's fair to say we all agree being Nice is a good thing, but there are also limits to what it's sensible to do for another person without reward, and the attitude of the person impinging on your time matters too if they're acting in bad faith, "oh that's expensive, we'll ask Jim, he'll do it for free if we ask him nicely", "I can't be bothered, we'll get Jim do it, he won't mind". Ultimately, always be kind, but don't let your good nature be abused! Oct 19, 2018 at 8:12
10

IANAL.

Assuming that helping the previous company does not constitute a breach of contract or conflict of interest under your current contract (check this first!):

  1. You should not do the work for free. Presumably this company still creates software. Presumably they have developers on staff. Presumably those developers are more experienced than some bottom-tier intern who worked there for 3 months (not to say you are bottom-tier now, but yourself at that time was probably less experienced than their full-time staff today). They can pay their employees to do it, or you can do it for them. What they're hoping to do is for you to do the work for less than they would have to pay their employees to do it. What this means presumably is:

    Firstly, their people have not maintained your code in a year. They haven't read your documentation, made updates, adjustments, etc. That's their problem, not yours. "Your" code is actually "their" code, and they don't know their own code base, so the cost of them having to learn their own codebase is factored into their calculation.

    Secondly and conversely, you know the code. Therefore, you should be able to take less time to fix the bug (or so they believe). Therefore, they can pay you less to fix it (because time = money and less time = less money, or so they believe), or nothing at all if they appeal to your sense of responsibility.

    So, the thing you should do is to quote them an exorbitant fee to fix the code. The calculation you should go by is, if you expect it will take you X hours to fix it and you estimate it will take them Y hours to learn it, and they pay $Z/hr to their employees (you should have a rough idea of Z if you worked there as an intern, or at least if you know the market in the area), you should ask for (X + Y) * Z to fix the bug (or ((X + Y) * Z) / X hourly). That is the cost that you estimate they will pay their own employees to fix the bug, and you shouldn't short-change yourself.

  2. You should make it clear to them that this work will be done on your schedule, not on theirs, because you have a full-time job elsewhere and you will be doing this work for them after-hours. This is to set expectations. They should understand that after a full day of working 9-5, you are not interested in working a 5-1 job, and that you will only be working on it for a couple hours per day. They need to understand this, because otherwise it will be trouble for you.

  3. You should make it clear to them that this is a one-time-deal only, and after this is done, they shouldn't count on you to maintain this code for them forever. You provided documentation (good job!) on the code you wrote, and that's really where your responsibility should end, but you are providing this service out of the goodness of your heart, and they shouldn't push their luck. Once again, setting expectations.

  4. And this is the most important part so it's in bold and italics: Get this in writing. Draw up and sign a contract. Don't just make it willy nilly he-said-she-said, because that's how you get screwed out of your work. You probably (IANAL) shouldn't need a lawyer to do this for you; a simple statement of the above terms (and whatever other terms you want) in an email, with an "acknowledged" or "confirmed" response from them should be good enough (IANAL).

1
  • 4
    Another point to mention is that this is an unusual request from a former employer. This is not normal. The poster said he left detailed instructions on how to continue development, and they somehow can't follow them. I smell trouble here. If the poster decides to go through with it, my best advice would be to arrange payment up front, or at least stagger their payments in such a way that the last billing won't be for very much. They sound like a nickle-and-dime operation trying to get something for free, and I'll bet at wrap-up they try to weasel out of payment.
    – BoredBsee
    Oct 18, 2018 at 21:49
7

It is fairly normal for developers to do freelance work on the side. If you want to do it, just make sure there are no conflicts, legal or practical, between your full-time and part-time work arrangements. Ensure that both parties are crystal clear on what you are and are not agreeing to do for them, including time commitment. Research setting up your own corporation to protect yourself. Don't work without a fair, duly written and signed contract.

But based on your description, this is not, actually, "a bug in your code". It is a bug in their code, and you don't work for them any more. If you don't want to take the new contract, you don't have to. Simple as that.

More likely than not, in the absence of such a contract, you would not be allowed to fix, or even access, the code. And therefore, you could not possibly be responsible for it.

3
  • 3
    I wouldn't say it's fairly normal to have a side job. It's not unusual to have related hobbies, or to help someone out, but side job is unusual.
    – gnasher729
    Oct 18, 2018 at 13:03
  • 7
    Half of the senior devs I know have done a side gig with a startup at some point in their careers.
    – wberry
    Oct 18, 2018 at 13:44
  • @gnasher729 I'm a full-time developer, and I would literally go broke if I didn't have work on the side. A single developer wage often isn't enough to survive in large expensive cities. Oct 22, 2018 at 2:55
6

There are good and bad points in all the answers here, so I'm collecting the best parts into a single answer.

Fixing the bug is not your responsibility, but that does not mean that you should refuse. You should feel free to work on this if you want to, after considering the following conditions.

You should check with your current company to ensure that you are allowed to do outside work. It is normal for developers to do outside work, but it is also fairly normal for companies to place restrictions on it.

You should not do unpaid work, but you don't need to request an exhorbitant fee, just one that fairly compensates you for your work. Generally contract work pays a higher rate than regular employment, perhaps as much as twice.

You should have a contract specifying the work to be done, either a rate of pay or a total contract price, and a timeline for the work, as negotiated between you and the company. If you choose to use a fixed price contract, make sure that the compensation is high enough to compensate you for the risk that it may take far more hours than you expect to complete the work. Make sure that you don't commit to a timeline that demands you to work more hours in a day or week that you want to.

There's no reason this needs to be a one-time thing. You can continue to maintain your old code on an as-needed basis, if you want to. However, each instance should be a separate contract, with no obligation for you to take any additional contracts in the future.

5

One important point which hasn't been raised: what your relationship will be with them, and how they will pay you.

There are two options: they consider you as a (part-time, fixed-length contract) employee, or they consider you as a contractor. They cannot just "send you money".

  • In the first case, this may be a bit complex as you are no longer in the country, especially regarding taxes, social security contributions, etc. If you don't know in advance how long it will take, it can also be quite a headache for them in terms of contract, unless you agree on a fixed amount.

  • In the second case, you would need to invoice them. But that means being registered as a sole trader (or a company), declaring that revenue, and paying taxes and contributions on that income. This is turn means:

    • quite a bit of overhead in terms of time it takes to do all that. How long it takes varies greatly from country to country. There are usually simplified regimes for low-revenue situations like this, but it's still a burden.

    • since you are the one paying all the taxes and contributions, you need to take that into account when deciding how much you will charge.

In some countries, there are companies that will do the interface for you: they will invoice the target company for you, and pay you (minus taxes, contributions, and their commission) as an employee. You should pick such a company in the country you are currently residing in to avoid the above-mentioned issues.

In all cases, check your contract with your current employer, and what the rules are in your current work country. You may need to notify or even get a formal OK from your current employer before you can work for someone else at the same time.

2
  • 1
    @Dan, where did you get that from? I found no such minimum mentioned in publication 17 or the instructions for 1040 or schedule C.
    – prl
    Oct 19, 2018 at 3:47
  • 1
    @prl Well, I'm glad you called me out on that - it turns out I was wrong! Payments under $600 just don't require the employer to submit a 1099-MISC, but you're still required to report that income on your return. I've deleted my previous comment. Oct 19, 2018 at 15:44
4

Should I negotiate a new contract with my previous employer and charge them money for this additional assistance that I would be providing them in my spare time?

Yes, you could (not "should") - though beware of potential tax and conflict of interest implications. Whether or not you choose to do so is up to you.

Or should I provide the assistance for free since it is my morale responsibility, even though I am not contractually obligated to?

No. You do not have a moral responsibility here. It is to all intents and purposes impossible to write non-trivial code that is perfect both now, and into the future for all time - if we all had to support, for free, code that we wrote years ago, for previous employers, then after a few years of such "obligations" piling up we'd not have time to do our current jobs (for which we're getting paid).

An interesting thought experiment would be: if that code you wrote a year ago proved instrumental in getting your former employer a big contract with a new customer, would they have a moral obligation to send you a big bonus for writing it, even though you don't work there any more? And would they actually do so? Few people would answer "yes" to either question. So why should the inverse expectation come with any such moral obligation?

You did the job to (presumably) the best of your ability at that time, and got paid a (presumably) fair wage in exchange. That was the business relationship you had with your employer back then. It's now over. If you choose to, you may decide to strike up another business relationship with that employer - but it would be very foolish for such a new relationship to involve working for free.

3

Of course you 'can' do this. As others have stated you should check with you current employer before doing this.

I would ask yourself several questions:

  • What would happen if they have find another 'bug' in the future? Would you do the same thing the next time? The time after that?
  • Would you do the same for your current employer if you move on from your current position?

I have had something this happen to me. I was the SME (subject matter expert) on several systems when I was laid off 28 months ago. I got some calls months after my position was eliminated - several from users and the rest from operations folks (both had my cell). I kindly explained that I no longer worked there (not my choice) and their best course of action was to contact my old manager (responsible for the systems). He could assign to the developer now assigned to the system.

And no - you don't have a moral obligation to your old employer.

2

Let me start by telling you that the title to your question can change everything. Is the code YOURS? I understand that you hadn't signed a contract with that employer at the time, but I think it's safe to assume that, as in every software developer contract, the code is not yours, but your employer's. Sure, you wrote it, but if you had a contract to go back to you would find a clause stating that all code you write for the company is the company's property, and not your property.

If we agree that it is your employer's code, then the other answers provide very good advice, and I hope this one gives you a bit of perspective on how to proceed. You were selling them your time and effort, and you did fulfill that obligation. You might want to sell them your time and effort again, if you have some to spare.

If you have any reason to believe that the code is in fact yours, then you should consult with a lawyer.

2

My rule of thumb is that for a previous employer, I will provide trivial/easy help as a courtesy, i.e. For free. That's maybe 5 minutes of work or talking to someone.

After that I am happy to operate on a contract basis with them, providing law and my personal situation permits. (No conflict with my other employment/noncompete etc., legal to do work in that country, etc.)

In particular, you need to think about immigration law and the question of doing work for them. Immigration laws vary (e.g. The UK doesn't even permit a foreigner visiting for tourism to telecommute for his home nation's company, so don't you dare check that email!) -- but often, doing work is doing work. If you did the past work on a visa you no longer have, you need to revisit the legality of doing work for them now.

Lastly remember the old tale of the specialist worker.

The mighty, ancient forging machine was down. We couldn't forge crankshafts, and they had called in the manufacturer (it wasn't Ingersoll-Rand) and their best people couldn't figure it out either. Some of their old-timers and some of ours agreed, it was time to call in Bill.

Bill was a genius with these machines. He helped design this system and had retired from the company.

Bill walked up and down the great machine. Looked here, looked there, smelled some oil. Bill asked to borrow a hammer. BAP! "Try it now." The great machine sprung to life.

Thank you Bill! Yes, send us an invoice.

The invoice came back, $10,000!!?? We asked for an itemization. It came back

  • Onsite repair call ----- $199
  • Hit machine with hammer ---- $1
  • Knowing where to where to hit it ---- $9,800
2

I had a former employer do this with me once. Here are your basic options:

  1. Do it for free.
  2. Tell them to go fish.
  3. Send them your time estimate and hourly rate. Offer to fix it for a price.

This is a nice way to put it on them; you're not saying no, and willing to work with them, but you're not a chump.

I'd avoid (2), which pretty much burns the bridge, and recommend either (1) or (3).

If the reference/relationship is very important to you, then maybe do it for free this time, but if they ask for another favor, quote them a time and cost.

If you work for free, they lose respect for you.

I chose (3). They said no.

2
  • 1
    Agreed, these are the only options I see. This is a one-off. Don't try to set up a "contract" for the future. And name a price that's high enough to make it worth your while and to pay for the remote phone bills and to pay for any insurance you deem necessary and to not encourage them to come back again, but not so high that it's clearly ridiculous. And be prepared for them to look at your price and change their mind and try to fix it without you. That's their problem, make sure it's not yours. Oct 20, 2018 at 3:47
  • 2
    If they said no, then it was probably not a very important piece of work after all. Oct 20, 2018 at 7:12
1

You owe the old company nothing. You wrote what seems to be satisfactory, well-documented code. You were not required to write bug-free code. That would be impossible!

They have asked you to do some more work for them. Your current employer is agreeable. The only question is how you charge for this work.

Obtain a precise description of the problem. Estimate the number of hours required to fix it. Estimate the time-scale of you being able to allocate this number of hours out of your free time. Quote an hourly rate. They then have the choice of whether to engage you to do the work or not.

1

Don't even respond to them. Any amount of money you could charge them isn't worth the trouble it will cause. They're looking for someone to do some work for them who they can manage to not pay. Let me tell you how this works. First, they just have "a small change - I'm sure you can do this in fifteen minutes". Then it's "while we've got your attention, could you make one more change for us. With your great skills this won't take you any time at all". Pretty soon you're spending all your free time, evenings, and weekends working for this company in FarAwayLandistan. And when time for payment comes? ......... (crickets)

Do yourself a favor, save yourself some time and annoyance, and ignore them. If they want this work done they'll find someone local to do it.

1
  • The OP mentioned that he would like to continue using this company for references for future work. This necessitates maintaining some kind of relationship with them. Ignoring them is not compatible with this. Oct 22, 2018 at 2:41
1

I am surprised none of the answers until now mention you were a "intern".

The reality is that they abused your presence as an intern to do production quality work and now are asking if you still support their operations. Bottom line: the internship has ended, and you do not owe them anything. An intern is an intern, after all. E.g., You should have had a mentor at the time guiding you and being familiar with the work you left behind, and it is not your responsibility that has not happened.

It is however, a good idea to keep to not burn that bridge.

If you are still willing to assist them to, I would try to have a rough estimate of the time it would take to do it, or just to be on the safe side quote yourself as working between 100-200 Euros per hour with a minimum down payment of 3-4 hours.

Otherwise the money won't be worth the disruption it creates in your professional and private life.

As others say, be also very aware of your local tax laws. I refused work/short gigs in the past that on paper looked very good, however after taxes they were not worth it, for several reasons that are not relevant to your question.

P.S. Be also aware of exception/precedence laws. We have one exception for a couple of years that does not demand much paperwork, however if we burn that opportunity with work of a couple of hundred euros, we cannot benefit from it if another opportunity arises.

1

You don't fix bugs for free unless you are creating/distributing free software.

There are 2 ways you fix bugs "for free" in other cases:

(A) you are an employee and fixing your bugs is part of your job, in which case the "free" is actually paid for by your salary;

(B) you have a contract as software vendor with the client that says that during X months after sale of software you will fix bugs for free, in which case the "free" is factored in the initial price the customer pays.

You were in position A when you delivered, so position B doesn't apply and you can no more be requested to fix bugs for free as a software vendor after the initial free support period has ended.

So the only normal course of action is to be like a vendor in position B after the "free support" has ended and offer to either (1) do a one-time job fixing the bug, or (2) offer a service contract for keeping the software up to date.

In this position the usual caveats mentioned in other answers apply -- making sure your current employer is OK with that, and being very specific about what you are being paid for.

Typical failures in this case are for a one-time fixed price subscribing to keeping fixing bugs eternally or agreeing to fix bugs which are not actually yours (ie keeping your code up to date with changes in other programs or requirements).

1

In addition to the excellent advice already provided by others, I would urge you to bear the following in mind:

  1. Software, like anything else built by man, requires maintenance, and hence, if they want to rely on it, they must plan and budget for maintenance, regardless of who will be performing it.
  2. The difference in cost between a proof of concept written by an intern and maintainable, production quality software written to perform roughly the same task can be anywhere between 1% and 99%, and is usually much closer to the latter.

Thinking about maintenance as ''just this one more little thing'' doesn't make the cost go away, it just keeps them from planning and budgeting for it.

You might need to make this clear to them before accepting any further work. Don't phrase it like that, of course; that would be pedantic. But don't enter into any negotiations in which their position is based on ignoring or misunderstanding this.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .