At the very basic, the network does everything.
My point was that its the users who decide if they give or not. That is not the autonomous network doing it. Yes it physically does the transfer by smart contract or otherwise. Or do you mean that the network creates the conditions for the smart contract and decides the how when and why for the reward?
Anyhow smart contracts require processing and how much load is that going to cause when its done every time people run an APP. I still feel its best to keep it as simple as possible. The mechanism for rewarding the farmers will be built into the network and rewarding for other things would in my opinion use the mechanism but with different parameters. For example the rewards are determined proportionally and then the pool from purchases is divided amongst the rewards proportionally.
Another system suggested was a simple tipping system that users decide whenever they want to. Maybe a UI can be built that can be added to any APP to provide that functionally, or even an APP specifically for tipping and the APP calls the tipping APP with values if the user clicks on TipMe button.