Hercules goes commercial!
By jsavit on Oct 02, 2009
Hercules, which I've referred to elsewhere on this blog, is an open source mainframe emulator, originally intended for hobbyists. It performs software emulation of IBM mainframes, capable of running old and new operating systems for that platform. It does not provide an OS. Instead, it provides a virtual mainframe that you can boot (I should say "IPL") an OS on.
Hercules has picked up a wide user base - mostly current and former mainframe systems programmers, including IBM customers and (apparently) IBM employees too. All can have the geeky fun of running their own copy of MVS or VM on their PC, or run one of the mainframe Linux variants. So, you can run your very own mainframe datacenter, sort of.
What Operating Systems can you run?
Technically it's possible for Hercules to run current IBM operating systems like z/OS, but my understanding is that legally you can only run very old IBM operating systems from over 20+ years ago (OS/360, DOS/360, MVS 3.8, VM/370), and current non-IBM operating systems - specifically Linux. (The OpenSolaris port to mainframe doesn't run on Hercules for technical reasons. It uses z/VM paravirtualization APIs that Hercules doesn't implement yet. That's unfortunate, but running as a guest makes development easier.)
IBM only licenses their operating systems for their own hardware, so you can't get licenses to run z/OS and z/VM on Hercules. Clearly there is interest in doing so. Every once in a while somebody pops up on the Hercules mailing list asking for instructions on how to obtain a current IBM OS for Hercules and the response from list members is "go contact IBM, not us. We don't encourage/help anyone using unlicensed software".
Can Hercules be used for "production" work? Is it up to the job?
The first question is whether it's compatible enough with the Real Thing, and the answer clearly is "yes". There's very good evidence that it's architecturally compatible, with reports of people running current operating sytems. A lot of z/Linux development is done on Hercules, and you can certainly run the major distros there.
Does Hercules have the horsepower to run small to moderate sized mainframe applications? Definitely: some hobbyists have reported running the equivalent of well over 100 MIPS on stock personal computers you can buy anywhere. The FAQ page on the Hercules web site reports over 300 MIPS and 500 I/Os per second. That's a bit old, so I imagine that with current Nehalem or Shanghai processors you could do more, especially with server-class I/O. That's more than enough to run the workload of small mainframes (or a small portion of a current mainframe's workload) at a far lower cost than the Real Iron. Consider that a low-end "z10 BC" mainframe introduced Q4 2008 starts at under 30 MIPS and costs about $100K exclusive of disk or memory. Hercules would be overkill for replacing such a small system and could be done at a tiny cost.
For nostalgic comparison: IBM used to have a thing called the XT/370, which used a co-processor in a PC/XT to implemented a subset of the System/370 architecture and came with a weird single user dialect of VM/CMS. I had one of these things and it was tremendous fun, even if not a barn-burner in performance at 0.1 MIPS! (I mostly used it for a project porting Modula-2 to the 370). There were later varieties of this product that got as much as 7 MIPS of performance, which was once considered pretty powerful - about the power of a 3083. Now we can emulate many times that performance in software. Moore's Law in action.
So, what is TurboHercules?
The TurboHercules web site says what their mission is in Roger Bowler's welcome page. Roger Bowler is the original author of Hercules (which of course has had a number of developers in its 10 year history as an open source project), and he says that the idea is to fit into the niche once occupied by "OEMs" like Amdahl and PSI, but for "ancillary mainframe workloads".
The proposed way to get around the OS licensing issue is described in a page by co-founder Tom Lehmann , where he refers to institutions (especially governmental ones) who require a second mainframe for legally mandated disaster recovery, but don't have the budget for it. He says that "the IBM license can be transferred to an alternate machine in the event that the original machine is inoperable" and that "the cost of the TurboHercules based machine is well within their budget while still providing the same level of service as the original mainframe."
So, if I understand this correctly, TurboHercules proposes to offer such a service, based on Hercules technology and with consulting to provide a turn-key disaster recovery environment for mainframes. That's a very interesting twist on the OEM business, and maybe a way to avoid the problems faced by PSI and other companies formerly in this market.
Will it fly?
First, I have to say that (a) I'm not involved with this in any way, (b) I have no inside knowledge of this, and (c) I Am Not A Lawyer. Roger Bowler is a modern hero of programming and a lot of people benefit from his talent and hard work. If he can find a way to monetize the mainframe emulator he created, that would be very cool.
Certainly there have been mainframe emulators before - it's a rich target because of mainframe's high prices and so-so performance. There once was a good number of vendors competing against IBM in this space. Vendors doing this in the past for commercial purposes have run into hot water due to licensing and IP issues.
What different with Hercules is that it's a well-established Open Source project, which makes it hard to kill. The TurboHercules people have explicitly condemned the illicit use of IBM software, and have made a point of saying that the Hercules project is completely independent of TurboHercules. The disaster recovery angle for licensing may make this commercial venture possible. Maybe it could some day lead to competition and better pricing in the mainframe market. It sure is a money saver for customers compared to paying for pricey Blue tin. Competition helps drive prices down and innovation up - monopolies don't like that.
Will it fly? I honestly don't know. There are obvious legal risks: IBM doesn't like anybody selling mainframe "workalikes", as you can see from the recent litigation, and back years ago, the fierce combat with Amdahl. I also wonder if there isn't a market for used or older mainframes, or mainframe hosting services, that would compete with this. Or, IBM could offer low-end machines for peanuts to prevent a customer from going this way. They could be willing to sacrifice margin (which they surely have on mainframes) to keep a customer from straying from the fold. Hint to any customer: have a printed copy of the TurboHercules press release next time your IBM sales rep comes to call :-) (This once was called the Amdahl coffee mug trick.)
A lot depends on what IBM does. Maureen O'Gara adds some tart comments to TurboHercules' press release that said "it hopes to benefit from IBM's long-standing support of open source software" questioning whether IBM will live up to its rhetoric about openness when their own IP might be de-monetized. IBM hasn't been particularly committed to "open" when it comes to customers running using lower cost alternatives to mainframes - that's why you can't even pay them to license their OSes on non-IBM boxes or Hercules. Maybe they'll permit that now - only time will tell. Perhaps the CIO magazine title at Mainframe computing is set for a rebirth is correct after all - but not in the way that article's authors anticipated. :-)