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

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube