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 (31)

  1. Anonymous says:

    I just hope they’re being paid well for sacrificing themselves on the company alter.   😉

    Sure, crunch time happens, but for months on end? They must really love their jobs, the poor bastards.

  2. Anonymous says:

    I’ve said it before and I’ll likely say it again: For protocols for communication (incl. e.g. data file formats) specifications must be available, and competition should be on Quality Of Implementation. Any entity failing under those conditions deserves it, for not being able to create even "good enough" implementations.

    What I find deeply disturbing about this, is that the documentation wasn’t already available, and that it even required this "heoric effort".

    Should I have been in the unfortunate position to be more-or-less forced by my company to work around the clock to provide documentation for something the company itself should have had readily available since a decade and more, I’d be mighty pissed off at that company.

    The fact Microsoft only does this when facing multi-billion dollars in fines is a sad display of the kind of mentality that must have prevailed for over a decade – implement communication protocols without proper specifications. Who the heck even comes to think of the idea? It’s enough to make a grown man scared.

    That said, it will be interesting to see the completed (?) documentation. It’s good that it’s finally (allegedly) happening, even if it is a crying shame it has taken 1.5 decade+.

  3. 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.

  4. Anonymous says:

    I’m living in Germany and therfore in the EU and I am quite pi**ed how Microsoft is treated by the EU lately. Punishment for what happened with Internet Explorer might be okay, but I don’t understand why Microsoft should be forced to hand out these specifications??

    I mean would Apple be forced to hand out specifications of their ITunes-store? Or are they punished for bundling Safari, Itunes, Iphoto and all the other stuff with Mac OS??

    I hope that this lust for power of some EU-representants somehow dies and you can continue to work on Vista.

    I wished Microsoft was able to bundle more stuff (only stuff with value) with Windows (if it can be switched off and left from installation by the CUSTOMER and not by the filthy OEM who rips me off by putting Google Desktop search- and Norton-spyware/trialware on my new PC).

    Hopefully not too many good features are lost now!

  5. Anonymous says:

    What I forgot to say: Keep up the good work!

  6. Garry Trinder says:

    This is purely my personal opinion do don’t read anything into it other than that, but how come Microsoft is automatically assumed to be the guilty person and the bad guy? Does anyone know how reasonable the documentation requirement was in the first place?

    Based on my own experience with my previous employer, you can ask for the moon as far as documentation goes. There is no end to it if you keep asking for more and more details. You can always read some documentation for some code and then claim you need something more. What if the documentation demand is to describe each line of code in English? Is that reasonable or sensible? Is that feasible for large bodies of source code?

    If you have been involved in any real software engineering project then you will know that not everything can and will be documented. For some things you will ultimately need to look at the source code. You need to strike a balance and document the important things and not just everything under the sun.

    And why should there be a requirement to make protocols and file format specifications available? If some company decides to do that then that’s upto them but they shouldn’t be forced to. Let’s say some company comes with an innovative protocol to do something new that no one else has done before, then they should just hand it over? What about the time and money they spent in coming up with their idea and cool protocol that allows them to what they do?

  7. nksingh says:

    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!

  8. 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).

  9. PatriotB says:

    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.

  10. Anonymous says:

    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."



    Interesting? Will we be wondering in a few years times if things were better before the EU stepped in.

  11. Anonymous says:

    Convicted child molesters are going to be hassled by the police for the rest of their lives.  If anything happens to a kid in their neighborhood, the natural assumption will be that they did it.  You know what?  I don’t really have a problem with that.  Don’t become a child molester, and this lifetime of suspicion won’t fall on you.

    s/child molester/monopolist/

  12. Anonymous says:

    What’s the Paddington connection? Did I miss something?

  13. Anonymous says:

    Of course, steveg, you realize your analogy isn’t very flattering to BillG. 😀

  14. Anonymous says:

    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?

  15. 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:

    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:

  16. Anonymous says:

    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…

  17. Anonymous says:

    I think it’s a great example of the motivation you can get by applying stupidly high levels of pressure to employees. I assume Microsoft has some process for identifying that tiny fraction of people who can produce effective intellectual work for more than a few hours a day, a few days a week? Or is this just another example of the "stupid" I noted above, where people work really really hard, really really dumb, rather than taking sensible breaks to revitalise themselves?

    I admit that there may be people who can be productive and effective 16/7 for long periods, it’s just that I’ve never met one and I’ve only read second hand reports of them.

  18. Anonymous says:

    Larry, sorry if it looked like I was going into the political side of the EU/MS mess. I only mentioned that as it _is_ the catalyst of the potentially good thing to come – the actual documentation. The remainder was really just blowing of steam (sorry about that), but Azrael did notice the meat I inteded with my post.

    The reason I think this documentation is needed – and if the only way to get it is to force MS to produce it by fining the company billions of dollars, then by $DIETY that’s the way it has to be, and it’s then by MS’s choice – is that MS with its virtual monopoly (or oligopoly) is in the unfortunate situation it simply must do this.

    But let’s take a step back and look at the bigger picture. ALL other communication protocols with mass-acceptance are 100% specified. IP? Check. TCP, UDP, ICMP, IGMP, …? Check. NFS? Check. SMTP, UUCP, POP3, IMAP, HTTP, IRC, …? I simply can’t come to think of _any_ major communications protocol not publically specified, except for the obvious: SMB and all the RPC interfaces required to properly use it/them (without crashing the MS servers – but that’s another discussion).

    This complete lack of correct specifications has hurt Microsoft, but more importantly it has hurt users in the millions. One can say a lot of things about "Microsoft opening up with CIFS" in 1997 or whenever it was, but I believe "running like a bat out of hell out of there" nicely sums up my observation after dumping the incomplete "documentation" on the MS FTP servers.

    Heck, Larry, you yourself had a post not too long ago how this hurts MS in that NAS-servers had an "issue" due to SAMBA not having access to correct documentation, why Longhorn might have to do some messy stuff to get that "fast"/"batch path" of FindNextFile (IIRC). If such an obvious display is not enough proof of how this hurts even Microsoft itself, and again not to mention millions of customers…

  19. Anonymous says:

    "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.

  20. Michael, I spent 3 years being 3 months away from shipping NT 3.1.  I really do know how that feels, and it SUCKS.

    Mike, I know from hard experience that you CAN’T write an interoperable POP3 server by following the POP3 RFC (most clients don’t bother to follow the specification).  The same is true for SMTP (for example, as far as I know, the MX resolution logic isn’t correctly documented anywhere, except for the code that originally implemented it).  The Exchange 5.5 IMAP server had at least a half a dozen tweaks to work around interoperability problems in various clients caused by subtle inconsistancies in the protocol specification.

    Even after 8 years of trying, there’s no standards track NNTP specification (usenet).  The only specification is RFC977, and that is horribly out of date.

    So yes, there are many INTERNET protocols that are standardized.  But there are many others that either are not, or have significant interoperability issues.

    That’s the last I’ll say on the subject.

  21. Anonymous says:

    Larry, I appreciate you want to try to stay out of it. Still, those were just some minor examples, and the crescendo was with SMB, and you yourself noting a few entries back that "Uhhh, dudes, we’ve got an SMB problem".

    That you use other protocols to display "See, see, these too are not 100% specified!" only displays your deperation in finding something else to blame to draw away the interest from the issue at hand. I believe Freud explained it better than I can do – but I leave that to the interested to find.

    Again, I can appreciate if you are even completely uninterested in the other protocols, but that should in this context obviously be seen as, at most, sidenotes in this context. Even if not, at least they tried!

    If you’re opposing even commenting on SMB (+ added RPC interfaces) when you yourself noted the *CURRENT* problems for Longhorn a few posts ago – problems manufactured by MS not having produced correct and available documentation – just say so. But please, don’t give me none of that bullshit that this would be an EU-political issue. This is all a technical issue, in Microsofts own hands, and the problem with SMB Vista/LH interoperability with "cheap" SAN-"server" was just one (of many to come?) "What goes around, comes around".

    I can’t say for certain that "Had MS documented the protocols involved, they wouldn’t be eating their own feces now", but "confidence is high" to borrow from Wargames.

  22. Anonymous says:

    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?


  23. Anonymous says:

    It’s a cool thing that it’s finished! Now, where can we get a copy?

  24. Anonymous says:

    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.

  25. Anonymous says:

    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.

  26. Mike Dimmick says:

    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.

  27. macbirdie says:

    EU simply wants to delay Vista. 😉

  28. Anonymous says:

    "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


    (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…

  29. Anonymous says:

    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.

  30. Anonymous says:

    > "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.

Skip to main content