This is a project involving a lot of companies and teams. As a contractor working for company A, I finished my part, so I am not going to get more money from A. However, Bob from company B failed to produce desirable results on time and Bob asks for my help during weekends. This request is not made by Company B as the supervisor in Company B trusts Bob - they don't think Bob is doing anything wrong and project delay is due to other reasons.
I am not sure that he knows that I won't be getting paid for working on weekends.
If I refuse to help, Bob and company B won't appreciate me and the project will take longer to be finished, and delayed salary is possible for anyone.
If I agree to help, then I am basically sacrificing my precious time helping Bob to earn his salary, which sounds not very beneficial to me and not very ethical. Bob does not intend to report his delay to either Company B or Company A. Bob's supervisor trusts Bob and Bob is the only one in Company B who knows this part of the project.
What shall I do?
Update Jun 19: I reported the situation to Company A. Both Bob and his manager also indirectly asks Company A for my help. However, Company A say that they cannot afford to hire me for further works due to budget constraint.
I also told Bob that I won't be getting paid. Bob understands this; he still asks me for a favor; and he offers to introduce me to some other projects later as a favor back. When I asks him for the details on how he will do the favor back, he says he is too busy these two days and will let me know later.