Microspeak elaborated: Isn’t escrow just a release candidate by another name?
The article explains that the term "escrow" in software development is essentially the same as a "release candidate," but functions as a psychological trick to influence team behavior and mindset.
Background
- Raymond Chen writes "The Old New Thing" (Microsoft's long-running developer blog), known for explaining Windows internals and corporate jargon ("Microspeak") with wry, insider perspective.
- In Microsoft's software development process, a "release candidate" (RC) is a build that could ship as-is if no major bugs are found. An "escrow" build is one that is frozen and put into final testing—if it passes, it ships; if not, a new escrow is created with fixes.
- Chen's point: escrow and RC are technically the same thing, but the term "escrow" (borrowed from legal/finance, where a third party holds something until conditions are met) psychologically makes developers more reluctant to slip last-minute changes in, because the build is already "locked away" for final validation. The label matters for engineering culture, not just process.
The article discusses why developers should understand the reasoning behind a software rule before attempting to work around it, emphasizing that knowing the rule's purpose can lead to better solutions or reveal hidden risks.
A developer found that a DLL was no longer in memory even though it hadn't been formally unloaded, tracing the issue to Windows' DLL load ordering. When a DLL is loaded at a base address that conflicts with another DLL loaded earlier, the system may relocate it and then later discard the relocated version without clear notification, confusing developers expecting explicit unload.