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

  • Hands On: New VS Code Insiders Build Creates Web Page from Image in Seconds

    New Vision support with GitHub Copilot in the latest Visual Studio Code Insiders build takes a user-supplied mockup image and creates a web page from it in seconds, handling all the HTML and CSS.

  • Naive Bayes Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the naive Bayes regression technique, where the goal is to predict a single numeric value. Compared to other machine learning regression techniques, naive Bayes regression is usually less accurate, but is simple, easy to implement and customize, works on both large and small datasets, is highly interpretable, and doesn't require tuning any hyperparameters.

  • VS Code Copilot Previews New GPT-4o AI Code Completion Model

    The 4o upgrade includes additional training on more than 275,000 high-quality public repositories in over 30 popular programming languages, said Microsoft-owned GitHub, which created the original "AI pair programmer" years ago.

  • Microsoft's Rust Embrace Continues with Azure SDK Beta

    "Rust's strong type system and ownership model help prevent common programming errors such as null pointer dereferencing and buffer overflows, leading to more secure and stable code."

  • Xcode IDE from Microsoft Archrival Apple Gets Copilot AI

    Just after expanding the reach of its Copilot AI coding assistant to the open-source Eclipse IDE, Microsoft showcased how it's going even further, providing details about a preview version for the Xcode IDE from archrival Apple.

Subscribe on YouTube

Upcoming Training Events