On BHarry’s famous finalization email

Getting out talking to all these user’s groups in a lot of ways brought me back to the early days of .NET when everything we were doing was cutting edge and exciting.  In October of 2000, when .NET was still very new we were overwhelmed with feedback about the lack of deterministic finalization in the platform.  We knew there would be issues around deterministic finalization from the very first meetings we had about what would later become the CLR where we debated using a refcounting model (a la COM\VB) or a GC model (a la SmallTalk, Lisp, Java).  But even we were surprised by the quantity and quality of the debate around this topic.


Brian Harry, who at the time was the product unit manager for the CLR team took a personal interest in the topic.  He spent a ton of time talking to folks across the company and in the community to validate our position, consider options and formulate a plan.  The end result was a message to the DevelopMentor discussion alias which (at the time) was the happening place to talk about .NET. 


While the message clearly provided information and technical background\tradeoffs to the community I believe the more important, lasting effect of the message was to galvanize a new way Microsoft interacts with the developer community.  Brian was transparent, open and honest with our developer customers in a way that had not characterized Microsoft since the very early days of the company.  In lots of ways, Brian’s mail set the stage for the blogging explosion that took root easily at Microsoft a couple of years later.


So, in the interest of posterity, I have created a snap-shot of Brian’s message..


If you were around when Brian sent that original message I’d love to hear your perspective.  Did it help you understand the issue better?  Did it change the way you looked at Microsoft? 

Comments (12)

  1. So Brian,

    where do you think the DevelopMentor archives are about to go? 😉

  2. Daniel Read says:

    I remember that post very well, and it did indeed affect me. At the time, I was still resentful of many things coming (or not coming) from Microsoft at the time: in particular the long, silent period with no bug fixes or service packs for VB6, the marketing-oriented manipulations of the MCSD program, and the hype-then-abandon approach being taken with technologies like ActiveX Documents (isn’t that what they were called, those VB forms that ran inside of IE) and others. I was seriously considering a jump to the Java platform because I did not have confidence at the time that Microsoft could deliver on .NET.

    To be fair, there were positive things going on at that time as well. SQL Server 7 and 2000 and other successful major releases clearly demonstrated that Microsoft was getting its quality act together. COM+ was pretty damn cool. VB6 service packs were finally coming out. And this post about finalization was a clear signal to me that something positive was going on in the development tools area as well.

    And ultimately, of course, Microsoft did deliver on .NET in a big way.

    Daniel Read

  3. I remember this email. It’s interesting that the whole deterministic finalization discussion on the DOTNET list was started by Chris Sells:


    And the big "what if" question is: what if Chris hadn’t asked for DF at the time? I’m sure there were MS internal discussions about this as well, but I still think that without the enormous feedback from community that was generated by this email we could have ended up in a world where at least 1.0 would ship without explicit support for using/IDisposable.

  4. RichB says:

    I first posted to the DOTNET list in July 2000 and remember Brian’s post very well. Along with Vance Morrison’s DOTNET memory model post, Brian’s rates as one of the best and most informative posts ever.

  5. I remember Brian’s post well.

    I don’t think that single post changed the way I looked at Microsoft. Rather, I think that post was typical of the ethos of Microsoft’s overall presence on that list back then. It’s one that stands out in the memory because of the sheer depth (as does Vance Morrison’s post that RichB mentions), but I still tend to think of it as being just one part of the larger phenomenon that was the overall attitude of Microsoft people on that list.

    One of the very enjoyable aspects of the DM DOTNET list in its early days was the level of participation from Microsoft – I think it went way beyond that one post from Brian. And that comprehensive engagement certainly did have a positive impact on how I looked at Microsoft.

  6. Pavel — You are right about Chris’s post… He did have a lot to do with supring us to listen as did Jeff Richter… But it was not one or two people, it was the flood that really did it.

    Ian – you are right Ian, but what made MS participate so much was the example of senior leaders such as Brian…

  7. Simon Smith says:

    "Did it help you understand the issue better? Did it change the way you looked at Microsoft?"

    Good grief, yes to both! But the longer-term importance was your second question. I remember being blown away by the openess of the reply; some postings from Joe Long the same, and the attention people like Sara Williams gave the list was striking.

    It’s one of the nicer things to have happened over the last few years to see how it’s grown and changed my idea of Microsoft.

  8. Marco Russo says:

    I remember the whole thread very well.

    It was the first time that Microsoft changed a almost-finished product with a change that was very important. The lack of IDisposable pattern would have carried us a lot of different implementation of this pattern, with a dramatic impact on class libraries.

    Of course it was not an episode, th DM DOTNET list was a terrific support to really understand the platform before the must-have books (Jeffrey Richter and Don Box on top of that).

    Today we have blogs, newsgroups and public forum that are partecipated by someone of MS. Today I know very well where to send a message that will be seriously considered by someone who "owns the code". Of course it’s important we don’t abuse that (and often blogs and newsgoups have a bad signal-noise ratio).

  9. John Wood says:

    Ah, those were the days. It seemed so long ago too. Being in direct contact with the bigwigs at MS was tremendously useful back then, I remember participating in some great discussions – not just on deterministic finalization (and the discussions prior to the introduction of the ‘using’ keyword) – but other fundamental things like why typedefs were missing, the extensibility of primitive value types and stuff that I think just helped mold the CLR. It really did show that the .Net design process was indeed open to the public, and was the first time we got to be exposed to some of the greatest minds of Microsoft.

Skip to main content