In short, no.
Even if you are a casual hobby photographer, never give away your photographs. Not even if they promise “credit” or “exposure.” Why?
It cost you time and money to create that one photo. Why should anyone get it for free and redistribute it and make money off your image?
Look at it this way:
Most average hobbyist spend at least $300 for a basic dSLR kit, spend time learning how to use it, maybe even a class or two. Every time they pick up their camera, their skill increases. With me so far?
Let’s say a small NPO business contacts you and asks, “hey, I saw your picture and love it! Can we use it? We are a small nonprofit and we don’t have a budget for this. We’ll give you credit.”
Let me tell ya, most (not all, there are exceptions, of course) NPOs are raking it in. They get enough via grants and donations that they can pay their employees and maintain business expenses. Why shouldn’t a photo be considered one of these business expenses?
When they use your photo, they are getting advertisement and exposure for months or even years – and you’ll never see a dime of the money that brings in. As for credit/exposure – think about it. When was the last time you saw a picture on a business website and thought, “ooh, I gotta know who took that picture”?