上层建筑是推动还是阻碍社会的发展决定于
上层建筑对经济基础具有反作用,这种反作用表现在两个方面:当它为适应生产力发展要求的经济基础服务时,就成为推动社会发展的进步力量,反之,就会成为阻碍社会发展的消极力量。因此,正确答案是B。选项A,它所服务的经济基础的性质在各个时期是不同的,只要在当时的社会历史条件下,上层建筑能够和经济基础相适应就能促进社会的发展进步,因此.起决定作用的不是经济基础的性质。选项C,上层建筑水守的各个组成部分是否协调在一定程度上会影响社会的进步发展,但是经济基础具有决定作用。选项D,公有制不是在任何时代都是适应上层建筑的。