Competition Versus Collaboration
The major software vendors have long competed with each other, and so it should be! Witness the often bitter struggles between Microsoft and Novell. The unproductive practice of extinction-producing competition is diminishing as Microsoft and Sun Microsystems start to collaborate. This should help end users get better products rather than just de facto brands that contain business process logic lumped together with software features.
I often wonder at the extent of duplication in the software industry: This is certainly the case in telecom where dozens of vendors slavishly implement products based on ever-evolving standards (such as MPLS). Each vendor tries to bring some new wrinkle to its product that will move buyers in their direction. This model can provide benefits in specific domains, such as accounting solutions, but it may be less helpful in industries in crisis (such as telecom) undergoing massive restructuring and technology upgrade. The latter may need a more fundamental approach.
More collaboration is needed in the software industry to reduce the level of duplication and to increase the generic characteristics of products.