Rob has a great post up about the rise of various open source stacks for web development. I think it’s also useful to consider the simultaneous rise of the “superplatform” from the big middleware vendors: IBM, Oracle, BEA, and SAP. These vendors typically provide a product at every conceivable level of the software stack (OS, DBMS, app server, applications, etc). These superplatforms allow vendors to be very competitive and create big license deals that cut across big swathes of the stack. This drives a tendency for more complexity and breadth (allowing more and bigger enterprise deals).
However, it also may make it harder (and less profitable) for superplatforms to compete in smaller companies and projects due to the very same complexity and overhead. Your average small company is just not going to buy Websphere and all its associated tools and processes and maintenance overhead. Instead, they’re going to use Spring/Hibernate or JBoss. I’d say that the rise of the open source stacks has actually been a reaction to rise of the superplatforms.
And I think maybe both of these pendulums have swung out and are turning around in the last couple years. The open source frameworks have been incorporating more and more functionality as they seek to address more and more of the enterprise problem set. As they do this, they become bigger, more complex, and will slowly move towards the complexity of a superplatform. RoR is perhaps the exception with DHH adamantly saying no to the “enterprise” direction.
Meanwhile, the superplatforms are turning in the opposite direction – embracing JPA, EJB3, annotations, and sucking in those very same open source projects in an attempt to entice those customers using them already with their tooling and collateral applications.
I’m not sure where things will go from here but I can’t imagine that the superplatforms are going to reverse their trend towards the incorporation of open source anytime soon – there’s too much to gain from leveraging the best of the open source community. They will continue to compete with better stack integration and more comprehensive toolsets (still built on open source platforms). Open source projects will continue to innovate and create great stuff, while struggling with the traditional issues of managing the competing demands of many users, quality, release management, documentation, etc.
Some podcasts addressing the superplatforms and open source competitors: