Paddington Thoughts

The other day, I mentioned I got sucked off on a high priority project shortly after I returned from my vacation.  I was asked to help out with the EU protocol documentation effort, working on a couple of the documents (based on some stuff I did back when I worked in the Lan Manager group).

I'm pretty darned proud of the work that the people on the documentation team have done - the specifications that were produced are really quite impressive.

 

But what most impressed me the most was the amount of work that the people working on this project have spent on it - I just got roped in to help with the final push, but some of those people have been working 16 hours a day, 7 days a week for months and months on this stuff. 

The level of dedication to this project that I saw was as much or more than I've seen on ANY other Microsoft project.  These guys figuratively worked their fingers to the bone typing up documents - countless late hours spread across the entire team.

In particular, the work of Henry Sanders, Iain McDonald, and several others was absolutely heroic.  Henry personally reviewed and provided technical feedback on every single specification that was submitted to the EU.  For the specification I wrote, there's no way that it couldn't have been completed without Henry's insightful comments and the invaluable help of David Kruse (he's the guy who's currently responsible for networking code I wrote back when I was on the NT networking group), and of course Veronica Skeels who made all the words I wrote look professional.

I'm not going to say one word about the politics of the EU documentation work, I just want to recognize the truly remarkable work and the heroic effort that was done on the project.

Comments

  • Anonymous
    July 25, 2006
    The comment has been removed
  • Anonymous
    July 25, 2006
    The comment has been removed
  • Anonymous
    July 25, 2006
    Mike, I did say that I'm not going there.  I'm quite serious.

    There have been other statements made by Microsoft about the EU protocol documentation process, and I'll defer to those comments.

  • Anonymous
    July 25, 2006
    The comment has been removed
  • Anonymous
    July 25, 2006
    What I forgot to say: Keep up the good work!
  • Anonymous
    July 25, 2006
    The comment has been removed
  • Anonymous
    July 25, 2006
    You don't want to talk about the politics of the documentation effort, but would you be willing to talk a bit about the technicalities?  
    Some questions I am interested in:
    -What is the relationship of DOS LanMan to SMB/CIFS?
    -What is the general structure of the protocol? I've heard it's RPC-based, but is it the same RPC that's used in COM?  

    Thanks for the great blog!
  • Anonymous
    July 25, 2006
    nksing, DOS LanMan was my baby (me and two other deveopers, but I did most of the network client).  DOS LanMan was a CIFS client, nothing more, nothing less.

    If you look at the CIFS protocol, you can get a feel for how the protocol worked (search for leach naik and cifs).

    There was also a protocol known as CIFS-RAP, for Remote Administration Protocol, parts of that are also on the web (search for leach and naik and cifsrap).
  • Anonymous
    July 25, 2006
    Now if only the same amount of quality had been put into the DOJ settlement's API documentation (primarily shell APIs used by IE).  That documentation is sparse, incomplete, misleading, and in some cases downright false.

    I know you had nothing to do with that Larry, sorry to pollute your comments.

    Regarding the word "heroic"... It's nice to recognize people who contribute extra effort during a time of need.  But I never like the word heroic because that implies that something was in need of rescuing... which isn't a good thing.
  • Anonymous
    July 25, 2006
    I can't help comparing this to the WMD documentation. Iraq produces tonne of documentation and then say, "See, there it is, just like you asked". Then TheBigStickOwner says "Gee, sorry, we don't believe you, doesn't matter how much you say it's complete, we will never believe you because you've been a very naughty boy in the past, and frankly we've been looking forward to an excuse to kick the stuffing out of you."

    s/Iraq/Microsoft/
    s/TheBigStickOwner/EU/

    Interesting? Will we be wondering in a few years times if things were better before the EU stepped in.
  • Anonymous
    July 26, 2006
    The comment has been removed
  • Anonymous
    July 26, 2006
    What's the Paddington connection? Did I miss something?
  • Anonymous
    July 26, 2006
    Of course, steveg, you realize your analogy isn't very flattering to BillG. :D
  • Anonymous
    July 26, 2006
    Ignoring the political comments by Mike, he has a valid point: on purely organizational/structural/whatever grounds, wasn't this documentation already existant? Or was this work only to re-arrange it to a certain documentation-model requirement?

    I find hard to believe the possibility that MS (or any other sw company with their size) didn't have ready made documentation about all that. Perhaps it was only poorly written/organized?

  • Anonymous
    July 26, 2006
    Gabe, Paddington was the final milestone of the EU protocol documentation effort.  There have been a number of articles mentioning it, a search for "Microsoft Paddington" shows:
    http://news.zdnet.com/2100-3513_22-6091994.html

    for example.

    Azrael, of course the documents existed.  But often times the engineering documents that are sufficient for a development team aren't always sufficient for a 3rd party.  As a simple, example that I ran into today on Digg, consider the "mork" file format used for mozilla bookmarks.  Here's the documentation: http://www.mozilla.org/mailnews/arch/mork/primer.txt
  • Anonymous
    July 26, 2006
    Dan Glick: I quite like Bill G, has done a lot of good with his dough; let's equate him with the Iraqi Information minister instead. Now, I guess that leaves whispering Ballmer...

    http://www.welovetheiraqiinformationminister.com/
    http://en.wikipedia.org/wiki/Steve_Ballmer
  • Anonymous
    July 26, 2006
    The comment has been removed
  • Anonymous
    July 26, 2006
    The comment has been removed
  • Anonymous
    July 26, 2006
    "some of those people have been working 16 hours a day, 7 days a week for months and months on this stuff."

    That is a really, really bad idea. It reminds me too much of when I worked at Adobe and we would be in the "death march" for nearly a YEAR before an Acrobat release.

    Nobody could ever pay me enough to go back to that again.
  • Anonymous
    July 26, 2006
    The comment has been removed
  • Anonymous
    July 26, 2006
    The comment has been removed
  • Anonymous
    July 27, 2006
    Hi Larry,

    will these documents be avaliable for mere mortals like me or is this going to be stuff that only big companies or MS competitors will get if they pay enough? Will it be something that is going to be available for download in the near future?

    --
    Stefan
  • Anonymous
    July 28, 2006
    It's a cool thing that it's finished! Now, where can we get a copy?
  • Anonymous
    July 30, 2006
    Let me start with a nugget I found in the Linux cookies data file...

    Arnold's law of documentation:

    - Where it should exist, it doesnt
    - when it exists, it is out of date.
    - only documentation for trivial or unused programs transends the above two laws.

    Now, of course it is not as bad as the 3rd law, because there might be exceptions to it.

    My point was - sure, documentation for these existed at some point. However, documentation did not keep up with all the bugfixes, feature requests and all other stuff that causes implementation to change. And nobody had the clairvoyance to know that 10 years down the road, somebody with a bigstick would be asking to see the documentation.

    So, gentlemen, yes, sometimes specifications dont exist. Or even if they do, they are horribly out of date. Of course there are exceptions like TCP/IP etc, but I daresay MS is not the only (or last) company that has a gulf between design and implementation.
  • Anonymous
    July 31, 2006
    Monday, July 31, 2006 3:02 AM by Feroze

    > Arnold's law of documentation:

    Sure, but the code is the documentation.  In Linux that part of the documentation gets released.
  • Anonymous
    August 01, 2006
    Stefan: No, these protocol documents will not be available to 'mere mortals.' You'll have to license the protocols from Microsoft, which presumably will require a royalty payment and an agreement that the details of the protocol are not disclosed to third parties (after all, if a licensee were to disclose the protocol to a third-party, Microsoft could not then license to that third party and could not obtain a royalty payment). This is of course incompatible with Microsoft's competitors' business models, which are to exploit Open Source to avoid having to do the work in-house - the Open Source licences would require that the protocol was disclosed in source form, specifically disallowed by Microsoft's licence terms. It's an impasse.

    The European Commission has been demanding that Microsoft make the licence terms more favourable to Open Source use, but Microsoft cannot do so without completely forgoing the revenue stream. However, the Commission cannot mandate that Microsoft make the protocols freely available because that would effectively be theft, and would not stand up in the Court of First Instance (well, I suppose you never know what a judge will say, but I think it's highly unlikely).

    Microsoft's competitors have so far generally refused to do either of the things generally accepted when you want to be compatible with an implementation of something: licensed the specifications from the original designer, or reverse-engineered the specification. It's what many groups at Microsoft have had to do in the past: the original Windows NT NetWare client, where Novell refused to write one; WordPerfect document import and export in Word, Lotus Notes connectors for Exchange, I'm sure there are many other examples. With reverse-engineering, you run the risk that you've made a mistake or that you're being compatible with a bug and when the bug is fixed your code will no longer work.

    Windows client operating systems have always been extensible. If a competitor wants to use their own directory services scheme or network file sharing semantics, they've always been able to add these capabilities to Windows.

    As for the idea that source code is documentation - it's in far too great detail, and it only gives you what the code currently does do, not what it was intended to do. In some cases differences between code and specification are corrected by modifying the spec, but generally it's considered to be a bug in the code. Good documentation gives you a proper overview of what's meant to be happening.

    Other Mike: even if the specification had been available, the bug may well still have occurred. My understanding of it is that in response to the initial 'fast directory search' request, the buggy server responded with the first set of results and a success code, but when the client asked for the next block, it then erroneously reported that the command was not supported. That cannot be a misinterpretation of what's going on. It's a bug.
  • Anonymous
    August 01, 2006
    EU simply wants to delay Vista. ;)
  • Anonymous
    August 02, 2006
    "16 hours a day, 7 days a week".  

    This is a death march, and I feel sorry for two groups of  people
    (a) those on the death marcher
    and
    (b) the poor people who'll have to try and read documents written by tired people working day after day.

    I'm not anti-Microsoft, I make a living working with Microsoft products like Excel, VB and SQL Server, but a death march to meet a deadline is not the right way...
  • Anonymous
    August 02, 2006
    Mike Dimmick said:
    > ... the Commission cannot mandate that Microsoft make the
    > protocols freely available because that would effectively
    > be theft ...

    When a court imposes a fine, is that a "theft" of the criminal's money?  When you're convicted of a crime, you should expect to be punished.  Having your life, liberty, or property taken away by force are the usual punishments.
  • Anonymous
    August 04, 2006
    funny ringtones
  • Anonymous
    August 09, 2006
    > "16 hours a day, 7 days a week"

    Politics aside, and as a very small MSFT shareholder, I find it difficult to believe that the company could not spend the money for a few additional staff to reduce this from a deathmarch to, say, a really tough mountain training mission.