Joel Spolsky is trying to find the best strategy for today by looking at the past. He draws a lot of parallels between the 80s and today’s software ecosystem to predict direction of software platforms. I like Joel’s essays, however, this time I feel we are trying too hard to look at the similarities with the past instead of pragmatically analyzing the current situation.
While I am no expert in business directions or judgements, I think the biggest missing element from the 80s, and something that is working effectively today, is open source. This can make a huge difference in the ecosystem and something that can drive direction of software development. Here are my points of contention.
Moore’s Law might end
If Joel is banking on Moore’s law, then he should also see the wall. Anyway, the race between hardware and software will go on, but the pace of developments might change. We cannot always build software for the future. It has to be reasonably placed, and unfortunately the reason is dependent on the context. It cannot be generalized. A software developer will always have to worry about performance. If the software has to be available to most number of people, you have to support the variety and range rather than add restrictions.
Open Source is the biggest Differentiator
The biggest differentiator for today’s times is open source, which was not as strong back then. In my opinion, open source, rather than a business, will drive the development of standards. By open source I imply two things - the community will hold the cards and secondly the standards will be developed to promote interoperability between multiple tools, for benefit of the people rather than a company.
One thing that we have gained from our experience is that software can solve a wide range of problems, and this implies that there can never be a single super-tool that can be applied everywhere. There might be a set of tools that get used commonly, but as we discover more problems that software can solve, our tools will continue to evolve. And they will evolve at a rate enough to dislodge any one tool at the top.
I agree with Joel that standardization will happen, e.g., with the Ajax frameworks, but as a pure standard, not a tool. This standard will be the NewSDK, which many tools will be open to comply with. Someone who does not warm up to it will surely die.
Epilogue
We have learned lessons from the past, and we are seeing new benefits of tighter coupling between software development and usage through open source. The open source ecosystem will not make any one tool the King, and in the process minimize chances of a monopoly. My opinion about standards might be a bit of wishful thinking, but a lot of efforts today are towards establishing standards without bias towards a business or a tool. Hopefully our past mistakes will not repeat and software will make more sense in context of the users than business.


September 20th, 2007 at 3:56 pm
communication service providers(CSPs) already have eTOM framework(a business process framework for them).It will be great if we can see it in other domains as well.
Regarding going open source,SUN Microsystems has realized its importance.Tools or apps can be built in different languages and by different vendors but SOA will be architecture to integrate them.Here we need standards.CSPs have standards like the MTOSI framework for integrating their OSS.the problem is the biggies want to come up with their own standards and do a tussle like this…http://indyankk.blogspot.com/2007/09/google-microsoft-tussle-continues.html