You can do the same without being overly aggressive. By "forcing" them to make a donation you are creating unnecessary conflict with your clients. But if you calculate your cost and place the "donation" in the cost structure of your service.
You can say something like, "for each service provided X% will be donated to open source". Now the client will see that you care for "Open Source" (that's a value that he can agree with you) and "you" are paying for it with less profits. You are paying for it, not them.
It is just psychology, but selling the product in that light can make people deciding between you and another developer easier because you care for Open Source even if you are more expensive. They are many companies doing that and it works.
Ej. Tom Shoes, B1G1, Warby Parker, etc.
Even though we care for open source, nobody "has" to care for Open Source, they don't have a moral obligation to care. Also (I want to thread lightly here) you can seem arrogant to your clients and that you don't care about them because you are asking for something more than the cost of your services.
Good Luck with your experiment, I hope everything goes well.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.