For the last few years, the discussion of mainframes has been like Rick consoling his old lover in Casablanca by saying "We'll always have Paris." The discussion tended to begin and end with "Well, we've always got Linux." And, indeed, Linux has been very, very good to the mainframe, allowing a strong application virtualization story and the beginnings of a "first among equals" mainframe-as-part-of-the-enterprise-network story.
But at the same time, open source software products and solutions grew up far above the operating system. From application servers (e.g., Apache) to databases (MySQL), office applications (OpenOffice), development tools (Eclipse), data integration (Metamatrix via the Red Hat acquisition), storage management (Sun OpenSolaris open storage solutions), and business process management (Intalio), open source is now an important part of the landscape.
Moreover, open source is not just a collection of software; it's a new development process that emphasizes testing from the start of the development process, cross-organizational and global collaborative development, and sharing the resulting software. That development process is having an increasingly profound impact on the creation of new software products, not just at IBM and other Web-software vendors but also at large-enterprise IT departments. Let's pause a minute to understand what that impact is, as evidenced by my findings from last year's IBM open-source briefing:
- Neither open source nor proprietary software is going to go away soon. Therefore, every IT strategist ought to decide what part of the organization's business model, software assets, and development processes should be, or should be combined with, open source; and which of these should be developed or upgraded in the traditional manner.
- Open source communities are multiplying, and handling narrower interest areas. Compared to MySQL's more than 10 million active users, products like Mondrian (an Internet scripting language) or any of the content management system solutions leverage much smaller sub-communities.
- Managing an open source development process and coordinating it with traditional ones is not easy, and does not always deliver benefits. Open source programming can significantly speed first product launch. However, over time, collaboratively coordinating programmers in an increasingly complex product can retard development. The resulting product can often show a developer "tunnel vision" that makes it less acceptable to end users. If an IT shop or independent software vendor (ISV) attempts to incorporate community code into a proprietary development process, the community programmers are not bound by the same process and deadlines, and may not be interested in developing the software needed by the IT shop or ISV. This is particularly true in "hybrid" software development, where in-house and community development are combined. Still, users say that open source development, done right, has net advantages.
Mainframes keeping up?How well has the mainframe been doing, both in taking advantage of open-source products and in supporting an open-source or hybrid development process? It seems clear that most mainframe implementations do not use open source application servers or databases, much less applications, because IBM's total cost of ownership (TCO) studies of "typical" mainframe implementations do not include these in the solution set, although, their use would drive down the mainframe's costs. However, there are no major technical barriers in the way of putting most open source software on the mainframe, at least for Linux partitions. IBM is "not ready for prime time" in the area of allowing open source applications to link with other platforms via enterprise application integration (EAI), because Ascential's EAI tool is in the process of being ported to the z10. Moreover, open source software is often more robust and secure than typical code, making it well suited for mission-critical environments.
Likewise, the IBM open-source-development briefing I cited scarcely mentions mainframe open-source-development-process implementations. This is not because open source development can't occur in a data center; in fact, two SaaS (software as a service) vendors using hybrid development were featured at the briefing. Rather, it seems that open source is simply not high on most mainframe customers' priority lists.
This seems a pity, because the new open source has significant benefits even in a mainframe-dominant architecture. The software cost savings are obvious; what is not so obvious is that open source code is typically up-to-date and is is robust and secure compared to existing mainframe code and requires little or no modernization. The open source or hybrid development process typically achieves speed-to-value, often more cost-effectively than "pure" traditional programming.
It is reasonable for IBM and IT to place open source lower on the priority list than green computing and consolidation via virtualization. However, it would be useful for IT to at least review its mainframe-development processes to determine where hybrid development might deliver benefits, and to take another survey of the open source software available today. Also, it would be useful for IBM to provide its own take on open source software useable by mainframe customers, and its own "best practices" for mainframe open-source or hybrid development, for its customers' benefit. If not, well, I guess we'll always have Linux.