On M Standardization
It may or may not be known to most readers that FreeM has been involved in an on-again, off-again relationship with the current incarnation of the M Development Committee, the organization that presently owns the intellectual properties involved in previous M standards, such as those released in 1977, 1984, 1990, and 1995, variously under the aegis of ANSI and/or ISO.
This organization has been promising a new standard on which the M developer, implementer, and user community could hang its hat as we move into the future. The timing of these efforts is, in our opinion, critical: M faces routine smears to the effect that it is a stagnant, legacy language, from which responsible enterprise IT organizations should have a well-defined migration path, and which suffers from a lack of features necessary for the development of modern and future-proof applications. A new and bold standard, along with implementers willing to take risks in creating new markets for the language, is, in our opinion, of vital importance.
It is our considered opinion that the path forward for M in its role as not just a high-throughput “NoSQL” database, but as a language which couples its highly-capable database with a powerful and expressive language, is to make bold moves—even those which may break direct compatibility with its legacy implementations—in both its official standards and its implementations.
M's community is small but boasts of pockets of deeply dedicated engineers whose passion for the language and the unique power of its tight coupling to a powerful database cannot be overstated. However, its standards organization is, in our opinion, selling it short in many critical ways that we will uncover and explore further here:
First, MDC leadership consists of appointed, non-elected members of a well-known M consulting organization. In addition to the more obvious potential for conflicts of interest, the leadership has routinely conducted large portions of its work in subterfuge, producing decisions by executive fiat and with no community input that set critical aspects of the organization's posture and direction from an ivory tower to which the community has very limited and curated access. It has been routinely promised that a future phase of standards development would open up the organization to community inputs, but given the inertia of the current phase and the critical decisions taken during its execution, the ability of the community to redirect the organization in an agile and democratic fashion is deeply curtailed. Statements like “the next standard will do X” have routinely been made, indicating that elements of the next standard have been predetermined, immune to any community feedback.
Second, it has been stated that the organization would have an executive board appointed by the current leadership, prior to opening the organization up to community input. Though this proposed board has been promised to be one that simply keeps the organization on a productive track, it is well-known to most adults that such broad powers, once given, are rarely returned, and the potential for corruption is vast. Also, the definition for what the correct track is was made without community input. Such a small and tight-knit community deserves far greater influence over the formation of a standard and governance of a standards organization to which it will be beholden, especially in the formative stages of the organization's reconstitution.
Third, this proposed new standard has been promised and under intermittent development for at least the past twelve years. When the tight and closed nucleus of its leadership becomes distracted by other obligations, mostly pursuant to its parent organization's commercial consulting interests and projects, the standards process sees long periods of stagnation and inactivity, after which the next effort will often redefine critical aspects of its organizational priorities, again without significant community input. Aside from this closed and undemocratic leadership nucleus, there is no provision for the community to continue the progress of standardization, and the community must simply wait for the leadership to return to the work, as the documents critical to the progress of this process are kept under the tightly-curated control of the organization's leadership.
Fourth, we must consider the Osborne effect: by taking hostage the standardization process, the MDC sends a message to current members of the community that what they currently have (the 1995 edition of the standard) isn't good enough, and to M implementers and their customers that innovations they introduce in the intervening period may be rendered obsolete by standards that may broadly change the syntax and/or semantics of such language innovations. This is a chilling effect, and one for which the community must hold the MDC directly responsible.
What, then, is an alternative way forward?
As a community, we should demand better. We should demand a share of standardization power equal to the power of MDC leadership. We should demand fair and free elections of MDC leaders, both before and after the organizational direction is set. We should demand a new, bold, and innovative standard.
M can shine on its own merits. Let's move forward and make them obvious to the rest of the world, free of bureaucratic corruption and undemocratic organizational stagnation.
Let's move forward.