8
If you look at the licensing/pricing of commercial apps, I think you will be pleasantly surprised by what you find. The initial software costs are always a fraction of the actual startup costs. These used to be "baked in" to the selling price, but competition has forced them to make the sales price lower and add extra line items for installation, customization, configuration, support, and maintenance. These are the items that you can (and should) always charge for. Giving away the initial product is no big deal if you can make your money with the services you provide.
There might be a few organizations that will implement your product without paying for any services, but they probably have very limited needs (and no budget) anyway. Even those places may need to hire you in the future, and if they are using your code, you have a huge marketing advantage over other companies when they go looking for help. OTOH, if you decide to bail and not provide any more support or updates sometime in the future, the code you worked so hard to create is not wasted, but can be picked up by others if it's worthwhile for them to use it. That's the value proposition of open source software.
If the non-profits understand the value your code provides and the added value that you bring, I expect most all of them will want to hire you for the services you provide, knowing that their needs will figure prominantly in future upgrades and they will be benefiting other NPO's in addition to the value the receive. This seems like an especially easy sell to a non-profit, as they are less concerned about their expertise being re-used by their "competitors".
And as another benefit, if your code is open sourced, you will automatically get a lot of good will from experienced PHP/XOOPS coders who you might need help from in the future. It's always nicer to have friends than competitors, IMO.
Good luck with your project!
Dennis