The Artima Developer Community
Sponsored Link

Weblogs Forum
The Cathedral and the Pirate

13 replies on 1 page. Most recent reply: Apr 29, 2014 6:30 AM by Andy Doddington

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 13 replies on 1 page
Bruce Eckel

Posts: 875
Nickname: beckel
Registered: Jun, 2003

The Cathedral and the Pirate (View in Weblogs)
Posted: Jul 11, 2009 5:27 PM
Reply to this message Reply
The impact of the Google Chrome OS, told through (probably excessive) metaphor.

Windows is an enormous collection of design mistakes that work well enough to get by. Each mistake eventually turns into myth -- after awhile, no one understands the reasoning behind it so everyone begins to believe it was a carefully-considered decision that has deep technical roots and can't be modified for fear of the entire stack falling over. For years the mythology of Windows has grown and evolved into the cathedral described by Eric Raymond -- filled with rococo curlicues and other tributes to the forgotten gods of past technical decisions.

Along comes Google, the pirate. It uses a new kind of ship, swift and agile that can dart among the lumbering Microsoft galleons. The galleons have three and four rows of heavy cannon, but they are too ungainly to turn, and the big guns, so effective when attacking a fixed fortress, can hit nothing (Apple is far over the horizon during all this, in a high-tech racing sailboat. It's just one boat, but it flies).

The pirates have no allegiance to history, and no respect for encrusted, senseless decisions. They take aim at anything that looks interesting, whether or not the monarchy behind the galleons considers it important. They begin chipping off customers and carrying them away. The monarchy harrumphs and dismisses the tiny losses with a wave of the hand. "Mere decoration. Statistical outliers. Not important."

Microsoft becomes accustomed to the petty theft of things it wasn't paying attention to anyway. The initial concern about the pirates is downgraded to annoyance. After all, the monarchy is vast and entrenched -- really, what could challenge it?

So the two settle into a weirdly symbiotic relationship; Google subtly taking over -- and fixing -- things that Microsoft hadn't seized with both hands, and Microsoft spasming a bit at each cut, then settling back down and going back to sleep, a water buffalo bothered by mosquitoes. Google steadily adds fast little ships to its fleet. A few sink without taking anyone else down. A few become more powerful, but without seizing control of nearby ships. They are a loose affiliation, held together only by the web of advertising.

Unfortunately for the monarchy, each interaction with the pirates further convinces it that galleons are the winning solution. After all, they survive each encounter with insignificant losses, chalked up to a need for minor adjustments. The right way to do things is to put everything into one basket and then guard that basket.

Microsoft continues to make variations on the same operating system. Customers pay more and more for virus prevention and removal (despite virus software, my brother -- who provides IT services to small and medium businesses -- says he spends fully half his time cleaning up virus-infected systems).

Google can live with all this, because they are taking over the new, relatively undefended frontier of the internet. Bill Gates saw the importance of the net and his last grand effort before going philanthropic was to try to wake Microsoft up to the fact that the internet was going to be very important. The behemoth arose long enough to make a few attempts at creating internet services that looked and acted like desktop applications, tied to the operating system. But there were too many VPs defending their turf to do anything actually innovative (some of you will remember when there was a temporary rallying cry -- originating from Gates, I believe -- that Microsoft was all about "innovation." This was Gates' attempt at creative visualization, as in "keep telling yourself you are a thin person, and eventually it will happen").

Amidst all this, Internet Explorer (IE) appeared, starting the browser wars.

The fallout was that there were no standards. Standards were invented by a committee somewhere, mostly out of touch with actually need. Then there were implementations, and Microsoft felt they could do whatever they wanted in order to leverage the OS (obviously you don't want to mess with the crown jewels, obviously you continue to manipulate things to promote the OS, as long as you can get away with it). Nobody correctly followed the non-standard, so all browsers are broken, some are useful.

After endless years of this, Google sees that browsers will never be fixed. They will always be messed up and require cross-browser fixes within every web application you create, even the simplest ones.

This is one thing I haven't understood: Google's choice of JavaScript as the client-side programming language. They've had to struggle with cross-browser flaws in every application they've made, so why not use something like Flash to raise the level of abstraction out of the mire of the browsers?

Or ... you could take a bigger risk and redefine the playing field by creating your own browser, and then implement the most advanced technologies, correctly, or at least the way you want them. At some point -- you've got enough clout, after all -- you can start saying "this application will only run properly under Google Chrome." And for that matter, you can start shipping Chrome with all the necessary support for offline storage and connection to the operating system services required to create more sophisticated apps. "Developers, developers, developers!" will soon start creating their own apps that will only run under Chrome, just because it's the easiest path (they already know JavaScript, but now it works without pain and they have access to storage and other OS things, but sandboxed so they don't have to worry about viruses and other corruption).

Hmm. It's almost starting to sound like an operating system. And if we solve all these problems through the browser, why not make the browser the operating system? Heck, as far as the vast majority of people are concerned, "operating system" means "windowing system," because that's what they interact with. More and more, people begin using computers because of the internet, so the browser is the first thing they encounter anyway -- that other stuff is messy and complicated, while the browser makes sense. Why not make the browser the primary contact to the OS?

The timing is perfect. Microsoft still has no clue how big the Vista disaster really is. They won't until Windows 7 comes out and all the people who were burned with Vista decide just to stick with XP or whatever they are currently tolerating. Marketing isn't going to fix this one, no matter how hard the folks in Redmond fling vast sums of money at the problem (the temptation to wade into that river of money will be great).

And of course there's the netbook. The price of these will continue to go down, especially if the OS becomes less intrusive and requires less processing power. Most people are using netbooks the way the name sounds -- to connect to the internet. If Chrome OS has a small footprint and runs on cheap, low-power chips without bogging them down, then the solid-state disk versions of netbooks become more practical and useful.

The timing of the shot across Microsoft's bow is no coincidence. Redmond is just starting to crank up the marketing for Windows 7, and one of the significant improvements is that it actually works on netbooks. Vista doesn't, so Microsoft had to continue to sell XP -- just when they decided to force those darn reluctant customers to upgrade to Vista by terminating XP, along came the disruptive netbooks. With Windows 7, Microsoft will finally be able to kill XP. But two problems remain:

  1. The Microsoft tax adds a lot to the cost of a really cheap netbook, which as I noted, will be getting cheaper. When the computer costs $200 or $150 or $100, people really start to notice the extra $50 to Microsoft. Linux has always been the free alternative, but the typical Linux distro includes a lot of stuff that doesn't fit (and isn't necessary) on solid-state netbooks (the Chrome OS is built on a Linux kernel). Plus, your grandma or uncle doesn't know who Linux is or whether he can be trusted (after all, he has these wild and crazy free love hippie roots). Google, now, I've heard of them, and free sounds pretty good.
  2. Unless we've suddenly switched to a parallel reality in the last cycle of Windows, Windows 7 will require the netbook to have a hard disk. Google Chrome won't, and will work just fine on the solid-state disk versions of netbooks. Not only that, the solid-state disk versions will boot much faster in combination with the very lightweight Chrome OS. The combination of cost and dramatic performance difference will make Windows 7 on a netbook look like a terrible choice. Add to this all the people burned by Vista and buyers will run towards netbooks with Chrome and away from netbooks with a hard disk and Windows 7.

What's sad is that there are a lot of really smart people trapped within the Monarchy of Microsoft, doing great work that will never see the light of day (better than not being allowed to do great work at all, which is no doubt what keeps them there. But creating things that won't be used is soul-sucking). The only "innovation" that comes from Redmond happens when a competitor creates something that gains traction.

Take .NET, for example. Java tried to be OS-agnostic, and Microsoft was about the OS, so it created .NET. In many ways, .NET is a significant improvement over Java. But it's not revolutionary as Java was (by introducing the virtual machine, garbage collection and unified error reporting into the programming mainstream). It evolves Java, but with sometimes subtle and sometimes not-subtle ties to Windows. Can I program .NET on my Mac? I don't even know, since I could never take it seriously (every programming conference I attend anymore is almost universally filled with Macs. If it's all about "Developers, developers, developers!" then Microsoft really hasn't begun to see the problems yet, stacking up like the traffic in the Greater Seattle area).

Microsoft could have taken .NET and created a thin layer of glue onto the hardware, and come up with a really good, robust, and revolutionary OS. When I mentioned this in a previous blog, a commenter who apparently worked within Microsoft research said that a project like that had been going on and some pieces of it might eventually appear in Windows. Of course, it could never be put out there as a real OS because it would compete with Windows and someone has too much turf power for that to happen.

Contrast this with Chrome OS. It's been pointed out that Android is also being used as an OS, so gasp! There are two potentially competing OSes from a single company! Google shrugs and says "yeah, there might be some overlap, but they were designed with different goals in mind so we'll just see what happens." Something that would cause major political battles within Microsoft produces indifference within Google.

Another "innovation by reaction" from Microsoft is Silverlight. Adobe has been making inroads with Flash and Flex, which produce applications that are browser and OS independent. Everyone has Flash on their computer -- everyone. Why does Microsoft need to invent a new system? Flash is too cross platform, and doesn't help sell OSes, and is in fact becoming its own OS! This is certainly the first argument that comes to mind, and it's the very one that makes a lot of programmers suspicious that there's a poison pill buried somewhere within Silverlight so that, in the end, the really interesting things only work on Windows.

I think it's good that Microsoft created Silverlight, and Sun created JavaFX. It's really invigorated Flash/Flex development at Adobe, for one thing, and it promotes the idea that we need to stop wasting our time solving cross-browser incompatibility problems in our applications. (Disclosure: I consulted for Adobe on Flex for about a year, but that contract ended over a year ago).

Now, Google could have created its own RIA platform and made it run on the various different browsers, but they chose not to. I think this is because, first of all, Adobe already solved the problem and Google didn't seem to see the value of duplicating the effort (as Sun and Microsoft did). What, really, would it have accomplished? But by creating a new browser and expanding its footprint into an OS, Google is moving diagonally. And note that this "OS" will run just as happily by itself as it does under Windows or MacOS, so it becomes something universal that everyone can learn once and use everywhere -- which makes it viral. And the best thing is that it doesn't matter to Google whether you use Chrome as a browser on your OS, or Chrome as your OS. (One of the great things about free software is that you can always say "sure, whatever works for you. It's all the same to me").

Now take a step back and look at this from the developer's standpoint. If you can start assuming that everyone has Chrome in one form or another, and that it supports the leading-edge JavaScript, HTML and CSS -- well, that means you can write powerful code once and run it everywhere. From a business standpoint the cost savings are compelling. Far more compelling than paying for endless bug fixes due to cross-browser incompatibilities. It means the difference between treading water and moving forward two, three, four times faster than your competitors.

The second reason Google made Chrome instead of another RIA platform is branding for trust. Flash is pretty invisible to most people, which is fine; for what it does I suspect it's actually better that it's invisible -- Java has always had problems becoming ubiquitous because installation and usage were too intrusive for the majority of end users. But if you want to solve all the messy programming problems created by Windows and the browser wars, you need to get everyone's trust and imprint it, so that the salesperson can say to the new netbook buyer "this runs the Google OS" and our novice buyer will think "I've heard of Google and everyone says good things about it." (Which, by and large, everyone does).

Consider the Windows 7 sale: it starts out adding significant cost to a cheap netbook appliance. It takes a long time to boot. And the customer will probably ask about viruses -- they've certainly heard a lot about those. The salesperson will say that you can add software to prevent viruses, but such software will be much more interesting to the salesperson as an add-on purchase. And the customer will also know stories about the escalating virus wars where Microsoft and the virus software manufacturers are constantly trying to plug the leaky dike. Maybe the customer should just go with the free, super-fast, virus-proof thingy from Google instead.

I don't see how Microsoft can change. What you've got is one of those nets in the jungle (think "Lost" here) which springs up and traps people into a hanging ball of bodies. Take one of those nets and fill it with Microsoft VPs. The net is constantly pressing them together as they struggle. No one can see that the net itself is an arbitrary constraint, because it presses everyone into a zero-sum game. Google comes wandering through the jungle, whistling, notices for a moment the ball of VPs fighting among themselves, and wanders on.

Unfortunately, the only way to fix the problem is for someone to come along and cut through the net, while everyone inside is screaming "Don't cut it! We'll fall!" And of course there would be a fair number of bruises, sprains and some broken bones. (Important note to Microsoft: I now do management consulting, although prepare yourself for truly outrageous fees, payable in advance. I can definitely come in and fix your company).

Joao Pedrosa

Posts: 114
Nickname: dewd
Registered: Dec, 2005

Re: The Cathedral and the Pirate Posted: Jul 11, 2009 7:58 PM
Reply to this message Reply
Google is not only heavily invested in standard Web applications, but most of its profits comes from the Web ads it mediates. Google has a range of public-facing Web applications and also probably many that are internal. While some groups within Google also makes use of Flash, its importance is fractional when compared to standard Web.

The Web for Google is its safe haven and strategies that play to that end will be favored. By giving computers away that can access the Web and Google offerings out-of-the-box can easily be justified. Billions of people still need computers, the more the merrier. The Web has had to cope with this nonstop flooding of new users and Google is aware of the challenges, whereas many other technologies might not have been eyeing the same uncontrolled growth. For example, the difference between stateless and stateful servers to manage the client needs. Some folks are just as happy with the stateful servers even if it can get a little ridiculous with billions of users.

Microsoft also has had "problems with the law" and it will grow and sink as a company by also how well it will manage these non-technical challenges it has had to face since early on. Where is Microsoft's guidance when it lets Internet Explorer stagnate like that? As you remind, cross-browser compatibility is an issue, but given the dynamic nature of the tooling, programmers can tune programs to different browsers and systems from a single core. For example, Web apps that have had to support iPhone alongside their more natural desktop browser versions. Should Google's new OS become feasible, programs could adapt their Web apps to it as well, but it's in Google's own interest to make the experience more seamless so Google programmers do not have to have more headache trying to support a new variety of browser UI. ;-) Perhaps this Google leadership will placate some of the adventurous companies that were trying to create too many custom iPhone-like devices, crippling the shared experience somewhat.

As always, it all relies on the proven scalability of the Web. But regarding the unique features of the Google OS, the jury is still out on that. Also, I do not need to remind that new Linux distros will appear that will in part recreate the Google OS experience by using Google open source libraries and programs anyways. So there will be clones, and more innovations, even if they will not be able to be called Google this or that due to trademark issues.

Paul Grunwald

Posts: 5
Nickname: pgrunwald
Registered: Jul, 2009

Re: The Cathedral and the Pirate Posted: Jul 11, 2009 8:25 PM
Reply to this message Reply

My serious comment is what is to stop Microsoft from making a version of W7 that does not require a hard drive? I don't think MS is quite as rigid as everyone might believe. Note that IBM is still around and a player. Big companies can and do pivot. Google will also inevitably slow down and get less nimble no matter how much cash they toss about. Linux will continue to be fragmented.

My feeling is that cloud is not it, another desktop OS however lite it not it, and no matter how cheap the hardware, the experience is primary. From that standpoint RIM and Apple are leading but they don't own it.

Something else is needed, I just can't see it yet...

Daniel Will-Harris

Posts: 7
Nickname: danielwill
Registered: Nov, 2007

Re: The Cathedral and the Pirate Posted: Jul 11, 2009 10:27 PM
Reply to this message Reply
Read my reply here:

Google Chrome, the last nail in Microsoft's coffin:

Peter Thomas

Posts: 1
Nickname: ptrthomas
Registered: Dec, 2007

Re: The Cathedral and the Pirate Posted: Jul 12, 2009 7:18 AM
Reply to this message Reply
Great article except for the expected plug for Flash from Bruce Eckel :\

Quite natural that JavaScript is key if Google is betting on the browser and HTML 5 etc.

Ricardo Bánffy

Posts: 1
Nickname: rbanffy
Registered: Jul, 2009

Re: The Cathedral and the Pirate Posted: Jul 12, 2009 7:18 AM
Reply to this message Reply
> what is to stop Microsoft from
> making a version of W7 that does not require a hard drive?

Technically nothing. Still, such an OS would not look like Windows under the hood and would probably be unable to run current Windows software. The virtualization move is clever and may hint at future backwards-incompatible OSs.

I still think they will never commit to a post-Windows OS because that would mean hell for their executive bonuses.

If they do it, it will not be before they get thoroughly beaten up like they did with IBM in the 80s and 90s.

IBM did reinvent itself, probably only because it needed a lot of orthopedic surgery after what Microsoft did to them.

Dave Quick

Posts: 22
Nickname: davequick
Registered: Sep, 2006

Re: The Cathedral and the Pirate Posted: Jul 12, 2009 11:41 AM
Reply to this message Reply
I think I understand; Microsoft is the Great Satan and Google is the Avenging Angel of Purity, champion of the oppressed masses. Chrome OS is the magic sword the Avenging Angel will use to smite the Great Satan and make the world whole again so we can all compute happily ever after under the New Enlightenment of the Googleplex.

Chrome OS may well have some interesting impacts once it makes an appearance. It definitely has the advantage of not having the backwards compatibility elephant on its back.

So far though, its only impact appears to be an impressive ability to generate excessive metaphor and blog traffic.

Elliotte Rusty Harold

Posts: 1573
Nickname: elharo
Registered: Apr, 2003

Re: The Cathedral and the Pirate Posted: Jul 12, 2009 11:53 AM
Reply to this message Reply

Rinie Kervel

Posts: 26
Nickname: rinie
Registered: Oct, 2005

Re: The Cathedral and the Pirate Posted: Jul 12, 2009 1:59 PM
Reply to this message Reply
I think you're overstating browser incompatibilities in favouring Flash.
Google can live with HTML5,probably multi-source in Chrome, Firefox, Safari and Opera.
If they chose Flash they may face the same problem with Adobe as with Microsoft: dependent on external agenda/speed of a single source.

I don't think Google wants web applications that only run in Chrome. They want state of art web applications, and enabeling that means raising te state of the 'standard'webbrowser.
(Like they did with Gears and workerthreads)

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: The Cathedral and the Pirate Posted: Jul 13, 2009 11:36 AM
Reply to this message Reply
Cathedral vs. pirate... Gotta go with the pirate on the seas and the cathedral on land.

John Wellbelove

Posts: 72
Nickname: garibaldi
Registered: Mar, 2008

Re: The Cathedral and the Pirate Posted: Jul 22, 2009 1:08 AM
Reply to this message Reply
> > what is to stop Microsoft from
> > making a version of W7 that does not require a hard
> drive?

Nothing at all. We use XP Embedded in our products, which runs perfectly fine from a flash card.

Max Lybbert

Posts: 314
Nickname: mlybbert
Registered: Apr, 2005

Re: The Cathedral and the Pirate Posted: Aug 3, 2009 5:03 PM
Reply to this message Reply
I'm sorry, but any mention of "turn the browser into an OS" reminds me of the old Mozilla FAQ ( ):

> it makes very little sense to try to make Mozilla into an
> operating sense, almost as little sense as it would to make
> a Word Processor or a MP3 player into one.

It really bothers me when technical people overlook the fact that turning a browser -- especially a browser such as Chrome that relies on the operating system's process separation facilities -- into an operating system is a ridiculous thing.

Using the same marketing name for a browser and for an operation system that ships with that browser makes a lot more sense, and that essentially is what Google will do. But that turns Chrome OS into Google Linux distro optimized for the client (as they already have a private distro optimized for their servers, and Android is a bare bones Linux distro optimized for mobile phones), which looks less technically amazing: a lot of companies have shipped Linux distros after all.

And for all of Google's amazing track record, I really don't see them doing a better job of getting Linux on the desktop than Novell or Red Hat.

Jack Hung

Posts: 1
Nickname: jackhung
Registered: Apr, 2008

Re: The Cathedral and the Pirate Posted: Aug 23, 2009 9:40 PM
Reply to this message Reply
Contrast this with Chrome OS. It's been pointed out that Android is also being used as an OS, so gasp! There are two potentially competing OSes from a single company! Google shrugs and says "yeah, there might be some overlap, but they were designed with different goals in mind so we'll just see what happens." Something that would cause major political battles within Microsoft produces indifference within Google.

Make me relate to Piecemeal Social Engineering ( Micro$oft's decade-old grand scheme (mythology of Windows) is doomed to fail. In contrast, Google evolves it fast little ships incrementally, and continuously amending them in light of new experience.

The pirate sweeps up and transforms the turf along its way. The cathedral is hopelessly on the defensive, figuring out the new rules of the game.

Andy Doddington

Posts: 2
Nickname: andyd
Registered: Apr, 2014

Re: The Cathedral and the Pirate Posted: Apr 29, 2014 6:30 AM
Reply to this message Reply
There are amusing (to me at least) parallels between Microsoft's attitude to the supposed non-entity upstart 'Google' and IBM's attitude to the nascent Microsoft, to the extent that they were quite happy to sign away the design of the desktop computer and grant ownership of the operating system - if I recall correctly.

Flat View: This topic has 13 replies on 1 page
Topic: Videos of Recent Presentations Previous Topic   Next Topic Topic: Python Decorators III: A Decorator-Based Build System

Sponsored Links


Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use