Bugs vs. Mistakes
jeffmould: In my opinion a "bug" is when you complete the project based on the client's requirements/spec and a piece does not work as intended. On the other hand, a "mistake" is when you miss or do something not defined in the client's requirements/spec that causes the application/site to function contrary to the client's wishes.Based on these definitions, the charge for a "bug" is covered by the client, while a "mistake" would be absorbed by you.There is one disclaimer here, mistakes can results in bugs. If you were unaware of this issue at the onset then you are partly responsible for the bug in a sense. In this case you may choose to offset some of the cost for fixing the issue.The key to determining where "bugs" and "mistakes" fall is in having a clear requirement/spec document ahead of time. Each party should understand where their responsibility lies and who assumes the risk.