Actually the concept of taking power from the elite few, focusing on cooperation instead of competition, and providing the working class with the means of production are some of the basic tenants of Communism. Communism as stated by Marx was not supposed to be a society with a strict government controlling all actions of the people, it was meant to take power from the elite and give it to the people. This would lead to slightly less freedom for the individual but more for the masses (one would not have the freedom to be a billionair, but there wouldn't be people starving either). This isn't whats taught in schools, but its the truth, actually Communism as practiced by the USSR, China and Cuba is not much at all what true Communism was meant to be. Any true communist would embrace Open Source Software (OSS). OSS actually in a way proves that there is some truth to the arguements made by Marxists. That people can work together and create somthing wonderful without a single corporation head controlling everything. In schools, we are taught that Communism = an evil totalitarian government that opresses the people. This is not true, Marxism is just a different way of doing things. China embraces OSS because they do not want to be dependant on a single large corporation --which is just what Communism is (supposed to be at least) all about.
Disclaimer: I am not a Communist OR a Capitalist, I know that both ways have advantages and disadvantages, and believe there is room for middle ground.