Hercules, Son of Zs

by Hesh Wiener
IT Jungle

February 7, 2006

In Greek Mythology, Heracles, whom the Romans called Hercules [ http://en.wikipedia.org/wiki/Hercules ], was the son of Zeus. In computing, Hercules, which everyone calls Hercules, is an open source mainframe emulator that in its current form imitates even the most recent model, the System z9. Hercules comes in versions that run on Windows, Linux, Mac OS X, and Windows with Cygwin. Hercules doesn't provide all the I/O found on a real mainframe, but (with limitations) it can provide virtual mainframe disk drives, it can read and write mainframe tapes, and it can talk to mainframe terminals.

Hercules has its own Web site [ http://www.hercules-390.org/ ], of course, and it provides links to a constellation of software developers and mainframe buffs who provide quite a bit of additional software, advice, and most of all enthusiasm for the package. It's possible for anyone who knows how to operate a mainframe to turn an ordinary PC into a scaled-down zSeries machine, and for somebody with a peppy single-chip server to create a machine that will run mainframe jobs at 20 MIPS or more. For Hercules enthusiasts with powerful servers, the sky's the limit. Well, not quite, but it appears that Hercules can run on a wide range of multiprocessors based on Intel or AMD chips under Linux. For those who want to compile their own system, pretty much any Linux or Unix platform can be persuaded to run the code.

According to the people at the heart of the Hercules project, the software isn't meant to compete with mainframes in the commercial market. Instead, it is aimed at three overlapping groups of users: academics, hobbyists, and developers. While IBM's software licensing policies [ http://www.conmicro.cx/hercules/hercfaq.html#2.01 ] seem to militate against the use of current or recent operating systems and other packages on the Hercules platform, from various newsgroup postings it looks like there are a number of IBMers who are very quietly enjoying the Hercules experience. It just might turn out that these people are in fact running current IBM code on their homegrown mainframe platforms. Of course, they might all just be running old IBM systems software that's easy to download [ http://www.ibiblio.org/jmaynard/ ].

The very existence of the Hercules movement is a nightmare for Fundamental Software [ http://www.funsoft.com ], whose Flex-ES emulation environment is approved by IBM for restricted commercial use and also for much broader use by software developers. But a Flex box that can deliver 50 MIPS or more costs about as much as a z890 with comparable power. In fact, if a z890 buyer can grab all the benefits of IBM's most favorable deals and get a business partner to live with modest hardware profits, these days a zSeries system plus Shark storage can actually be cheaper than a Flex, even though the Flex emulator runs on an IBM xSeries server that when naked costs peanuts compared to the basic z890 box. This is because in many cases there are discounts to IBM resellers of more than 32 percent on the z890 plus arrangements under which software costs on a mainframe that is to be replaced are capped for three years. The z890 is likely to have some residual value after three years, perhaps 10 to 20 percent of list, while the Flex license cannot be resold.

The point, however, is not that Flex is expensive or that Hercules is the way smaller mainframe shops should go. The point is that Hercules is the only cheap option for people who want to build, test, and run software in a mainframe environment. It's also the most economical way for anyone who wants to learn about an IBM mainframe to explore the mysteries of the classic computer family.

Hercules has been around since 1999 and it has become more capable and robust with every new release. The current version is 3.03.1, offered several days after 3.03, which was brought to the public on December 20. Version 3.03 turned out to have bugs the developers missed that clobbered z/Linux. While at first it might seem odd for somebody to set up a Linux (or Windows) box, emulate a mainframe and then load Linux for the mainframe on top, it turns out that this very phenomenon is one of the ways Hercules may do the mainframe Linux community a lot of good.


The Hercules Windows GUI
A mainframe for hobbyists, and others, too, if IBM cooperates

A developer really needs z/Linux to make sure some software that works on another Linux platform will in fact run reliably on a mainframe. Hercules is the only option for developers who can't afford a real mainframe or a slice of time on one. And the nice way Hercules supports old IBM software, including ancient versions of IBM systems that seem to be in the public domain, makes Hercules a crossroads system. By this we mean that Hercules can be used to help port a rusty old MVS or VSE application to a fresh environment. That new environment can be z/Linux or a current IBM operating system, both of which are presumably good for everyone in the mainframe community. Hercules can also make it easier to get that old chunk of mainframe code off big iron and onto, say, an X86 box that doesn't even have an IBM nameplate.

Fear that mainframe users will opt for an exit strategy is one reason IBM either prohibits or at the very least discourages the use of its software on Hercules, to the extent it can. Optimism about the small but highly charged corps of mainframe fans who just love Hercules is the reason that some of the folk who publish notes about Hercules on public newsgroups [ http://groups.google.com/group/hercules?hl=en ] or less anonymous Yahoo groups [ http://groups.yahoo.com/group/hercules-390 ] seem to think there is a viable underground working using Hercules to add vitality to the mainframe world.

If you've never heard about Hercules until now, you might think all this is about a few dozen geeks who like the idea of building a mainframe in a bottle. But during the first week after its release, there were nearly 3,000 downloads [ http://www.itjungle.com/big/hercfans.html ] of version 3.03, according to data published by the Hercules team. IBM didn't sell 3,000 System z9 systems in a week after their announcement. In fact, it's been years since IBM sold 3,000 of any of its mainframes during the first week after an announcement or shipped that many machines in the first week or even month of production. The Hercules downloads might have all been up and running a day after they were beamed over the Internet, and it doesn't seem unreasonable to suppose that most of them actually were.

Hercules is slow compared to the iron it runs on. That's the way it is with any emulation system. But even so, even if Hercules runs at a tenth of a platform's native speed, plenty of people feel it is a great deal. You can say that a free software package is always a great deal, but that purportedly free program does not run on free hardware and it requires time and effort on the part of the user. So, a running Hercules system is not free at all. It's just cheap.

And it raises big questions about the mainframe population and price elasticity. Should IBM give the Hercules fans a little slack? Should academics, students, developers, and maybe anyone who wants to license current IBM mainframe software for use with Hercules be able to do so? Should IBM make its software cheap for these people, so they can enliven the mainframe culture. Or do Big Blue's business models simply show that IBM's official posture is an absolute necessity?

Why don't you try to get some clarification on this matter from IBM? It will certainly put you in the mood for Hercules, because it will remind you of the Augean stables.

Copyright 2006