I spoke to Paul Yuknewicz who is a Program Manager on the Microsoft Visual Basic team and who is quite involved with everything related to VB6 and its migration process. Paul said and I quote: "VB6 runtime will be shipping and supported as a part of Windows 7, however there are no plans to ship it in future versions of Windows." Microsoft will surely release an official document stating this in the near future.What is my take on this latest Microsoft move in the VB6 saga? Well, I guess Microsoft had to react to the fact that VB6 is still widely popular and that a lot of businesses have delayed (procrastinated??) the decision to move to .NET.From that perspective I believe this is the right move for Microsoft.They want to minimize the impact of the end of life for Visual Basic 6.On the other hand, I have to wonder, why do people seem to not want to upgrade?Over the years I have formulated a number of hypotheses as explained below.

Migration is perceived as expensive: In the short term is certainly cheaper to do nothing than to migrate, however, if you have a valuable asset you want to make sure you can extend its life (and therefore ROI) as much as possible.Automatic migration is the best alternative to achieve it.

Migration is perceived as lacking value: I have often heard how by automatically migrating an application at the end I get the same application and therefore I did not gain anything.This is also false.Once you upgraded the source code you have injected new life into it.Your application has suddenly extended its life expectancy and (again) its ROI.Maintenance and evolution of a .NET application is safer than of a VB6 app.

VB6 Applications are not evolving: Can this be true?It is possible that companies have VB6 applications that support a business function that is not evolving.If this is the case, leaving applications in VB6 is just fine and the fact that now Microsoft supports VB6 in Windows 7 gives a new breath to those applications.However, in my more than 15 years of experience in the IT industry I have yet to see an application that never changes!It is important to remember that the Visual Basic 6 Development environment is off main stream support by Microsoft.

Applications will be retired before VB6 stops working: This is a plausible for a number of applications.Companies sometimes choose a substitution strategy and just retire applications, or business processes stop being important and therefore the applications that support them are no longer necessary.These cases certainly happen, and a number of applications might be in this category but it cannot be the great majority of them!Additionally, companies sometimes believe that substituting an application for an equivalent one is cheaper than migrating them.Well, I dare them to review this assumption make sure they run a complete comparison.

It’s just procrastination: The famous “if it ain’t broken don’t fix it!” … do I have to comment on this??May this be the reason why VB6 is still around?

There’s just too much VB6: This is the argument Gartner used to make for COBOL: it would be too expensive to migrate all the COBOL.In fact, I have even heard this from an IBM executive who told me that at some point they were scared that all the mainframe code would migrate to Java (and therefore business rules would no longer be trapped in a mainframe) but then they run the math and just relaxed!Of course, there is no real automatic solution for COBOL!!!!For VB6 is a different story (ArtinSoft infomercial: http://www.artinsoft.com/pr_vbcompanion.aspx ).

What is your position?Am I missing a category of reasons why VB6 is still around?