Don't run the Hercules Mainframe Emulator on your IBM laptop!
A few months ago, IBM slapped me on the wrist. No, this wasn’t really physical punishment or like hazing like at the Military Academy. Rather, it was a Notes Inbox slap named Action Required: Hercules Detection Report. It turns out that the CIO’s office had scanned my BYOD Macbook Air, and I was busted for breaking a major IBM taboo: installing the Hercules mainframe emulator on an IBM workstation. Reading the strongly-worded message, my mind conjured up the image of TJ Watson Senior, the “Father of IBM,” scowling down at me from heaven.
From a legalistic standpoint, I felt wrongly accused. Sure, I had downloaded Hercules and MVS/380 with the intention of checking it out, but due to Breaking Bad, Game of Thrones, Bioshock: Infinite, and sundry other distractions, I never seemed to have the time to get it installed. I was incensed:
How could IBM judge me for a crime that I had been too lazy to commit? C’mon, this is starting to sound like thoughtcrime and Big Brother stuff.
So how did IBM and Hercules get to this point? Well, in many ways, this taboo is a more recent occurrence. Between 1999 and 2009, IBM seemed to have a fairly peaceful relationship with the hobbyist community that ran older versions of IBM operating systems (such as MVS 3.8 and VM/370) and z/Architecture Linux on their PCs using Hercules. Things changed in 2009 when Roger Bowler, the creator of Hercules sought to monetize his creation by forming a company called TurboHercules to sell Intel x86-powered boxes capable of emulating z/Architecture to run modern IBM operating systems, such as z/OS.
IBM licenses mainframe software in such a way that end-users are only authorized to run mainframe software on IBM System z hardware. While it’s possible to run z/OS and z/VM on x86 hardware using Hercules, it’s a violation of the software license agreement to do so. Think of this act is akin to Hackintoshing (running Mac OS X on a non-Apple PC such as a ThinkPad).
TurboHercules thought it found an opening to chip away at IBM’s licensing agreements in an ambiguous clause of the license that authorized customers to transfer their operating system license to “another machine” in the event that their mainframe suffers an outage. According to their LinkedIn page, TurboHercules is exactly this sort of “another machine,” enabling them to “provides Mainframe Disaster Recovery solutions” and acts as “a ‘stand-by’ mainframe” via “emulation of a mainframe or a partition.” Tom Lehman, the VP of TurboHercules product development expanded on this idea by saying that TurboHercules is “not an alternate mainframe,” but “more like that spare tire in the trunk of the car that’s going to get you home in the event of a flat.
Despite this seemingly benign self-characterization, TurboHercules represented a threat to IBM’s ability to maintain the critical mass needed to support ongoing mainframe hardware development. The intention of IBM’s software license agreement was to ensure that IBM software ran on IBM hardware, but if TurboHercules could exploit this chink in the license’s armor, then perhaps they could eventually lobby anti-trust authorities to force IBM to license their mainframe software for emulated mainframes on commodity x86 hardware. In a worst case scenario, siphoning off a portion of the mainframe hardware business might force IBM to abandon ongoing development of its mainframe processor family altogether and shift to Xeon-based systems, similar to those that Unisys sells to run their legacy MCP and OS2200 workloads. For these reasons, IBM likely considered it critical to protect their software licensing structure, leading them to send TurboHercules a cease-and-desist letter threatening a lawsuit over alleged patent violations.
“We were merely responding to TurboHercules’ surprise that IBM had intellectual property rights on a platform we’ve been developing for more than 40 years.”
-IBM spokesperson Steve Eisenstadt
When faced with this threat, TurboHercules retaliated by filing an anti-trust suit with the EU in March of 2010 in an attempt to force IBM to license z/OS and mainframe software for use on TurboHercules’ x86-based pseudo-mainframes. In a statement, Roger Bowler alleged that “by tying IBM’s mainframe operating system with IBM hardware,” IBM “prevents TurboHercules from providing its product to mainframe customers desiring an open-source solution.” This suggests that Roger Bowler intended to take a card from Dr. Gene Amdahl’s playbook and turn TurboHercules into a hardware competitor for mainframe software.
According to Roger Bowler, IBM’s allegation “that TurboHercules seeks a free ride on IBM’s ‘massive investments in the mainframe by marketing systems that attempt to mimic the functionality’ of its machines” was akin to the charge that “Linux is nothing more than an attempt to ‘mimic’ the functionality of Unix.” This statement clearly referred to the longstanding SCO v. IBM lawsuit over whether IBM’s work on GNU/Linux violated SCO’s intellectual property in UNIX, which was controversial because of Microsoft’s decision to fund SCO with the alleged aim of sowing fear, uncertainty, and doubt in the Linux community. Drawing on this parallel, it became public in December of 2010 that Microsoft was funding TurboHercules and other companies in their anti-trust efforts against IBM’s mainframe software licensing.
“Microsoft shares TurboHercules’ belief that there needs to be greater openness and choice for customers in the mainframe market. Customers tell us that they want greater interoperability between the mainframe and other platforms, including systems that run Windows Server. For that reason, we continue to invest in companies like TurboHercules to develop new solutions for our mutual customers.”
Despite Microsoft and TurboHercules’ best efforts, the EU Antitrust suit worked out well for IBM. In 2011, the EU dismissed the suit after an in-depth investigation of IBM’s licensing practices. IBM committed to supply “spare parts and technical information swiftly available, under commercially reasonable and non-discriminatory terms, to independent mainframe maintainers,” but the core principles of IBM’s mainframe software licenses were found not to violate EU antitrust rules.
“I am pleased that we could find a swift solution with IBM to our competition concerns. Timely interventions are crucial in fast moving technology markets.”
-European Commission VP of Competition Policy Joaquín Almunia
This decision wiped out the potential business model of TurboHercules (and Neon Software and T3). If you go to the TurboHercules website, you’re now greeted by a terse message:
“System Offline: This Site is currently Offline.”
Given TurboHercules’ role in Microsoft’s legal proxy war on IBM, it’s unsurprising that Hercules has left a bad taste in IBM’s mouth. However, I believe that it is now fair to say that the two year legal battle with TurboHercules has concluded in IBM’s favor.
It’s time to draw more of a fine grained moral distinction between the antagonistic TurboHercules company of 2009-2011, which was a one time threat to the mainframe platform, and the open-source Hercules project of 1999-today, which has been a continuous asset to the mainframe platform by building up a community of mainframe enthusiasts. By enabling technologists to run older public domain mainframe software on their PCs free of charge, Hercules provides access to the mainframe style of computing to those that do not have access to mainframes through their employers. From my point of view, this is undoubtedly a good thing.
That said, I understand the position of IBM’s Chief Information Officer and the reasoning of the Action Required: Hercules Detection Report. Rather than write a philosophical manifesto, rocking the boat, and stressing out my management chain, I complied with IBM’s request and removed Hercules from my BYOD Macbook Air.
One reason that I have been so compliant is that I have discovered a good solution for experiencing the work of the Hercules enthusiast community without putting IBM’s IP in danger: I run Hercules on a computer other than my IBM workstation. While this might have been too expensive in the past, thanks to a post from Soldier of Fortran, I now run Hercules cheaply on a Raspberry Pi.
For those of you that have been living under a rock, the Raspberry Pi is a ARM-based computer capable of running small instances of Linux at an incredibly low price. In my case, $70 bought me the Pi circuit board, a plastic case, an SD card, and a wireless USB dongle. Because I am most interested in tinkering with the MVS/380 and VM/380 forks of public domain mainframe software from 1981, the Pi is more than sufficient for achieving levels of performance exceeding the 3081 Processor Complex of that era(Oh.. Ahh. thirty-two whole megabytes of memory).
Given the low cost of the Pi and the ease of installation of Hercules and the pre-configured “MVS Turnkey” and “VM Six Pack” environments, the Raspberry Pi has become a great playground for gaining initial exposure to mainframe computing.
So if you're an IBMer and considering checking out Hercules, don't use a machine with IBM endpoint software. Get a dedicated Raspberry Pi and build your dedicated mini mainframe instead!
This post was originally hosted on the Millennial Mainframer blog