September 15, 2008 3:25 PM PDT

Google Chrome's open-source ally: Microsoft

by Stephen Shankland
  • Font size
  • Print
  • 16 comments

Correction 8:40 a.m. PDT Sept. 19: Google didn't disassemble Vista to employ the security feature described below. See this separate blog post for details.

During Google's launch of its Chrome Web browser, the company went out of its way to acknowledge the debt it owes two open-source projects, Firefox and WebKit. But Microsoft, an uncommon ally in the open-source realm, might also deserve a tip of the hat.

After some digging through the Chrome source code, Scott Hanselman, a senior programming manager for Microsoft, found that the browser uses an open-source Microsoft project called the Windows Template Library, software for building a Windows user interface. (It uses an abstraction layer so other interface software can be employed on other operating systems.)

Microsoft's WTL project

Microsoft's WTL project is available on SourceForge.net, a repository of open-source projects.

(Credit: SourceForge.net)

On its open-source Chromium site, Google lists WTL 8.0 as included third-party software.

Microsoft, while keeping its crown jewels proprietary, has been lurking around the fringes of the open-source realm for years now. Open-source software may be moved freely from one project to another; though license particulars sometimes erect barriers, both Chrome and WTL use relatively liberal licenses.

There's a bit more intrigue with some other Microsoft technology, though. For security technology called Data Execution Prevention, which can help block various forms of attacks, Google also apparently used an undocumented interface from Microsoft to get the feature working in Windows XP SP2.

Microsoft's Arun Kishan said the interface is "undocumented and unsupported" and "initially only intended for our own use" on a Microsoft forum posting. Using such APIs (application programming interfaces) can get software into trouble, because operating system companies offer no guarantees future software will support them, so upgrades can break compatibility.

And in describing how to use the security feature, Google said people could disassemble the Windows Vista's underlying source code--in other words, extract the operating system's low-level instructions from the Vista binary. Disassembly is one form of reverse-engineering.

Google spotlighted the technology in a comment in the Chrome source code: "Completely undocumented from Microsoft. You can find this information by disassembling Vista's SP1 kernel32.dll with your favorite disassembler."

The software takes the high road if possible, according to another comment: "Try documented ways first. Only available on Vista SP1 and Windows 2008."

Google didn't immediately comment on the move.

Matt Asay, a Mac user and an executive at open-source firm Alfresco, pines for a Mac version of Chrome, suggesting that leading off with Windows may have been a "strategic error" even if the Windows Template Library made it easier to get the Windows version out first. "It might make sense to aim for the mainstream (i.e., corporate IT, which would get the most benefit from an JavaScript-optimized Web browser), but the mainstream isn't in the habit of trying out the latest and greatest," Asay said.

Google's not dumb, though: there are plenty of programmers and early adopters using Windows, even if the cutting-edge crowd might be proportionally larger with Mac OS X or Linux. Besides, making headway in today's browser wars will take more than a few months and one beta version, and the Mac OS X and Linux versions of Chrome are under development.

(Via Redmond Developer News.)

Stephen Shankland writes about a wide range of technology and products, but has a particular focus on browsers and digital photography. He joined CNET News in 1998 and since then also has covered Google, Yahoo, servers, supercomputing, Linux and open-source software, and science. E-mail Stephen, or follow him on Twitter at http://www.twitter.com/stshank.
Recent posts from Business Tech
Long-awaited Bibble 5 raw photo editor arrives
Reinventing the MacBook Air
Unannounced HP 210 Netbook 'in stock'
Nokia hits Apple with latest patent complaint
Verizon sees rise of 'slate' computers in 2010
'Don't-be-evil' Google spurns no-evil software
Mozilla pushes back Firefox 3.6, 4.0 deadlines
Flexing the boundaries of flash memory
Add a Comment (Log in or register) (16 Comments)
  • prev
  • 1
  • next
by YankeePoodle September 15, 2008 4:37 PM PDT
Waiting for MacFanBots and LinuxSpamBots assualt...
Reply to this comment
by AppleSuxLeo September 15, 2008 5:28 PM PDT
Chrome ia a security nightmare and suffers from heap fragmentation and excessive CPU usage. Chrome AND FF3 both make my TV app stutter and hammer the CPU even after the page has loaded.
A"javascript test" is NOT the same as loading real web pages , as I find IE8 just as fast while using the CPU hardly at all. I was tipped off to this by a tech writer at CNN. Listen to how bad Chrome really is...
http://thisweekintech.com/sn161
Reply to this comment
by Tergon September 15, 2008 5:44 PM PDT
"And to get the technology working, Google said it disassembled the source code of Windows Vista--in other words, the company extracted the operating system's low-level instructions from the Vista binary. Disassembly is one form of reverse-engineering. "

