Nice topic. First, people really needs to be more supportive, but, like you said, competition is a good thing.
But is possible to be mutually supportive and competitive, and this can be very positive. Several companies try to make employees/sectors compete among themselves, for a bigger gain. A healthy competition only make us better.
The fault is the ones that makes destructive criticism, but the developers, also, needs to have the capacity to filter the feedback and try to extract the best of it to improve themselves.
I generally try to make content (generally scripts) that anyone can use and even try do adapt some of my scripts to other peoples use. I suggest to more people do this, a good way to make the community grows.