Skip to content


Repository files navigation

The OpenMath Standard (Development draft)

This repository contains the sources and build system for the OpenMath 2 standard. All development on OpenMath 2 and subsequent standards are channelled trough this repository. Previous versions of the OpenMath Standard can be found on the OpenMath Website.

We use the GitHub functionalities to openly and transparently develop the OpenMath Standard. The main development happens on the master branch, features and new versions will be carried out on various branches.

Automated Installation to the OpenMath Web Site

The Editor's Draft

The HTML and PDF versions of the standard are automatically built (by travis) from the DocBook source whenever the master branch is pushed to this repository. They are available as an "editor's draft" on the OpenMath Web Site.

The Normative OpenMath Standard

If a commit with message starting with [ci final] is pushed, then a non-editors draft is built and the website is update in the standard directory (currently standard/om20-2019-07-01). It will be available as "OpenMath" on the OpenMath Web Site.

If you want to commit without forcing Travis to rebuild, add [ci skip] to your commit message.

Making a new Standard Revision available on

Normally, we already have an editor's draft for this (see above).

  1. In the OpenMath Website Repository make a new subdirectory with the ISO-date of the OpenMath Standard Revision. Best by copying over the one for the current directory.
  2. In the run script, change TARGET=om20-2019-07-01 to the release date (it must match with the subdirectory date on the web site under 1.)
  3. commit with [ci final] and push (see above).

Building locally

The repository is organized as follows:

  • omstd20.xml is the main text file of the standard it is in docbook xml
  • *.ocd, *.cdg, *.sts examples of CDs, CD groups, and signatures used in the standard
  • *.rnc, the normative RelaxNG schemata shown in the standard
  • png, images in the standard
  • .travis.yml, run, support, openmath.cls, and xsl, the build system.

To build it, just run source ./run on top-level. If you have trang.jar and saxon-he.jar installed (support/install-jars does that for you), this should build the standard for you.

To make a final draft use ./run final rather than ./run .

Contributing to the Standard Development

We use the GitHub functionalities to openly and transparently develop the OpenMath Standard.

Issue Discussions

We use the GitHub Issue Tracker to discuss open issues with the standard. This ensures that all concerns are dealt with properly and the current state of the discussion is documented. Note that there are a lot of issues left over from a previous discussion, which may still be relevant.

Making a Pull Request

The best way of proposing changes to the standard development is by making a pull request. In a nutshell

  • fork this repository to your personal namespace (using the "Fork" button on the top left the repository page
  • Make any changes in your local fork, test them by building locally, commit them to your fork, and make a new pull request via the "New pull request" button under the magenta bar (second from left). Make sure that you explain your proposed changes.
  • discuss (and possibly augment) the pull request from the interface in the OpenMath/OMSTD repository.

Version History

The repository was initialised as copy of the original version in the OpenMath SVN repository, specifically www/standard/om20-2004-06-30. It has been updated with a draft version which had been prepared as dropbox om-2017-03-17. All subsequent version history can be found in this directory.

The development history of the OpenMath standard before that time has been retained as part of the repository


The OpenMath Standard (starting with OpenMath 2)






No releases published


No packages published