Our first .NET component back in Dec'2000 shipped with full source code, as have all our components since. I'd like to think that that set the agenda for the remainder of the component market, certainly many .NET components ship with source these days
and that wasn't the case in the COM market.
Why a developer might want source to components;
Source is the ultimate documentation for software behaviour.
Being able to step into the Source of components during debugging is just another debugging opportunity to track elusive behaviors.
Source provides control over the component, so if say an asteroid hits vegas and vapourizes us our customers will still be able to extend their controls and maintain them themselves as necessary.
I suspect the most important reason is that developers reputations are on the line with their customers. As a developer with the source to all components you use, you can not only verify the quality of the code, you can confidently assert that it contains
no nasty surprises.
From our point of view making all our source available is a risk, we are showing our competitors how we did some things that are unique to our components. But if they implement them they will have to find a different way to do that. All you need is time to
replicate a feature from a black box component - source actually makes it harder for our competitors to steal our ideas.