Doesn't this mean that they broke vista's license and copyright (I'm pretty sure that it states that NO reverse engineering is allowed)
Reply to this comment
by benjwah September 15, 2008 10:21 PM PDT
Yeh, I was wondering about that too...
In any case, I've heard disassembling anything is a no-no from a license perspective.
by The_Decider September 16, 2008 9:03 AM PDT
No, they just dug out some undocumented API calls. You can't violate copyright by calling a function.
by Vegaman_Dan September 15, 2008 5:49 PM PDT
I was surprised to find that the very feature that makes each tab in Chrome less prone to taking down the entire browser by making it into its own stand alone process also results in eating up more memory than any other application including Photoshop and Premier when actively working with very large files. <p>
Sometimes an approach like Firefox or IE7 with separate tabs but the same core process can make it easier to work with. Not everyone has the memory needed to run Chrome as effectively as Firefox, Safari, and IE7 can. <p>
Your mileage may vary, of course.
Reply to this comment
by jonshf September 15, 2008 5:53 PM PDT
Why Windows first? IE is a big problem for Google. Javascript runs like a snail in IE and Javascript is what Google is depending on for advanced web apps.

Other operating systems are not a problem. They use Firefox, Safari and the like which run Javascript reasonably well (although not as fast as Chrome).

Take out IE or pressure Microsoft to deliver a better Javascript engine and Google's goal is accomplished. Microsoft's response may well be to make their Javascript even slower to hinder web apps from Google and the like. That's their style.
Reply to this comment
by AppleSuxLeo September 15, 2008 11:25 PM PDT
"Javascript runs like a snail in IE" ??? I am running IE8 Beta 2 and Google`s web-apps load quick as I can blink. And IE8 uses hardly any CPU cycles , while Chrome hammers the CPU and slows down my computer. IE8 actually does the same job with much less load on the CPU. Chrome has problems with "heap fragmentation"
http://thisweekintech.com/sn161
by jscott418 September 16, 2008 3:33 AM PDT
I will wait for now to pass judgement on Chrome. Still, my only reaction when it was released was "why another browser?". Many security people have been looking closely at it and do not have many nice things to say. I have been satisfied with Safari on Mac and Firefox on Windows and Linux. So I don't at this time see a real need for the Google Chrome browser.
Reply to this comment
by The_Decider September 16, 2008 9:04 AM PDT
Why another browser?

Google wants more data on you.
by dragonbite September 16, 2008 5:30 AM PDT
Of course they do Windows first, it is the bigger target.

They did make it open source, though, for Linux and Mac fans to try and rebuild it for their favortie platform and the best part is ... Google doesn't have to pany anybody to build it, but when somebody finally ports it they can take the code and add it to the base code and call Chrome cross-platform!
Reply to this comment
by David Gerard September 16, 2008 6:23 AM PDT
The trouble with porting Chrome is that they didn't write it as cross-platform - the code is riddled with blatant Windowsisms. This means *working* native Mac and Linux ports are further off than they should be.

Crossover has done an experimental self-contained port of the Windows version to Wine: http://www.codeweavers.com/services/ports/chromium/ - I tried the Linux version last night on Ubuntu 8.04 and it works very nicely. Fit and finish is still defective, but that'll come - Wine development cycles are every two weeks, after all.

Also, it works on Wine but not on Windows 2000 ;-)
Reply to this comment
by Penguinisto September 16, 2008 6:37 AM PDT
Even MSFT does the occasional decent thing...

As for the questions ab't reverse-engineering? On operating systems (especially proprietary ones), you pretty much have to every time you build and compile any app more complex than "hello world". If Windows programming relied only on published APIs, Microsoft would have died a very long time ago.

/P
Reply to this comment
by pauljweighell September 16, 2008 7:31 AM PDT
I am a corporate user of IE as its simpler to use what's already there than wasting time installing, testing and maintaining new browsers that quite frankly offer no bottom line advantage and have way less functionality re 3rd party MS orientated apps that we all use.

Having said that Firefox has been useful as it keeps IE honest but it does seem a bit daft to spilt the open source competition by adding Chrome as FireFox and Chrome are now chasing the same market and can only divide it further - bit of an open source own goal really...
Reply to this comment
by daftkey September 16, 2008 8:10 AM PDT
Orientated... tee hee.
(16 Comments)
  • prev
  • 1
  • next
advertisement

15 sites that went kaput in 2009

Web sites launch all the time, but they also shut their doors. We highlight 15 that bit the dust this year.

Top 10 news stories of the decade

Let the debate begin: Was the iPhone more important than iTunes? Was anything bigger than Google finding a great business model? CNET offers its list of the 10 most important stories of the '00s.

About Business Tech

Your destination for the latest news on enterprise-level information technology, from chip research and server design to software issues including programming, open source and patents.

Add this feed to your online news reader

Business Tech topics

advertisement
advertisement

Inside CNET News

Scroll Left Scroll Right