Whilst many colleagues have already blogged about it, I thought I’d just do a quick post about Project Zero. The aim of going public with the site is to provide a community based development aspect around some work that IBM has been tinkering with for a little while now. The goal of Project Zero is to define a revolution in dynamic web application development by bringing together scripting from Groovy and PHP along with RESTful web services, Atom feeds and (say it quietly) even Java.
The interesting thing about the who project is the approach it is taking towards community driven commercial development. Project Zero is not going to be open-source software, so the immediate question is what value does making it’s development community driven have? I think the best example of why socialising the Zero technology core at this stage is a good thing is to make a comparison with another IBM technology vision which started in a similar way, namely Service Component Architecture (SCA)
As I’ve written about before, SCA started life within IBM as the brainchild of a couple of people. From there it grew and a lot of work was done by some talented people (and me) to prototype it, define the programming model and turn it into a technology which we could build a product on. It became the basis of WebSphere Process Server (and thus WebSphere ESB) and really lies at the core of those products. Along the way IBM started to work with BEA and then other vendors to open the spec up, to the point where it is now going through OASIS.
So, we’ve had products in the market built on top of a lot of internal work to define SCA. The problem is however that SCA has evolved much quicker in the open than it probably would have done if it remained entirely within IBM. Had it been kept internal then we would be able to easily manage the trade off between feature and function versus other considerations such as API compatibility from release to release. Problems such as the latter are likely to be more significant as the openly evolved SCA diverts more quickly away from the original IBM implementation (Note, that’s not to suggest that customers with WPS/WESB will suddenly break as and when those products adopt the openly developed SCA spec!)
Now compare this with the community driven approach being taken by Zero. Once again the initial core ideas have come from a small number of people within IBM. They have been socialised a bit within the company (indeed, there’s was and still is a significant amount of input into Project Zero from my old stamping ground in Hursley, some of which I was lucky enough to be involved with when I was there) The difference is that there was no IBM product deliverable driving the creation of Zero. It’s whole raison d’etre is to radically simplify the process of web application development, and the early and hopefully significant input of the wider community can only help those working on it to better understand the problems, issues and their solutions. By getting this input much earlier than ever before in the way these type of projects are incubated within IBM then hopefully the result will be a technology which is more feature rich, stable, performant and documented then ever before, which future IBM products can utilise, and which will help our customers be more successful. As a customer (or even a prospective one) you get to have much more input into what we do as a development organization as well.