One of the attributes that I like about open source, is that it gives anyone the chance to take a piece of software to work with it. By allowing this, it opens up the chance for people to create versions of the software that wouldn't exist otherwise, because the original developer doesn't have the resources or any other reason.
It also benefits users by allowing to make custom versions of the software they, since it maybe that the software doesn't work as well for them as it comes of the shell. Adding or subtracting capabilities could be as easy as adding modules, since in some cases there is no need to change the source code,or the source code could be modified to better comply to what it's needed by the end user. All this could be made in house, or by third parties if there is no way to do it any other way.
Those changes then could be shared back to the main version of the software, or shared with others with the same needs than the one who made those changes. By doing so, more users benefit from those changes, allowing them to have functionality than they couldn't before, and to perfect or add to it if they see a way to improve on it.
It gives users to make the software they work with, and even love, better and to share the improvements with others. Also, if some users don't agree with how the software is managed or where it's been taken, they can take the source code and fork it to take the software on the road they believe it should go.
In many ways, it stops being a black and white view on how software should work. Open source gives users the freedom to take whatever software better suits what they need or want, and work with it as they choose to do so. It allows to exchange ideas among a wider community, speeding the development while making it easier for more voices to be listened and to contribute to the project.
Open sources give a chance to a lot of people to be heard, people that otherwise wouldn't be able to make their voices heard because there isn't a way for them to speak up.What it seems to be a landscape of disparate and dislocated projects, is in reality a thriving collection of communities working on projects that can actually make a difference.
Supporting, and using, open source software is one of the best ways to make our world a better place.