As the maintainer of Net-SNMP I've received a huge number of patches that would never have been given to us if Net-SNMP used a GPL license (though in this case, the code predates the GPL). Companies that have worked on the Net-SNMP code and have given back to it do so because they want to use their cool new feature they've developed for the code base in their proprietary software or hardware. IE, the Net-SNMP libraries and applications are the base upon which they build. It's important to them to contribute their patches to the base back to the core Net-SNMP repository so they can be assured future patches will not conflict with their feature (ie, because a patch isn't accepted that breaks the existing code base). Plus it gets their name in lights (ie, the COPYING file. Not many lumens, but still "lights").
I've been told many times that if Net-SNMP was GPLed code it would never be used. But since it's not, it's used in pretty much distributed by nearly ever OS vendor except Microsoft, and is used on a ton of embedded hardware. This would not have happened if it was a GPLed code base.
(ok, Microsoft still wouldn't be distributing it and linux* still would be; but all bets on Apple, Sun, etc, would be off)