Obviously, anyone out there grammar patrolling values statements deserves a swift knock on the back of their heads. But it's worth diving into a stylistic element of English composition I bumped into.
Life is a struggle for virtue. I don't mean, this is all that life is, there's a lot of other parts to it. But almost every activity presents an opportunity to flex or demonstrate some virtue. Even checking your mail demonstrates a dash of prudence, a recognition of possible responsibilities, and an openness to the (perhaps rare) possibility of something unexpected (I have received perhaps three unexpected letters as an adult – none of which was a pure delight but all of which were remarkable).
And so, while obviously the descriptive element isn't quite right – you can simply stop struggling and decide to be a bad person – saying "Life ought to be a struggle for virtue" misses the mark in the other direction. Being a good person is lots of little skills you develop over time. The whole point is that the challenge diminishes even if the difficulty doesn't. We should always be setting our sights higher, but saying we ought to struggle is... like using a telescope as a microscope. I suppose they get the same job done, and even using the same mechanism, but it feels like the tool doesn't match the job.
So, I feel standard English usage requires the use of "is". Perhaps that truly is declarative, and "life" is normative, i.e. implicitly "a good life"? Can these ideas split inside a sentence?
At first I thought I'd perhaps write a couple hundred words about the meaning of this phrase. But I cannot. I can share my life, one driven in strange directions by simple ideas, but ultimately I don't wish to persuade too much. My life has not been so good that I believe others should duplicate it.