>.."distribute on the App Store, without an explicit exception".
That is a good idea, thank you. I'll add such an exception so libzdb can be used by any iOS/OSX open source app on the app store. I'm a big fan of Open Source Projects and happy if they can find some alternative income such as from the app store. Growl for instance seems to do good there which I'm glad to see.
Otherwise, my goal with using GPL is to preserve the concept of copyleft with the library. The GPL only applies if you plan to distribute libzdb to third parties. In that case, my hope and the reason I use GPL is that any modification done to libzdb can be contributed back so others can benefit. Otherwise, you can do whatever you want with libzdb without any restrictions.
If you're really concerned about people not contributing back their changes, I'd first consider whether it'd be due to their unwillingness or maybe a cumbersome process of doing that.
For instance, I can't find anything on the website that would explain how to submit a patch. There's a mailing list and it'd be great by 2002 standards. Hosting this on GitHub (or any other site with a forking workflow that's just as smooth) would probably solve your problem without having to resort to imposing legal restrictions. There still would be a few companies/people unwilling to help but only a considerable minority.
If that is your intent, why not place it under LGPL. That way changes to the library must be published but the program that uses it can remain closed-source? As you have it now, the library is unusable for any commercial application. I thought it was a great match for a project of mine, but there simply is no way to actually use it with that license.