News

Google's Chrome Browser Contains Microsoft Code

The newly released Google Chrome Web browser beta is a completely open source solution and a potential challenger to Microsoft's proprietary-code Internet Explorer browser, but Microsoft's Senior Program Manager Scott Hanselman found a little bit of irony in Google's browser as well.

Hanselman looked at Chrome's source code and made an interesting discovery: there's Microsoft code in it!

It turns out that Chrome uses Microsoft's Windows Template Library (WTL), which was released as open source code in May of 2004. Hanselman documented the finding in his blog post on Thursday.

Hanselman described the usefulness of the WTL, citing author Simon Steele, who wrote that the WTL can "produce small executables that do not require the MFC [Microsoft Foundation Classes] run time libraries...leading to really small programs, which run fast too."

Microsoft let the WTL pass into open source about four years ago. It apparently was one of the first such projects to go that route, according to Hanselman's account. Still, Microsoft execs back then were leery about "the business value" of open source software. The WTL's release was a rarity.

Hanselman provided further code analysis of Chrome. He noted that the Google team, in creating the Chrome browser, used an unsupported security technique with WTL as a workaround. They wanted to turn on Data Execution Prevention in Windows XP SP2 and Windows Server 2003 SP1. To do so, they may have done a little reverse engineering.

"Looks like The Chromium authors may have disassembled part of the Windows Kernel in order to achieve this security feature under Windows XP SP2," Hanselman wrote. While that was wrong, they did it in the interest of security, he added.

Google's Chrome browser uses open source code from a variety of sources. It's built on the open source WebKit browser engine that Apple uses in its Safari browser. Google also made use of Mozilla's open source Firefox browser, particularly with tabbing, it seems. Google's multiprocess architecture adds some additional security to isolate processes running in tabs from the rest of the browser, which helps avoid crashes.

Google's view in going open source with its browser is that anything that helps the Web helps Google. The company makes its billions out of search advertising, rather than applications. They also want people to contribute to the browser's development -- a community development approach that has greatly benefitted the Firefox browser.

Microsoft, by contrast, has made just a few baby steps in the direction of open source. Its most free license, the Microsoft Public License (MS-Pl), allows for code sharing. Otherwise, the company typically charges royalties for code use. In a major step in February, Microsoft opened up API code documentation for many of its core products to better enable interoperability with other vendors' software.

"Google gets it, and Microsoft doesn't," said one person commenting on open source software at Hanselman's blog. In reply, Hanselman suggested that Microsoft is taking a different direction now.

"Believe me, there are lots of people inside Microsoft who's [sic] knee-jerk reaction is to release code as Open Source," Hanselman wrote. "That's their *first* reaction, myself included. It's happening, give it time."

About the Author

Kurt Mackie is senior news producer for 1105 Media's Converge360 group.

comments powered by Disqus

Featured

  • Microsoft Revamps Fledgling AutoGen Framework for Agentic AI

    Only at v0.4, Microsoft's AutoGen framework for agentic AI -- the hottest new trend in AI development -- has already undergone a complete revamp, going to an asynchronous, event-driven architecture.

  • IDE Irony: Coding Errors Cause 'Critical' Vulnerability in Visual Studio

    In a larger-than-normal Patch Tuesday, Microsoft warned of a "critical" vulnerability in Visual Studio that should be fixed immediately if automatic patching isn't enabled, ironically caused by coding errors.

  • Building Blazor Applications

    A trio of Blazor experts will conduct a full-day workshop for devs to learn everything about the tech a a March developer conference in Las Vegas keynoted by Microsoft execs and featuring many Microsoft devs.

  • Gradient Boosting Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the gradient boosting regression technique, where the goal is to predict a single numeric value. Compared to existing library implementations of gradient boosting regression, a from-scratch implementation allows much easier customization and integration with other .NET systems.

  • Microsoft Execs to Tackle AI and Cloud in Dev Conference Keynotes

    AI unsurprisingly is all over keynotes that Microsoft execs will helm to kick off the Visual Studio Live! developer conference in Las Vegas, March 10-14, which the company described as "a must-attend event."

Subscribe on YouTube