Once upon a time businesses actually rendered products and services based on the wants and needs of the consumer. In other words, most markets were consumer driven. Then along came the tech industry whose entrepreneurship decided that Silicon Valley was going to flip the playbook by producing goods and services THEY want customers to buy rather than what the customers themselves actually want to buy. So, the markets became commodity driven rather than consumer driven.
The reason I mention that useless drivel is that because at some point Microsoft decided they needed to develop C# in order to compete with Java if they were going to be the ones driving the market for tablets and mobile rather than Sun Microsystem or Oracle. That is the entire reason for C#'s existence is to allow MS to drive the consumer market rather than another company or even consumers themselves to drive the market. So, why doesn't Microsoft make Visual Basic 6/NET open source or just outright sell it? Simple! Visual Basic blows C# away at desktop development - especially database applications. This makes Visual Basic a H-U-G-E financial threat to C# and Microsoft because if other businesses and enterprises stick with the common sense and reliable desktop model and its applications, this throws a wrench in Microsoft's desire to conquer and drive the tablet/mobile/enterprise markets. Microsoft has been systematically trying to kill desktop environments while pushing mobile environments.
You might have noticed over the years that some C# fans continually deride Visual Basic. Ignore these people. The fact is, any tool can be subjectively better or not ONLY with regard to any particular application where it might be used, as well as by whom it might be used. C# is a better choice for many is some situations. Visual Basic is better for some is other situations. But neither can ever be better than the other, overall. It just so happens that Visual Basic is the best tool for me is most of my projects. Others require I use Assembly, C++, Pascal, or a mixture. There are also those who are hung up on Visual Basic allegedly leading to bad programming practices. This too, is beyond nonsense. Visual Basic ALLOWS you to write either bad, sloppy code or amazingly effiecient and strong code. Visual Basic "leads" to nothing. It is the programmers themselves who produce good or bad code - not the language. And I promise you, I have seen equally as much or more HORRIBLE code written in C#, JavaScript, C++, and Python as I have seen written in Visual Basic.
...it[sic] not clear why you would not switch to C#... ~ Bruce (SqlWork.com)
This nonsense of asking people why they don't switch to C# or trying to convince them they should change over needs to stop. The ONLY justifiable reasons to switch to C# if you still prefer VB is due to job market demands or if your current employer requires it - that's it. But if you're not looking for a new job or if C# doesn't meet your current needs over VB and you don't feel it worth the annoyance to learn a new language, there is absolutely no reason to switch other than to make C# users feel better about themselves, and their feelings just really aren't that valid.
Again, Microsoft will never open source (not completely, anyway), never sell, nor update Visual Basic because of one simple reason - it is a threat to their goals of dominating and driving the consumer market for tablets, mobile, and enterprise systems.