One of my favorite research coverage areas is the evolving world of open source software. I like it because innovation is the watchword for the space – evolving technology, evolving business models, and evolving developer culture are fascinating to watch (if you don’t have the opportunity to write code yourself, watching other bright people figure out the best ways to do it is the next best thing). One of my favorite descriptions of the space from the early days of free software is Eric Raymond’s The Cathedral and the Bazaar. If you’ve never read it, I highly recommend doing so.
For the past year or so, I’ve been thinking more and more about the evolution of the Cathedral/Bazaar model, and its eventual end state. If we stick with the commercial analogies through time, we move past guilds and exchanges, and we find ourselves at today’s commercial masterpiece – the shopping mall. In the shopping mall, the landlords provides common conveniences like plumbing, heating, and free parking, and tenets hawk their wares. Small startups might rent pushcarts in the center atriums, while anchor stores like Macy’s and Sears get big hunks of display space at the ends of the mall.
I think we’re beginning to see the development of the Mall as an alternative to the Cathedral/Bazaar model. The Eclipse Foundation is a good example of mixed source development, with anchor stores like IBM and Oracle. Now after spending time at Google I/O this week I think it’s pretty clear we have another mall forming – “The Mall of Google.”
Google made a whole slew of announcements over the last two days, and I won’t spend a lot of space recapping the details. You can find that information here and here. What I do want to do is spend some time on what this means for developers in enterprise IT shops, and why you need to pay attention.
Google is very serious about HTML 5.
Many of the announcements on day 1 were related to the development of HTML 5, and its support in Google’s Chrome browser. I’ve written a bit about the subject recently, and my main take away from the show is that we’re a few steps closer to HTML 5 being a viable client-side application development alternative:
- The WebM project represents a potential breakthrough on the codec challenge. When Google bought On2 last year, there was fervent hope in the Web community that they would open source the video codecs, and now that’s come to pass. The WebM Project will be the steward for Google’s efforts to deliver an open source codec based on On2’s VP8 efforts. So far Mozilla and Opera have signed on, and Microsoft has indicated it will support VP8 in IE9. So why would Google spend $106 M on IP it’s now giving away? The answer: Plumbing, heating, and electricity for the Mall of Google. Hard to attract tenets if everyone has their own plug types and pipe sizes
- Google has enlisted support from key ISVs and content providers. The best way to fire developers and designers up about the potential of HTML 5 is by providing examples. Between Sports Illustrated, TweetDeck’s HTML 5 client and Adobe’s HTML 5 pack for Creative Studio 5, it’s clear that developers and designers are starting to get the tools they need and to build compelling HTML 5 application experiences – at least in Chrome.
- The Chrome app store is the literal mall for the long tail. The announcement that Google would create a Chrome app store wasn’t revolutionary; in fact I expect the terms will be very familiar to developers who’ve written iPhone apps. But here’s a key difference: It appears that Google will take a technology-neutral approach to the apps that are submitted; they can be HTML 5, or Flash, or anything that will run in the Chrome browser, or perhaps in other browsers as well. The Chrome app store appears to be less about control and more about connection – and to some developers that will make all the difference in the world. With no special development hardware and no required languages to learn, the Chrome app store will appeal to a broader range of developers who have no desire to learn Objective C.
Google offers an alternative vision of the Java platform.
I’m sure that a lot of developers in the audience were surprised to see VMware CEO Paul Maritz walk on stage yesterday (I confess I was). And I’m sure that his presence stirred conversations in Armonk, Redmond and Redwood City (if not, it should). Here’s why:
- VMware gives Google a significant boost in enterprise developer permission. While Google is the darling of developers outside the firewall, they still struggle inside the firewall. The reality is that enterprise IT development shops are just different than Web startups or Web giants. And enterprise Java development is something that the Spring folk understand. While I question the magnitude of the adoption percentages that SpringSource GM Rod Johnson quoted yesterday, our own research with Dr. Dobbs and Eclipse developers confirms that Spring is indeed one of the most popular frameworks among Java developers at large shops (with a fair amount of Apache Struts and homegrown frameworks as alternatives).
- GWT/Spring integration creates a compelling alternative to Java EE/JSF. While the latest incarnation of Java EE has leaned out, we still hear complaints from Java shops about JSF performance and general misgiving about Java on the client. We also know that GWT is one of the two most popular Ajax frameworks in our developer surveys. Put GWT together with Spring via the Roo project and you get a combined client/app server development platform based on a single design language – Java. From my perspective Roo looks inspired by Ruby, and 200 keystrokes to a scaffolded CRUD app with an AJAX/RIA front end is pretty compelling. And in my opinion, perhaps the coolest demo of I/O day 1 was Speed Tracer combined with Spring Insight and Google App Engine App Stats for end-to-end performance profiling in development and deployment. Simply put: way cool (and wicked hard to do, Trixie!)
- It’s about cloud tomorrow, data center today. Although deploying Spring apps on Google App Engine was the focus of yesterday’s announcement, I believe the real home run for this alliance is that it enables enterprise IT developers to also deploy the Spring/GWT apps they build today, to the VMware instances they are already running internally, and then (if they want to later) redeploy to the cloud in the future with a simple configuration change in the Eclipse tooling used to build the app itself. Alternatively, developers could also use Google App Engine for prototyping and testing, and then deploy production code to an internal data center running VMware images. The alliance creates a lot of flexibility for developers that are already looking to take advantage of scale-out architectures, regardless of where their apps might eventually be deployed.
Google’s mixed-source strategy encourages organic innovation.
There’s a common thread to Google’s day 1 announcements, and some prepped for day 2, which will be mostly around Android. The thread is one of support for truly open standards, sometimes to the tune of contributing millions in purchased IP, as in the case of On2, but also of encouraging choice, and coexistence with, commercial code. VMware is certainly a Cathedral, as is Adobe’s Creative Studio. But here’s a key difference in the Google approach to the Web – it’s embracing both Cathedral and Bazaar, and letting developers sort out the differences and relative benefits of both.
For another example of this mixed-source approach, look no further than today’s announced support for Flash 10.1 on the Froyo version of Android. I’ve been testing a Froyo-based Nexus One for the last week side-by-side with my iPhone, and I think it’s great to not have to deal with “little blue cubes” on the sites I visit every day. The Froyo Nexus is fast, the multitasking is excellent, and contrary to assertion, I have not noticed a significant difference in battery life when I view Flash-enabled content (I barely get through a full day with my iPhone 3G even with a Mophie juice pack at full charge).
When it comes to Flash apps running on Froyo itself, it’s also pretty clear to me that they can deliver an engaging mobile experience. I have to confess; I spent way more time with the South Park Avatar Creator than I should have, but I guess that’s the goal of engagement, right? And even with hardware acceleration turned off in the beta, video and audio works just fine for me on site likes the BBC.
Is Flash on Froyo ready for full-scale enterprise app development? No, not yet. We’ll need to wait for Slider before we can truly size up the Mobile app dev experience unless you’re ready to drop to ActionScript. But the point being made is an important one. A Cathedral-oriented strategy is all about control; developers must be satisfied with what they are allowed to do. A bazaar-oriented strategy is about organic innovation, and developers are free to come up with ideas using the technologies that they know and reap the full benefit of what they create. The mall-oriented strategy combines the “right to innovate” with common infrastructure that encourages that innovation. This is where Google’s heading, and development professionals should take notice.