You are absolutely right, that is not a .NET specific issue, it was just very little time between these big libraries going commercial. I think that there is a deeper issue here. Maintaining an open source project is hard work and is rarely compensated, I can even understand the motivation of the mantainers that decided to put their projects under a commercial license.
Businesses and developers profit from foss software, but the chances that anything, be it money or support via contributions, is given back are low. I don't think that it is desirable to go closed source to solve that issue, but I also don't have a good solution at hand.