Tuesday, June 10, 2008

LAB06 and LAB06_N

The following information was contributed by an anonymous source who visited the blog, and to whom I am very grateful. It gives a rare taste of the politics and process going on behind Longhorn towards the end of the project.

"Some acknowledge that LAB06 (shell, graphics and every other Windows client technology) was too big, considering the amount of Client change going on - given the quality guidelines in place at the time. By 'too big' I mean too many developers putting changes through that one LAB (every LAB did have a full copy of the Windows source - it's more a question about where a team would locate for purposes of early integration with similar changes, or conversely for isolation from others). Being unleashed in pursuit of numerous exciting 'big bets' all at the same time, the team created new features faster than they could be tested (rather, faster than they could be integration-tested together).

Once something made it into a top-level LAB, it was relatively committed for inclusion. Backing something out of a top-level lab (especially once the subbranches have FI'd [Forward-Integrated, ed.] it, and particularly once other stuff comes in on top of it) was quite painful. Having so many eggs in the LAB06 basket was a dangerous situation.

LAB06_N was the integration branch between MAIN and LAB06, the critical link where all the changes from MAIN met all the changes from LAB06. There was a stretch during which LAB06_N had a very tough time getting stable and performant[sic] - that was when talk started in earnest about a Reset being necessary. As the Server 2003 SP1 project was progressing very well (and included the maiden voyage of [Windows] x64 Client!), it emerged as a starting point - a stable and performant modern client."


Vistaglass said...

Do you have these builds? If yes, why don't you share it with others?