Communism as a system cannot ever be viable, because bureaucrats who are motivated by political incentives are incapable of properly distributing resources, goods, and services. Of course they *can* distribute rg&s—right into their own pockets and the pockets of their cronies. But setting aside corruption, and positing honest and earnest communist bureaucrats, there is no information mechanism for them to determine how many shoes, for example, will be needed to be manufactured for a particular city over the next month. They also cannot determine if maybe something other than shoes should be manufactured, or what mix of each product should be produced. So, what one sees in a communist system is overproduction of some things and underproduction of others. There is also no incentive to quickly change course with regard to production and distribution. If the citizens of one city emigrate to another, it may be some time before the crates of shoes sent to the first city is diverted to the second, because it is often easier to maintain the status quo than to respond to new circumstances.
Actors in a free market face the same problems as the communist bureaucrat, but there *is* an information mechanism for the free market: price. There is also a mechanism that incentivizes quick changes in policy: failure.