|So I emailed Microsoft last Friday: Brad Abrams, Adam Denning, S. Somasegar, and of course, Jason Zander. Here's what I wrote:
To the decision makers of the .NET Platform,
You may be aware of the recent insistence of your customers to reverse the decision to brand WinFX as “.NET 3.0”. The decision was made, as stated by Microsoft, by popular demand, and to increase the perceived value of the .NET Framework.
What we have found is that despite the statement that we as customers asked for this change, in reality, such a request does not come close to representing the demand of your customers. In fact, it goes against our wishes as it complicates the way we do business with our customers. So, here is what your customers are really saying.
I have written an open letter to Jason Zander in the form of an online petition at www.petitiononline.com/winfx/petition.html, and it has gathered much attention amongst developers and the IT community.
Chris Maunder, co-founder and chief editor of The Code Project, writes in the headlines of the Code Project Weekly Newsletter:
“I, and many others, are baffled by the name change of WinFX to .NET 3.0. The .NET 3.0 Framework runs on the .NET 2.0 runtime and uses C# 2.0/VB 8.0. When Visual Studio 2007 ("Orcas") comes out we will have the .NET Framework 3.5 running C# 3.0 / VB 9.0 on the 2.0 version of the CLR. Got it? Got it.”
Though Jason has explained in the past that the C# language version number is separate from the CLR version number, it has never been necessary to learn, install and use two versions of the same software at the same time, and so this concern is a valid one, and it is the one most expressed by the nearly 900 signers of the petition thus far:
I totally agree. My customers are very confused.
WinFX is a Windows SDK component, not a .NET component, and its naming MUST be corrected to clarify this - the overly broad use of the .NET tag as a marketing device on marginally related server products has been backed out on current versions of the Microsoft product line; let's NOT go there again.
WinFX is the successor to Win32, not to .NET 2.0
WinFX cannot run without the .NET 2.0 Framework. Therefore, it should not be called .NET 3.0.
This change is critical to ISVs who communicate with their clients about the nature and content of Microsoft technology
Trying to explain to managers why a developer/tester needs to learn C# 2.0 in order to use .NET 3.0 is absolutely ridiculous! This will encourage the thousands of Unix bigots throughout Silicon Valley to just boycott both until Microsoft "gets their releases syncrhonized". This marketing blunder is akin to "Classic Coke". Methinks .NET 4.0 will end up being .NET 3.5 with some minor changes, but WITHOUT WinFX... Microsoft seems to always be too stubborn to get it right once, until it get's it wrong at least twice...
In a nutshell, the confusion will damage ROI (yours and ours) & give fodder to anti - .NET "promoters"
I agree entirely and some of us have to roll out and explain these changes to our end users, if *we* as developers find this confusing I can only imagine the hassles upcoming.
I don't necessarily have a solution, but we are having the hardest time keeping up with it all and are beginning to move from 1.1 to 2 and it is becomming very clear that the frameworks are incrementing way faster than we can keep up.
This will ultimately hurt .net adoption at the enterprise level. Senior IT decision makers will most likely get spooked by the (needless) revving of the framework between Vista and Orcas. If they're extensions to the library, publish them as such; name it 2.0 + WinFX or 2.1 to give it a good canonical name
Making technology easy-to-understand to "non-techies" is one of my most difficult jobs. Please help clarify this issue.
Stay with the API - The framework must be consistently and rationally versioned and not become some marketing platform.
WinFX is simply an API, not to be confused with future framework versions. Do this and we are setting ourselves up for "Framework Hell" similar to the "DLL Hell" that the .NET framework was supposed to remedy. No one will understand what and how anything works and what it represents, and it will discourage adoption.
It is to messy.
I'm already fielding questions from confused developers on CodeProject.com. Typical comment: 'I'm not going to move to .NET 2.0 now because .NET 3.0 is coming out soon, but we'll need to evaluate it first so I won't move for another year.' This decision could actually hinder adoption of the current released version, .NET Framework 2.0
Although we do appreciate an effort for simplicity, as Einstein would say, things shouldn't be made any more simple than they can be, and I don’t think that the people who suggested changing the name to .NET 3.0 thought much for Microsoft’s credibility. Many if not most of us feel that we are being lied to. It may be good marketing for the short term, but it is certainly not good PR – and right now, dear Microsoft, PR is more important.
The most popular solutions that your customers suggest are as follows:
1. Package .NET 2.0 and WinFX together as .NET 2.1: By not incrementing the major version number, you can restore proper order without jamming .NET’s semantics for every coming version, and avoid rendering the perception that .NET 2.0 is already obsolete. It will also make it unnecessary to deploy two installers.
2. Rename to .NET 2.5: It may be better than “.NET 2.1” in that it indicates a large advancement, while still building upon the success of the .NET framework and maturity of .NET 2.0 – maturity being very crucial for adoption, particularly in the enterprise market. The name .NET 3.0 casts doubt on the maturity of the .NET framework as a whole.
3. Revert to the name WinFX: Which is more in need of recognition as cutting edge software: Windows or .NET? The answer is obvious: Windows. Windows Vista is taking a lot of criticism right now due to the perception that there are no substantial technological advancements. WinFX is a name that counters this notion and communicates some of Windows’ most recent, unique and significant achievements. WinFX is by far the best collective name for WPF, WCF, WF and all of what used to be the Pillars of Longhorn. Windows should not be robbed of these titles.
The third solution is my preference as it builds on the Windows brand and prevents a very inappropriate merger, but any of the others would also be satisfactory. RC1 was released earlier this month and the product is, as indicated by Jason on his blog, still open for improvement based on feedback. We have seen plenty of times how agile Microsoft is in naming its software, and all things considered, it is not too late. Please consider. This is much more than a simple matter of naming.
I, with the rest of your customers, expect no less than a full response, best in the form of an action: reversal of the decision to entangle .NET and WinFX.