Was communism moral?
To me, Communism is based on concept of "From each according to ability, to each according to needs!". Ultimate aim of the communism is to change the psychology of people so that they give voluntarily what they have to those in the need. That itself may not be such a bad idea as long as it is voluntary.
However, in the short term, Communism intends to force people to follow that principle.
There is a interesting principle in the Indian culture: "athithi devoh bhava!", which means a guest is like a God. Indian culture encourages everyone to treat guests nicely. If everybody treats guests nicely without asking anything in return immediately, in the long run it is an equal exchange of value. May not be very efficient but not terribly bad!
Thus, if everybody is asked (and actually does) to give whatever he/she has to whoever is in need, the overall effect may be not very different than Capitalism.
The problem occurs if some people take advantage of the situation by always taking. In the example of the Indian custom above, some people will visit others all the time without entertaining any guests themselves. Here, societal pressure, especially, shame plays an important role in ensuring that this happens rarely.
The same thing can also apply to Communism. If societal pressure can ensure that everybody makes a best effort to give others what they need then effectively it is same as Capitalism.