FixSpec Launch FinSpec Schema 1.0

Imported from previous forum

FixSpec is pleased to announce version 1.0 of it’s multi-protocol, machine readable specification format - the FinSpec schema. Launched in January 2016, the open source schema has had time to mature, and reaching the 1.0 milestone is an indication that we now consider the schema to be production-ready.

FinSpec specifications are documented as validated yet extensible JSON, and capture protocol and author metadata, message and field dictionaries, and object workflow transitions. A core design goal is that the schema is - and will remain - protocol-neutral, accommodating all tag-value (eg FIX), offset-based (eg ITCH) and object-based (eg SDK interactions) protocols.

Full documentation on the schema can be found at http://finspec.io, with all code and examples available at https://github.com/finspec/finspec-spec. This is an open source project, so we welcome EVERYBODY interested in getting involved to help evolve the schema.

P.S. Since we are posting this in a FIX Trading Community forum, you may wonder how this sits alongside the recently announced FIX Orchestra / Repository developments.

The simple answer is that if your focus is purely FIX, then the comparison is like choosing between a Mac or PC - you may have a personal bias or experience, but they fundamentally do similar things. FixSpec welcomes the arrival of FIX Orchestra as another driver towards electronification of specs. Multiple formats can (and do) sustainably co-exist in many areas of technology today, with their technical details hidden from users by the software used to create or process them, and we see no reason for this not to also exist in respect of these formats too.

I always appreciate how each year right before the FIX EMEA Conference Chris publishes his announcement regarding Finspec as an open standard. Tomorrow we will be talking about FIX Orchestra, the FIX open standard that supports the choreography and machine readable rules of engagement for any protocol (we tested it out for Ouch and Itch (proprietary protocols) and JSON.

A tale of human nature and dynamics

Two years ago when a couple of key contributors to the FIX Simple Binary Encoding complained about openness of the FIX process, Hanno Klein, GTC Co-chair, and I went to the FIX Global Steering Committee and pushed to have our technical standards opened up so that anyone could participate, even if they weren’t a FIX member. The same folks complained that the freely accessible FIX website was “too closed” so we moved all of our technical standards development to GitHub. See: https://github.com/FIXTradingCommunity/fix-orchestra and https://github.com/FIXTradingCommunity/fix-simple-binary-encoding for examples. Our argument to the GSC at the time that remains valid is that if you want to protect the value of the FIX standard, open it up. Don’t put up membership or paywalls. Let’s take the risk and see what openness bring us. The good news is that many people were empowered to participate. We had new contributors bring in our JSON encoding standard: https://github.com/FIXTradingCommunity/fix-json-encoding-spec (Thanks Mike Gatny over at Connamara Systems! and Krishna Tharnoju of Credit Suisse for your leadership).

FIX Orchestra Release Candidate 1 has been available for several months. We tested it with Itch and Ouch in one of our trials. We also used FIX Orchestra for part of the work on the protocol for the ANNA Derivative Services Bureau, which uses JSON encoding. Release Candidate 2 has a rich expression language, for which the grammar is being made available under Apache 2.0 license to the industry in order to enable all market participants to readily adopt the technology.

The good news of all this is that FIX is a wildly successful protocol despite it being under specified. At least now, twenty plus years on, there is more than one way to specify a machine readable specification.

As an aside. It is quite interesting human nature. The main person complaining about FIX not being open when it came to the Simple Binary Encoding does not participate in the process and continues to complain about the lack of openness, despite FIX technical standards being by far the most open standards process of any I have come across. You don’t need to be a member to contribute. The technical standards are fully accessible on GitHub without the need to register. This person is still able to send feature requests and guide the process for SBE, despite his unwillingness to participate as a member of the group. What are you going to do…

I invite you to join us in the development and deployment of FIX Orchestra, an open standard for the specification, at an advanced level, of protocols, not limited to finance, and certainly not limited to FIX. You will be glad you did.

Jim, the key word in your reply is “an”… Finspec as AN open standard - I’m neither suggesting that it is the ONLY open standard, or suggesting that FIX Orchestra is somehow closed.

As for human nature, do you think your reply makes me more or less likely to contribute my experience to FIX Orchestra?

Thanks Chris - see you tomorrow! Well I was hoping it would give some time for self reflection.