Concept: This sentence is an unreal conditional, so the verb in the "if" clause must be the past subjunctive "were".
Explanation: The phrase "he would do it for free" shows a hypothetical result, not a real fact.
When we describe an imaginary or unlikely situation after "if", we use the second conditional pattern: "If + past subjunctive, ... would + base verb".
The past subjunctive of "be" is "were" for every subject, including "he".
Option A ("is") is simple present, which would make the sentence a real conditional, but "would" in the main clause signals unreality.
Option B ("was") is simple past and is often used in everyday speech, but in formal English and in many exams, "were" is required for hypothetical conditions.
Option D ("will be") is future tense, and "will" is not used in the "if" clause of this conditional structure.
Therefore, the correct choice is "were".
Answer: C. were