Well, if you're at the point of "my contract doesn't explicitly say", the relationship is probably, although not certainly, beyond repair.
As to your questions:
- Should you provide the source code?
- Absolutely. In almost every case -- employee or contractor -- the code belongs to the company, not you.
- Should you comment it thoroughly?
- Yes, to the best of your ability. You owe your client, jerk or not, nothing less.
- Should you comment every single line?
- Point out that it'll cost time and money to do that, and if they still want it, yes, do that too. However, try to talk to your client in a non-adversarial way, and see if they'd be OK with a block of comments before every logical section.
There's not enough to tell why your relationship has gone so sour, but I can venture some guesses.
- You may have been in the middle of competing managers or alienated organizations. In this case, there's absolutely nothing to do, except learn how to read the client dynamics better for the future.
- Was your own attitude "you dummies need me" or "the customer is always right"? (The tone of your note reads like the former.) Remember you're there to provide a service. Nobody likes a PITA consultant.
- When they asked for changes, did you discuss it with them beforehand, or just start coding it up? Usually you have to consider who's asking for it, how will it affect the system, who will pay for it, etc. Otherwise you end up trying to dance to several tunes at once. This is also related to learning to read the client organization's dynamics.
In any case, it sounds like you should chalk this one up to experience. Try to leave a good relationship: contracting is a small world. You'll probably encounter these people again, so try not to piss them off on your way out.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.