It is not until this point in Act III that James shows himself to be a character we can actually like. He has shown himself to be sarcastic and resentful. We must, however, realize he has been cast aside since Helen's problems have become the main focus of the family. It is in this scene that James understands what Annie Sullivan is trying to accomplish with Helen, so I think his courage comes from this realization. He has been an observer of the chaos in the Keller home all his life, and I think he now knows that Annie can help Helen. He also may have matured to the point of understanding as well. He stands up to his father to keep him from going outside and firing Annie because he knows Helen will never get better unless the Kellers allow Annie to help her. In the back of his mind, he may be feeling that some kind of peace cannot come to the Keller home if Helen is never allowed to get better. I think his courage comes from his understanding of the situation he has observed for a long time, his maturity, and the fact that his father should no longer be allowed to rule the home without some kind of interference. After James does this, Captain Keller finally shows some respect for his son.