I recently blogged about my approach to open source software as a non-profit techie here: OpenProgress.
The short version is, I think there's a huge unique opportunity for mutually beneficial collaboration between non-profits and open source software communities if they play to each other strengths. Non-profits can bring more of their resources to bear on their software projects if they use open source software than if they go it alone or pay a vendor to do everything. It's also more sustainable for them in the long run. And on the flip-side, open source projects are already somewhat altruistic by nature and represent a new means of production and contribution to society that meshes well with the progressive social change agendas of many non-profits. CiviCRM is positioned right smack dab in the middle of this, and in fact I'm testing this model with the U.S. PIRG CiviCRM project. Click the link above to read more about what I'm doing.