MUMPS 1995 was prepared by the MUMPS Development Committee (MDC) for acceptance by itself, based on its extensions to the 1990 standard. The MDC approved it on 20 June 1993 as MDC X11.1-1993. It was the fourth MUMPS standard adopted by the MDC. MDC X11.1-1993 might be thought of as the first edition of MUMPS 1995.
The second edition was prepared by the MDC for acceptance by the American National Standards Institute (ANSI), based closely on the MDC’s first edition. It was approved by ANSI on 8 December 1995 as ANSI X11.1-1995, American National Standard for Information Systems—Programming Languages—M. It was the fourth version of standard MUMPS accepted by ANSI, and it replaced ANSI X11.1-1990, American National Standard for Information Systems—Programming Languages—MUMPS to become the current ANS MUMPS standard. ANSI X11.1-1995 was published by the M Technology Association (MTA), formerly known as the MUMPS Users Group (MUG), and was active until 1 January 2002, when MTA (the MDC secretariat) closed its doors and ANSI X11.1-1995 was administratively withdrawn by ANSI.
The third edition was prepared by a joint technical committee of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), based on the second edition of MUMPS 1995. The committee was Joint Technical Committee ISO/IEC JTC 1, Information Technology, Subcommittee 22, Programming Languages, Their Environments, and System Software Interfaces. Their edition was approved by ISO/IEC on 21 April 1998 and reaffirmed on 6 January 2005 as ISO/IEC 11756:1999, Information Technology—Programming Languages—M. It is the second version of standard MUMPS accepted by ISO/IEC, and it replaced ISO/IEC 11756:1992, Information Technology—Programming Languages—MUMPS to become the current ISO/IEC MUMPS standard. ISO/IEC 11756:1999 is still active and published by ISO/IEC.
MUMPS 1995 was designed and set into type from 1993 to 1994 by John Godfrey of Cornell University, the MDC’s standard editor at the time. He oversaw the significant reorganization and overhaul of MUMPS 1990 required to create MUMPS 1995. He set the document in Ascender’s Arial and Courier New and Word Perfect’s WP Box Drawing and WP Math A, using Word Perfect on Intel machines.
After ANSI adopted MUMPS 1995 as ANSI X11.1-1995, Mr. Godfrey asked for a well deserved retirement from editing the standard, and I volunteered to serve as the MDC's new standard editor for the development of the Millennium Standard. From 1995 to 1999, I developed fifteen incremental versions of the standard, each time adding the newly approved MDC Type A extensions. Unfortunately, my work - and the work of the entire MDC - was cut short in 1999 by a combination of events.
First, during the late 1990s VA pulled its participation from the MTA, the MDC's secretariat organization, and set up a competing annual conference which it scheduled for the same time as the MTA annual meeting three years running, each year shifting the timing of the VA conference to coincide with the MTA conference, even though MTA each year had moved its own conference to try to stay out of the way of the new VA conference.
Second, VA pulled its funding for MDC, arguing that in a year or two VA would have replaced all its MUMPS software with modern, commercial, off the shelf (COTS) replacements, so it no longer had any compelling interest in supporting the future of MUMPS. None of VA's technical experts at the time agreed with that action or the prediction used to justify it, and history has proven it utterly false. It did incalculable damage to the MUMPS community and to VA's own interests without accruing any of the benefits VA upper management had expected from it.
In the short term, pulling the MDC's funding propelled the MDC into an involuntary organizational hibernation, and withdrawing from and competing with MTA drove MTA out of business. Since MTA was MDC's secretariat, that put the MDC into an organizational limbo that contributed directly to ANSI withdrawing the MUMPS standard in 2002. For those of us who understood the importance of the MUMPS standard to VA and so many others, it created a Gordian Knot we've been working for a decade and a half to untie.
Just over a year into that hibernation, in 2001, past MDC chair Ed de Moel offered to finish updating the revised MUMPS Draft Standard to add the remaining MDC Type A Extensions, which resulted in the production of a document very much like what the MDC would have approved as its next standard in 2000. That document remains an important reference for all ongoing MUMPS-standardization work, but it will not be the basis for MUMPS 2015, for reasons I will now explain.
From 2001 to 2006 I was largely distracted by the work involved in launching and running WorldVistA, and my board wasn't interested in re-launching the MDC, so little progress was made on this front. However, I was clear throughout that time, as MDC vice-chair and working with MDC chair Art Smith, that I intended to untie this Gordian Knot and get MUMPS standardization back underway one way or another. Art and I and several other MDC members together explored the legal situation as well as our standardization options.
We also did a post-mortem on MDC's first twenty-six years to evaluate what worked and what didn't. We spent many days discussing the shifts in the MUMPS industry and what that meant for the next MUMPS standard. It became clear that the 1995 suite of standards had been so aggressive as to daunt the MUMPS implementors, none of whom has yet fully implemented the complete 1995 suite. Therefore, the next standard has to be minimalist, aimed at relaxing the portability constraints, fixing bugs, adding a few minor and inevitable syntax improvements, and otherwise mainly focusing on exercising the new organization on an easy upgrade the implementors will accept. This means the draft Millennium Standard Ed de Moel created, which was beautifully done and is an accurate representation of the MDC's intentions as of its last meeting in 1999, cannot be the basis of the next standard, though it will always remain a crucial reference.
Armed with these plans, at the end of 2006 I left WorldVistA to found the VISTA Expertise Network. In 2007 I cut a personal contract to pay Art Smith to resume his MDC chair duties, to assist in the process of designing a new MDC constitution and new procedures we could use for the relaunch. I converted John Godfrey's Word Perfect MDC X11.1-1993 to MS Word format and thence to Open Office. As is usually the case with such format conversions, it was imperfect, so from 2008 to 2010 I stripped his document down to the bones and built it back up using clean, consistent styles, tables, indexes, and so on. This gave us a fourth edition of MUMPS 1995, never to be published, that we are using as the baseline for creating MUMPS 201f.
In the meantime, from 2010 to the present, we've had various people working on scanning in the hard-copy MDC Type A extensions, OCRing them, and cleaning up the scanning errors. Thanks to Jennifer Hackett, Kathy Ice, and Saahithi Madiraju, we now have a clean library of MDC Type A extensions in electronic format, ready to apply to our new Revised MUMPS Draft Standard (RMDS) to incrementally create MUMPS 2015. Out of the 106 extensions the MDC approved, we only have eight left to convert to electronic format, so while these last few are being converted, we're starting work on MUMPS 2015 itself.
Following the advice of our MDC veterans about making the next standard minimally invasive, we've separated out 33 extensions as too invasive for MUMPS 2015, to be postponed for a future MUMPS standard, or in some cases given the shifts in computer science since 1999 to be redone in a different way. 1 turned out to be a policy rather than an extension. 7 turned out to be changes to other MUMPS standards, such as the M Windowing API, Open MUMPS Interconnect, and so on, so they do not apply to the new language standard. And 1, which is yet to be converted, has not yet been triaged to determine whether it can be included. So far, that leaves 64 extensions that are definitely going into MUMPS 2015.
These 64 extensions, which I'll be writing about in the days and weeks ahead, fall into four categories. 48 count as clarifications and corrections, precisely the kinds of things the implementors will appreciate rather than resist. 1 ($REFERENCE) is a promised extension that was intended to be in the 1995 standard; everyone implemented it, but it narrowly missed inclusion due to a procedural rule. 3 extend the portability limits, which all the implementors have already done and which all the programmers want. 12 are what I call inevitable extensions, which make so much sense that (a) most people don't even know they're not standard MUMPS yet, (b) most implementors have already implemented, and (c) the remaining implementors will find easy to implement.
In addition to these 64 extensions, MUMPS 2015 needs to include another 4 extensions that do not yet exist. Generally, I am restricting this standard entirely to extensions the MDC already vetted with its meticulous, Roberts Rules of Order processes. But these 4 extensions are exceptions everyone will understand.
First, the 3 portability extensions approved by MDC raised the limits to numbers that in 1999 felt positively spacious, but computer science has come a long way since 1999; every vendor has implemented more spacious limits than these, and every programmer wants that additional space, so we are going to very, very carefully test out our new MDC processes on the creation of replacement extensions for these three.
Second, all the young Mumpsters insist on lowercase names in MUMPS being portable, and except for implementations on the soon-to-be-defunct VMS operating system, all extant implementations already allow this. So this will be the fourth new extension created for MUMPS 2015.
Third, and finally, all modern computers support more than the ASCII character set, so MUMPS 2015 must also. At a minimum, we must create an extension to support UTF-8, which is pretty much the de facto standard, but we may need to support others as well. We're going to query and work with our veteran MDC internationalization members to come up with the very minimal set needed to come to par with most computers today and leave the advanced work for a future MUMPS standard.
As far as we know at this time, those will be the only new extensions allowed into MUMPS 2015. For a variety of strategic reasons, it is essential that this new MUMPS standard be designed around as few changes as possible, and those overwhelmingly restricted to the MDC's past and already approved work, to focus on continuity from the work in 1999 and on an easy-to-approve and easy-to-implement standard.
With that as background, I'm writing today to let you know that a for-now-anonymous volunteer I trust has agreed to become our new standard editor and to begin the process of applying the selected extensions to the RMDS. Our now standard editor has also agreed to be the new MDC document custodian, so we can resume the careful assignment of document numbers for new MDC documents. Given the enormous amount of work that has gone into getting the MDC to this point, I expect this work to proceed swiftly.
We will regularly update this site with our progress, and we invite community participation, discussion, and review. And we will definitely need the help of previous MDC members in putting together the final five or so new extensions to help create a suitable MUMPS 2015.
Frederick D. S. "Rick" Marshall, VISTA Expertise Network, 819 North 49th Street, Suite 203, Seattle, Washington 98103, (206) 465-5765, rick dot marshall at vistaexpertise dot net
"The hidden harmony is best." - Heraclitus of Ephesus