SOA, Web 2.0, SaaS, and...?
There's a fine flurry of activity in the blogosphere at the moment, dissecting the relationship - and occasional antagonism - between two great buzzphrases: Service-Oriented Architecture (SOA) and Web 2.0.
Both draw on the older SaaS idea - that software is provided as a service across the network, with the twist that the software services are now merely components of a larger, composite application - a mashup of sorts.
But what seems to be overlooked by many is that all these ideas were first explored by free software. Or rather open source, since it was Linus who really refined them: Stallman may have come up with the idea of free software, but the defining development methodology evolved in Linus' Helsinki bedroom.
Indeed, it was the isolation of that bedroom, where the Internet was the only connection to the growing band of hackers that rallied around the Linux kernel, that helped drive that evolution.
Linus had to make it as easy as possible for others to join in: this led to a highly modular structure, which allows coders to work on just those areas that interested them. It also makes the code better, because the modules are simplified, and the interfaces between them are well defined.
It allows people to work in parallel, both in terms of different modules, and even on the same module. In the latter case, a kind of Darwinian selection is employed to choose among the various solutions. Moreover, the Net-based open source development structure is flat, almost without hierarchies - archetypal social software à la Web 2.0.